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


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

Inheritance diagram for A\+C\+G\+:\+:Scene\+Graph\+:\+:Light\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00766}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00766_ac5734042ea5000db901cf64471016966}{\hyperlink{a00766_ac5734042ea5000db901cf64471016966}{Light\+Node} (\hyperlink{a00327}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Light\+Node$>$\char`\"{})}\label{a00766_ac5734042ea5000db901cf64471016966}

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

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\hypertarget{a00766_afa70c46ea50617a7afd7a82548fb57e7}{void \hyperlink{a00766_afa70c46ea50617a7afd7a82548fb57e7}{set\+Light\+Source} (\hyperlink{a00769}{Light\+Source} \+\_\+light)}\label{a00766_afa70c46ea50617a7afd7a82548fb57e7}

\begin{DoxyCompactList}\small\item\em Set the light source parameters. \end{DoxyCompactList}\item 
\hypertarget{a00766_a6564ea7201d2ec843e53489a1aec6d9b}{void \hyperlink{a00766_a6564ea7201d2ec843e53489a1aec6d9b}{get\+Light\+Source} (\hyperlink{a00769}{Light\+Source} $\ast$\+\_\+light) const }\label{a00766_a6564ea7201d2ec843e53489a1aec6d9b}

\begin{DoxyCompactList}\small\item\em Get the light source parameters. \end{DoxyCompactList}\item 
void \hyperlink{a00766_a1697dcdf6d68449a32fa11fc9fec52a9}{get\+Light\+Source\+View\+Space} (\hyperlink{a00769}{Light\+Source} $\ast$\+\_\+light) const 
\item 
\hypertarget{a00766_ae4ce0434279fdef3e809fa522ab10ca9}{{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+M\+E} (\hyperlink{a00766}{Light\+Node})}\label{a00766_ae4ce0434279fdef3e809fa522ab10ca9}

\item 
\hypertarget{a00766_add4d3054343ce657952ac97dc4f26f9f}{void \hyperlink{a00766_add4d3054343ce657952ac97dc4f26f9f}{bounding\+Box} (\hyperlink{a01409}{A\+C\+G\+::\+Vec3d} \&, \hyperlink{a01409}{A\+C\+G\+::\+Vec3d} \&)}\label{a00766_add4d3054343ce657952ac97dc4f26f9f}

\begin{DoxyCompactList}\small\item\em Get bounding box (for visualization purposes) \end{DoxyCompactList}\item 
void \hyperlink{a00766_aa4d25ef71cc21189ac3d270494663437}{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{a00766_a5d1d6a91a241d4d08b8ec5f26fb51fb0}{void \hyperlink{a00766_a5d1d6a91a241d4d08b8ec5f26fb51fb0}{leave} (\hyperlink{a00643}{G\+L\+State} \&\+\_\+state, const \hyperlink{a00509}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)}\label{a00766_a5d1d6a91a241d4d08b8ec5f26fb51fb0}

\begin{DoxyCompactList}\small\item\em restores original Light Sources \end{DoxyCompactList}\item 
\hypertarget{a00766_a6f68fe13a1f333219a15c4067e73278e}{void \hyperlink{a00766_a6f68fe13a1f333219a15c4067e73278e}{draw} (\hyperlink{a00643}{G\+L\+State} \&\+\_\+state, const \hyperlink{a00509}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)}\label{a00766_a6f68fe13a1f333219a15c4067e73278e}

\begin{DoxyCompactList}\small\item\em Draw light source node. \end{DoxyCompactList}\item 
\hypertarget{a00766_a276d72d38831499f3382490c13347028}{void \hyperlink{a00766_a276d72d38831499f3382490c13347028}{pick} (\hyperlink{a00643}{G\+L\+State} \&\+\_\+state, \hyperlink{a03343_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target)}\label{a00766_a276d72d38831499f3382490c13347028}

\begin{DoxyCompactList}\small\item\em Picking. \end{DoxyCompactList}\item 
\hypertarget{a00766_aaa0008ea06b16136910a8d00fecdc709}{bool \hyperlink{a00766_aaa0008ea06b16136910a8d00fecdc709}{visualize} ()}\label{a00766_aaa0008ea06b16136910a8d00fecdc709}

\begin{DoxyCompactList}\small\item\em Should node be visualized? \end{DoxyCompactList}\item 
\hypertarget{a00766_ac5865d32c35d3fd419502c20fee86bad}{void \hyperlink{a00766_ac5865d32c35d3fd419502c20fee86bad}{visualize} (bool \+\_\+visualize)}\label{a00766_ac5865d32c35d3fd419502c20fee86bad}

\begin{DoxyCompactList}\small\item\em Set whether node should be visualized. \end{DoxyCompactList}\item 
\hypertarget{a00766_a485a9b0708daabf420113a45f39dffe6}{void \hyperlink{a00766_a485a9b0708daabf420113a45f39dffe6}{get\+Render\+Objects} (\hyperlink{a00738}{I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a00643}{G\+L\+State} \&\+\_\+state, const \hyperlink{a00509}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{a00789}{Material} $\ast$\+\_\+mat)}\label{a00766_a485a9b0708daabf420113a45f39dffe6}

\begin{DoxyCompactList}\small\item\em Add this light to shader render interface. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00766_a2764e6792495ba8a047b83e122df0b01}{void \hyperlink{a00766_a2764e6792495ba8a047b83e122df0b01}{set\+Parameters} (G\+Lenum \+\_\+index, \hyperlink{a00769}{Light\+Source} \&\+\_\+light)}\label{a00766_a2764e6792495ba8a047b83e122df0b01}

\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{a00766_a3963e4dbcb7a00405adc239ac30817f4}{void \hyperlink{a00766_a3963e4dbcb7a00405adc239ac30817f4}{get\+Parameters} (G\+Lenum \+\_\+index, \hyperlink{a00769}{Light\+Source} \&\+\_\+light)}\label{a00766_a3963e4dbcb7a00405adc239ac30817f4}

\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{a00766_a6f0636704d607bdb12333edebf1e9988}{\hyperlink{a00769}{Light\+Source} \hyperlink{a00766_a6f0636704d607bdb12333edebf1e9988}{light\+\_\+}}\label{a00766_a6f0636704d607bdb12333edebf1e9988}

\begin{DoxyCompactList}\small\item\em store Light\+Sources of this node \end{DoxyCompactList}\item 
\hypertarget{a00766_a2d9cc7abfb6bcf66a67c2a174269fa71}{\hyperlink{a00769}{Light\+Source} \hyperlink{a00766_a2d9cc7abfb6bcf66a67c2a174269fa71}{transformed\+Light\+\_\+}}\label{a00766_a2d9cc7abfb6bcf66a67c2a174269fa71}

\begin{DoxyCompactList}\small\item\em pretransformed light position and direction in view space \end{DoxyCompactList}\item 
\hypertarget{a00766_a15e4960cce58827199d4d06c32ab0e8c}{\hyperlink{a00769}{Light\+Source} \hyperlink{a00766_a15e4960cce58827199d4d06c32ab0e8c}{light\+Save\+\_\+}}\label{a00766_a15e4960cce58827199d4d06c32ab0e8c}

\begin{DoxyCompactList}\small\item\em save old Light\+Sources \end{DoxyCompactList}\item 
\hypertarget{a00766_a0085a1915a2fb26d0d9c71d72d6f5bc3}{bool \hyperlink{a00766_a0085a1915a2fb26d0d9c71d72d6f5bc3}{visualize\+\_\+}}\label{a00766_a0085a1915a2fb26d0d9c71d72d6f5bc3}

\begin{DoxyCompactList}\small\item\em Indicates whether light node should be visualized or not. \end{DoxyCompactList}\item 
\hypertarget{a00766_ae780eefea110ca92e30e078128f2255f}{G\+Lenum \hyperlink{a00766_ae780eefea110ca92e30e078128f2255f}{light\+Id\+\_\+}}\label{a00766_ae780eefea110ca92e30e078128f2255f}

\begin{DoxyCompactList}\small\item\em Internal light id. \end{DoxyCompactList}\item 
\hypertarget{a00766_aee09887930a68118e944e82e69195513}{\hyperlink{a00632}{A\+C\+G\+::\+G\+L\+Cone} $\ast$ {\bfseries cone\+\_\+}}\label{a00766_aee09887930a68118e944e82e69195513}

\item 
\hypertarget{a00766_a39db4ab370f9ff889bdea103604459e1}{\hyperlink{a00641}{A\+C\+G\+::\+G\+L\+Sphere} $\ast$ {\bfseries sphere\+\_\+}}\label{a00766_a39db4ab370f9ff889bdea103604459e1}

\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{a00766_aa4d25ef71cc21189ac3d270494663437}{enter()} method undone in the \hyperlink{a00766_a5d1d6a91a241d4d08b8ec5f26fb51fb0}{leave()} method. 

Definition at line 255 of file Light\+Node.\+hh.



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


set current Light Sources 

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

Definition at line 508 of file Light\+Node.\+cc.

\hypertarget{a00766_a1697dcdf6d68449a32fa11fc9fec52a9}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Node}!get\+Light\+Source\+View\+Space@{get\+Light\+Source\+View\+Space}}
\index{get\+Light\+Source\+View\+Space@{get\+Light\+Source\+View\+Space}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Node}}
\subsubsection[{get\+Light\+Source\+View\+Space}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Node\+::get\+Light\+Source\+View\+Space (
\begin{DoxyParamCaption}
\item[{{\bf Light\+Source} $\ast$}]{\+\_\+light}
\end{DoxyParamCaption}
) const}}\label{a00766_a1697dcdf6d68449a32fa11fc9fec52a9}
Get transformed light source parameters where position and direction are in view space 

Definition at line 266 of file Light\+Node.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Object\+Types/\+Light/Light\+Node.\+hh\item 
Object\+Types/\+Light/Light\+Node.\+cc\end{DoxyCompactItemize}
