\hypertarget{a11320}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Light\+Node Class Reference}
\label{a11320}\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\+CG\+:\+:Scene\+Graph\+:\+:Light\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a11320}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11320_ac5734042ea5000db901cf64471016966}\label{a11320_ac5734042ea5000db901cf64471016966}} 
\hyperlink{a11320_ac5734042ea5000db901cf64471016966}{Light\+Node} (\hyperlink{a07748}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Light\+Node$>$\char`\"{})
\begin{DoxyCompactList}\small\item\em Default constructor. Applies all properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_abb772198f6bb52df3216ad6a20fdce07}\label{a11320_abb772198f6bb52df3216ad6a20fdce07}} 
virtual \hyperlink{a11320_abb772198f6bb52df3216ad6a20fdce07}{$\sim$\+Light\+Node} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_afa70c46ea50617a7afd7a82548fb57e7}\label{a11320_afa70c46ea50617a7afd7a82548fb57e7}} 
void \hyperlink{a11320_afa70c46ea50617a7afd7a82548fb57e7}{set\+Light\+Source} (\hyperlink{a11316}{Light\+Source} \+\_\+light)
\begin{DoxyCompactList}\small\item\em Set the light source parameters. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a5dbae24261a7578ca3369034b2c89092}\label{a11320_a5dbae24261a7578ca3369034b2c89092}} 
void \hyperlink{a11320_a5dbae24261a7578ca3369034b2c89092}{get\+Light\+Source} (\hyperlink{a11316}{Light\+Source} $\ast$\+\_\+light) const
\begin{DoxyCompactList}\small\item\em Get the light source parameters. \end{DoxyCompactList}\item 
void \hyperlink{a11320_ae0bef24da4fe2640898c52e6d9d43220}{get\+Light\+Source\+View\+Space} (\hyperlink{a11316}{Light\+Source} $\ast$\+\_\+light) const
\item 
\mbox{\Hypertarget{a11320_ae4ce0434279fdef3e809fa522ab10ca9}\label{a11320_ae4ce0434279fdef3e809fa522ab10ca9}} 
{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{a11320}{Light\+Node})
\item 
\mbox{\Hypertarget{a11320_add4d3054343ce657952ac97dc4f26f9f}\label{a11320_add4d3054343ce657952ac97dc4f26f9f}} 
void \hyperlink{a11320_add4d3054343ce657952ac97dc4f26f9f}{bounding\+Box} (\hyperlink{a08448}{A\+C\+G\+::\+Vec3d} \&, \hyperlink{a08448}{A\+C\+G\+::\+Vec3d} \&)
\begin{DoxyCompactList}\small\item\em Get bounding box (for visualization purposes) \end{DoxyCompactList}\item 
void \hyperlink{a11320_aa4d25ef71cc21189ac3d270494663437}{enter} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\begin{DoxyCompactList}\small\item\em set current Light Sources \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a5d1d6a91a241d4d08b8ec5f26fb51fb0}\label{a11320_a5d1d6a91a241d4d08b8ec5f26fb51fb0}} 
void \hyperlink{a11320_a5d1d6a91a241d4d08b8ec5f26fb51fb0}{leave} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\begin{DoxyCompactList}\small\item\em restores original Light Sources \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a6f68fe13a1f333219a15c4067e73278e}\label{a11320_a6f68fe13a1f333219a15c4067e73278e}} 
void \hyperlink{a11320_a6f68fe13a1f333219a15c4067e73278e}{draw} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em Draw light source node. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a276d72d38831499f3382490c13347028}\label{a11320_a276d72d38831499f3382490c13347028}} 
void \hyperlink{a11320_a276d72d38831499f3382490c13347028}{pick} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, \hyperlink{a06177_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target)
\begin{DoxyCompactList}\small\item\em Picking. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_aaa0008ea06b16136910a8d00fecdc709}\label{a11320_aaa0008ea06b16136910a8d00fecdc709}} 
bool \hyperlink{a11320_aaa0008ea06b16136910a8d00fecdc709}{visualize} ()
\begin{DoxyCompactList}\small\item\em Should node be visualized? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_ac5865d32c35d3fd419502c20fee86bad}\label{a11320_ac5865d32c35d3fd419502c20fee86bad}} 
void \hyperlink{a11320_ac5865d32c35d3fd419502c20fee86bad}{visualize} (bool \+\_\+visualize)
\begin{DoxyCompactList}\small\item\em Set whether node should be visualized. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a485a9b0708daabf420113a45f39dffe6}\label{a11320_a485a9b0708daabf420113a45f39dffe6}} 
void \hyperlink{a11320_a485a9b0708daabf420113a45f39dffe6}{get\+Render\+Objects} (\hyperlink{a07468}{I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{a07828}{Material} $\ast$\+\_\+mat)
\begin{DoxyCompactList}\small\item\em Add this light to shader render interface. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11320_aed285a82cf7f761b878231b922b7596b}\label{a11320_aed285a82cf7f761b878231b922b7596b}} 
void \hyperlink{a11320_aed285a82cf7f761b878231b922b7596b}{set\+Parameters} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, G\+Lenum \+\_\+index, \hyperlink{a11316}{Light\+Source} \&\+\_\+light)
\begin{DoxyCompactList}\small\item\em set \+\_\+light Options in Open\+GL for G\+L\+\_\+\+L\+I\+G\+H\+T\+::\+\_\+index \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a28f6ea03a93c3eab609ffece0048b47d}\label{a11320_a28f6ea03a93c3eab609ffece0048b47d}} 
void \hyperlink{a11320_a28f6ea03a93c3eab609ffece0048b47d}{get\+Parameters} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, G\+Lenum \+\_\+index, \hyperlink{a11316}{Light\+Source} \&\+\_\+light)
\begin{DoxyCompactList}\small\item\em get \+\_\+light Options in Open\+GL for G\+L\+\_\+\+L\+I\+G\+H\+T\+::\+\_\+index \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11320_a6f0636704d607bdb12333edebf1e9988}\label{a11320_a6f0636704d607bdb12333edebf1e9988}} 
\hyperlink{a11316}{Light\+Source} \hyperlink{a11320_a6f0636704d607bdb12333edebf1e9988}{light\+\_\+}
\begin{DoxyCompactList}\small\item\em store Light\+Sources of this node \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a2d9cc7abfb6bcf66a67c2a174269fa71}\label{a11320_a2d9cc7abfb6bcf66a67c2a174269fa71}} 
\hyperlink{a11316}{Light\+Source} \hyperlink{a11320_a2d9cc7abfb6bcf66a67c2a174269fa71}{transformed\+Light\+\_\+}
\begin{DoxyCompactList}\small\item\em pretransformed light position and direction in view space \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a15e4960cce58827199d4d06c32ab0e8c}\label{a11320_a15e4960cce58827199d4d06c32ab0e8c}} 
\hyperlink{a11316}{Light\+Source} \hyperlink{a11320_a15e4960cce58827199d4d06c32ab0e8c}{light\+Save\+\_\+}
\begin{DoxyCompactList}\small\item\em save old Light\+Sources \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_a0085a1915a2fb26d0d9c71d72d6f5bc3}\label{a11320_a0085a1915a2fb26d0d9c71d72d6f5bc3}} 
bool \hyperlink{a11320_a0085a1915a2fb26d0d9c71d72d6f5bc3}{visualize\+\_\+}
\begin{DoxyCompactList}\small\item\em Indicates whether light node should be visualized or not. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_ae780eefea110ca92e30e078128f2255f}\label{a11320_ae780eefea110ca92e30e078128f2255f}} 
G\+Lenum \hyperlink{a11320_ae780eefea110ca92e30e078128f2255f}{light\+Id\+\_\+}
\begin{DoxyCompactList}\small\item\em Internal light id. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a11320_aee09887930a68118e944e82e69195513}\label{a11320_aee09887930a68118e944e82e69195513}} 
\hyperlink{a07396}{A\+C\+G\+::\+G\+L\+Cone} $\ast$ {\bfseries cone\+\_\+}
\item 
\mbox{\Hypertarget{a11320_a39db4ab370f9ff889bdea103604459e1}\label{a11320_a39db4ab370f9ff889bdea103604459e1}} 
\hyperlink{a07392}{A\+C\+G\+::\+G\+L\+Sphere} $\ast$ {\bfseries sphere\+\_\+}
\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{a11320_aa4d25ef71cc21189ac3d270494663437}{enter()} method undone in the \hyperlink{a11320_a5d1d6a91a241d4d08b8ec5f26fb51fb0}{leave()} method. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11320_aa4d25ef71cc21189ac3d270494663437}\label{a11320_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{\texorpdfstring{enter()}{enter()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Node\+::enter (\begin{DoxyParamCaption}\item[{\hyperlink{a07452}{G\+L\+State} \&}]{\+\_\+state,  }\item[{const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&}]{\+\_\+drawmode }\end{DoxyParamCaption})}



set current Light Sources 

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

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

\mbox{\Hypertarget{a11320_ae0bef24da4fe2640898c52e6d9d43220}\label{a11320_ae0bef24da4fe2640898c52e6d9d43220}} 
\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{\texorpdfstring{get\+Light\+Source\+View\+Space()}{getLightSourceViewSpace()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Node\+::get\+Light\+Source\+View\+Space (\begin{DoxyParamCaption}\item[{\hyperlink{a11316}{Light\+Source} $\ast$}]{\+\_\+light }\end{DoxyParamCaption}) const}

Get transformed light source parameters where position and direction are in view space 

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



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