\hypertarget{a00771}{\section{A\+C\+G\+:\+:Scene\+Graph\+:\+:Light\+Source\+Node Class Reference}
\label{a00771}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+Node}}
}


{\ttfamily \#include $<$A\+C\+G/\+Scenegraph/\+Light\+Source\+Node.\+hh$>$}

Inheritance diagram for A\+C\+G\+:\+:Scene\+Graph\+:\+:Light\+Source\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00771}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a00768}{Light\+Source}
\begin{DoxyCompactList}\small\item\em Structure to hold options for one \hyperlink{a00768}{Light\+Source}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00771_a9afb745e2ed5770dcb4ce4a7a1e1485c}{\hyperlink{a00771_a9afb745e2ed5770dcb4ce4a7a1e1485c}{Light\+Source\+Node} (\hyperlink{a00327}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Light\+Source\+Node$>$\char`\"{})}\label{a00771_a9afb745e2ed5770dcb4ce4a7a1e1485c}

\begin{DoxyCompactList}\small\item\em Default constructor. Applies all properties. \end{DoxyCompactList}\item 
\hypertarget{a00771_a9e3738c325f78eb2432151cf9c15c504}{virtual \hyperlink{a00771_a9e3738c325f78eb2432151cf9c15c504}{$\sim$\+Light\+Source\+Node} ()}\label{a00771_a9e3738c325f78eb2432151cf9c15c504}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\hypertarget{a00771_af876b1d015fd6c270dbbe5623db1b514}{{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+M\+E} (\hyperlink{a00771}{Light\+Source\+Node})}\label{a00771_af876b1d015fd6c270dbbe5623db1b514}

\item 
void \hyperlink{a00771_a521fc669112416f98d9451c69b0e0c6a}{enter} (\hyperlink{a00643}{G\+L\+State} \&\+\_\+state, const \hyperlink{a00509}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\begin{DoxyCompactList}\small\item\em set current Light Sources \end{DoxyCompactList}\item 
\hypertarget{a00771_ae981cf704f67a0db862b665102805289}{void \hyperlink{a00771_ae981cf704f67a0db862b665102805289}{leave} (\hyperlink{a00643}{G\+L\+State} \&\+\_\+state, const \hyperlink{a00509}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)}\label{a00771_ae981cf704f67a0db862b665102805289}

\begin{DoxyCompactList}\small\item\em restores original Light Sources \end{DoxyCompactList}\item 
\hypertarget{a00771_ac9a1ac903fcfbadfb4c33551aef60375}{void \hyperlink{a00771_ac9a1ac903fcfbadfb4c33551aef60375}{enable} (G\+Lenum \+\_\+nr)}\label{a00771_ac9a1ac903fcfbadfb4c33551aef60375}

\begin{DoxyCompactList}\small\item\em enable \hyperlink{a00768}{Light\+Source} \+\_\+nr \end{DoxyCompactList}\item 
\hypertarget{a00771_af07a6f656866fd445f0aca2177c6f4dd}{void \hyperlink{a00771_af07a6f656866fd445f0aca2177c6f4dd}{disable} (G\+Lenum \+\_\+nr)}\label{a00771_af07a6f656866fd445f0aca2177c6f4dd}

\begin{DoxyCompactList}\small\item\em disable \hyperlink{a00768}{Light\+Source} \+\_\+nr \end{DoxyCompactList}\item 
\hypertarget{a00771_aae437d1669e93b39de39e88b047cd8f7}{void \hyperlink{a00771_aae437d1669e93b39de39e88b047cd8f7}{set\+\_\+position} (G\+Lenum \+\_\+nr, \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \+\_\+pos)}\label{a00771_aae437d1669e93b39de39e88b047cd8f7}

\begin{DoxyCompactList}\small\item\em set position ( \+\_\+pos = 1) or direction ( \+\_\+pos = 0) of \hyperlink{a00768}{Light\+Source} \end{DoxyCompactList}\item 
\hypertarget{a00771_a7627902e39d04a3bb01cb73087acb48e}{void \hyperlink{a00771_a7627902e39d04a3bb01cb73087acb48e}{set\+\_\+position} (G\+Lenum \+\_\+nr, \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \+\_\+pos)}\label{a00771_a7627902e39d04a3bb01cb73087acb48e}

\begin{DoxyCompactList}\small\item\em set position for Point-\/\+Light\+Source \end{DoxyCompactList}\item 
\hypertarget{a00771_a20a3d3544dcc7cf5c2b49d6db5d8b805}{void \hyperlink{a00771_a20a3d3544dcc7cf5c2b49d6db5d8b805}{set\+\_\+direction} (G\+Lenum \+\_\+nr, \hyperlink{a03336_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \+\_\+pos)}\label{a00771_a20a3d3544dcc7cf5c2b49d6db5d8b805}

\begin{DoxyCompactList}\small\item\em set direction for directional \hyperlink{a00768}{Light\+Source} \end{DoxyCompactList}\item 
\hypertarget{a00771_a57c33d302de0c0c40d1b93b4f70e9235}{void \hyperlink{a00771_a57c33d302de0c0c40d1b93b4f70e9235}{set\+\_\+ambient\+\_\+color} (G\+Lenum \+\_\+nr, \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \+\_\+color)}\label{a00771_a57c33d302de0c0c40d1b93b4f70e9235}

\begin{DoxyCompactList}\small\item\em set Ambient color for \hyperlink{a00768}{Light\+Source} \+\_\+nr \end{DoxyCompactList}\item 
\hypertarget{a00771_a7b7b10843463e8035f97bb01fe6632e7}{void \hyperlink{a00771_a7b7b10843463e8035f97bb01fe6632e7}{set\+\_\+diffuse\+\_\+color} (G\+Lenum \+\_\+nr, \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \+\_\+color)}\label{a00771_a7b7b10843463e8035f97bb01fe6632e7}

\begin{DoxyCompactList}\small\item\em set Diffuse color for \hyperlink{a00768}{Light\+Source} \+\_\+nr \end{DoxyCompactList}\item 
\hypertarget{a00771_aeeb81d2d542827fa3ca149b393ab2320}{void \hyperlink{a00771_aeeb81d2d542827fa3ca149b393ab2320}{set\+\_\+specular\+\_\+color} (G\+Lenum \+\_\+nr, \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \+\_\+color)}\label{a00771_aeeb81d2d542827fa3ca149b393ab2320}

\begin{DoxyCompactList}\small\item\em set Specular color for \hyperlink{a00768}{Light\+Source} \+\_\+nr \end{DoxyCompactList}\item 
\hypertarget{a00771_ad6dca89fa2a7b888aa1e7a3a6c0b2a91}{void \hyperlink{a00771_ad6dca89fa2a7b888aa1e7a3a6c0b2a91}{fixed\+\_\+position} (G\+Lenum \+\_\+nr, bool \+\_\+state)}\label{a00771_ad6dca89fa2a7b888aa1e7a3a6c0b2a91}

\begin{DoxyCompactList}\small\item\em make \hyperlink{a00768}{Light\+Source} fixed or moveable with Model\+View\+Matrix \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00771_aeaf66bf6d9b297995b7cd9191cbfef28}{int \hyperlink{a00771_aeaf66bf6d9b297995b7cd9191cbfef28}{gl2index} (G\+Lenum \+\_\+nr)}\label{a00771_aeaf66bf6d9b297995b7cd9191cbfef28}

\begin{DoxyCompactList}\small\item\em return index in vector for G\+L\+\_\+\+L\+I\+G\+H\+T$\ast$ \end{DoxyCompactList}\item 
\hypertarget{a00771_a95bee8f67eb798d322d58cf2823f9d52}{G\+Lenum \hyperlink{a00771_a95bee8f67eb798d322d58cf2823f9d52}{index2gl} (int \+\_\+nr)}\label{a00771_a95bee8f67eb798d322d58cf2823f9d52}

\begin{DoxyCompactList}\small\item\em return G\+L\+\_\+\+L\+I\+G\+H\+T$\ast$ for light \+\_\+nr \end{DoxyCompactList}\item 
\hypertarget{a00771_ae5c6fe6751834244efb1064a8f967724}{void \hyperlink{a00771_ae5c6fe6751834244efb1064a8f967724}{set\+\_\+parameters} (G\+Lenum \+\_\+index, \hyperlink{a00768}{Light\+Source} \&\+\_\+light)}\label{a00771_ae5c6fe6751834244efb1064a8f967724}

\begin{DoxyCompactList}\small\item\em set \+\_\+light Options in Open\+G\+L for G\+L\+\_\+\+L\+I\+G\+H\+T\+::\+\_\+index \end{DoxyCompactList}\item 
\hypertarget{a00771_a954fdbd15654d4bd47258f8bccb12d1e}{void \hyperlink{a00771_a954fdbd15654d4bd47258f8bccb12d1e}{get\+\_\+parameters} (G\+Lenum \+\_\+index, \hyperlink{a00768}{Light\+Source} \&\+\_\+light)}\label{a00771_a954fdbd15654d4bd47258f8bccb12d1e}

\begin{DoxyCompactList}\small\item\em get \+\_\+light Options in Open\+G\+L for G\+L\+\_\+\+L\+I\+G\+H\+T\+::\+\_\+index \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00771_aa34df03a09086af1bd67e474ced1dcfa}{std\+::vector$<$ \hyperlink{a00768}{Light\+Source} $>$ \hyperlink{a00771_aa34df03a09086af1bd67e474ced1dcfa}{lights\+\_\+}}\label{a00771_aa34df03a09086af1bd67e474ced1dcfa}

\begin{DoxyCompactList}\small\item\em store Light\+Sources of this node \end{DoxyCompactList}\item 
\hypertarget{a00771_af1a4da2a87297df9514d40952f8e84e7}{std\+::vector$<$ \hyperlink{a00768}{Light\+Source} $>$ \hyperlink{a00771_af1a4da2a87297df9514d40952f8e84e7}{lights\+Save\+\_\+}}\label{a00771_af1a4da2a87297df9514d40952f8e84e7}

\begin{DoxyCompactList}\small\item\em save old Light\+Sources \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Set Light\+Sources (0 to 7) for this node and all its children. All changes will be done in the \hyperlink{a00771_a521fc669112416f98d9451c69b0e0c6a}{enter()} method undone in the \hyperlink{a00771_ae981cf704f67a0db862b665102805289}{leave()} method. 

Definition at line 91 of file Light\+Source\+Node.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00771_a521fc669112416f98d9451c69b0e0c6a}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+Node}!enter@{enter}}
\index{enter@{enter}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+Node}}
\subsubsection[{enter}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+Node\+::enter (
\begin{DoxyParamCaption}
\item[{{\bf G\+L\+State} \&}]{\+\_\+state, }
\item[{const {\bf Draw\+Modes\+::\+Draw\+Mode} \&}]{\+\_\+drawmode}
\end{DoxyParamCaption}
)}}\label{a00771_a521fc669112416f98d9451c69b0e0c6a}


set current Light Sources 

transfer G\+L-\/preferences to lights\+Save\+\_\+ 

Definition at line 87 of file Light\+Source\+Node.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
A\+C\+G/\+Scenegraph/Light\+Source\+Node.\+hh\item 
A\+C\+G/\+Scenegraph/Light\+Source\+Node.\+cc\end{DoxyCompactItemize}
