\hypertarget{classACG_1_1SceneGraph_1_1LightNode}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Light\+Node Class Reference}
\label{classACG_1_1SceneGraph_1_1LightNode}\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]{classACG_1_1SceneGraph_1_1LightNode}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_ac5734042ea5000db901cf64471016966}\label{classACG_1_1SceneGraph_1_1LightNode_ac5734042ea5000db901cf64471016966}} 
\hyperlink{classACG_1_1SceneGraph_1_1LightNode_ac5734042ea5000db901cf64471016966}{Light\+Node} (\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{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{classACG_1_1SceneGraph_1_1LightNode_abb772198f6bb52df3216ad6a20fdce07}\label{classACG_1_1SceneGraph_1_1LightNode_abb772198f6bb52df3216ad6a20fdce07}} 
virtual \hyperlink{classACG_1_1SceneGraph_1_1LightNode_abb772198f6bb52df3216ad6a20fdce07}{$\sim$\+Light\+Node} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_afa70c46ea50617a7afd7a82548fb57e7}\label{classACG_1_1SceneGraph_1_1LightNode_afa70c46ea50617a7afd7a82548fb57e7}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_afa70c46ea50617a7afd7a82548fb57e7}{set\+Light\+Source} (\hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \+\_\+light)
\begin{DoxyCompactList}\small\item\em Set the light source parameters. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a5dbae24261a7578ca3369034b2c89092}\label{classACG_1_1SceneGraph_1_1LightNode_a5dbae24261a7578ca3369034b2c89092}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a5dbae24261a7578ca3369034b2c89092}{get\+Light\+Source} (\hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} $\ast$\+\_\+light) const
\begin{DoxyCompactList}\small\item\em Get the light source parameters. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_ae0bef24da4fe2640898c52e6d9d43220}{get\+Light\+Source\+View\+Space} (\hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} $\ast$\+\_\+light) const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_ae4ce0434279fdef3e809fa522ab10ca9}\label{classACG_1_1SceneGraph_1_1LightNode_ae4ce0434279fdef3e809fa522ab10ca9}} 
{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{classACG_1_1SceneGraph_1_1LightNode}{Light\+Node})
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a7c94c0332bbc26211eff7732bfdc33be}\label{classACG_1_1SceneGraph_1_1LightNode_a7c94c0332bbc26211eff7732bfdc33be}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a7c94c0332bbc26211eff7732bfdc33be}{bounding\+Box} (\hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3d} \&, \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3d} \&) override
\begin{DoxyCompactList}\small\item\em Get bounding box (for visualization purposes) \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a4a6bfdf619ed267bd8208f1ef5515926}{enter} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode) override
\begin{DoxyCompactList}\small\item\em set current Light Sources \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_aaa2d2d92803f985f3c0e718ac2e684d6}\label{classACG_1_1SceneGraph_1_1LightNode_aaa2d2d92803f985f3c0e718ac2e684d6}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_aaa2d2d92803f985f3c0e718ac2e684d6}{leave} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode) override
\begin{DoxyCompactList}\small\item\em restores original Light Sources \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a22750ae2ecc6f3b45a023b681d392a5f}\label{classACG_1_1SceneGraph_1_1LightNode_a22750ae2ecc6f3b45a023b681d392a5f}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a22750ae2ecc6f3b45a023b681d392a5f}{draw} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode) override
\begin{DoxyCompactList}\small\item\em Draw light source node. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_ae6dbee45d07da4dc850e8a96773ebb77}\label{classACG_1_1SceneGraph_1_1LightNode_ae6dbee45d07da4dc850e8a96773ebb77}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_ae6dbee45d07da4dc850e8a96773ebb77}{pick} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, \hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target) override
\begin{DoxyCompactList}\small\item\em Picking. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_aaa0008ea06b16136910a8d00fecdc709}\label{classACG_1_1SceneGraph_1_1LightNode_aaa0008ea06b16136910a8d00fecdc709}} 
bool \hyperlink{classACG_1_1SceneGraph_1_1LightNode_aaa0008ea06b16136910a8d00fecdc709}{visualize} ()
\begin{DoxyCompactList}\small\item\em Should node be visualized? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_ac5865d32c35d3fd419502c20fee86bad}\label{classACG_1_1SceneGraph_1_1LightNode_ac5865d32c35d3fd419502c20fee86bad}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_ac5865d32c35d3fd419502c20fee86bad}{visualize} (bool \+\_\+visualize)
\begin{DoxyCompactList}\small\item\em Set whether node should be visualized. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a1662402f40a09ffdd3fe1e482f2344d0}\label{classACG_1_1SceneGraph_1_1LightNode_a1662402f40a09ffdd3fe1e482f2344d0}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a1662402f40a09ffdd3fe1e482f2344d0}{get\+Render\+Objects} (\hyperlink{classACG_1_1IRenderer}{I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{classACG_1_1SceneGraph_1_1Material}{Material} $\ast$\+\_\+mat) override
\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{classACG_1_1SceneGraph_1_1LightNode_aed285a82cf7f761b878231b922b7596b}\label{classACG_1_1SceneGraph_1_1LightNode_aed285a82cf7f761b878231b922b7596b}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_aed285a82cf7f761b878231b922b7596b}{set\+Parameters} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, G\+Lenum \+\_\+index, \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{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{classACG_1_1SceneGraph_1_1LightNode_a28f6ea03a93c3eab609ffece0048b47d}\label{classACG_1_1SceneGraph_1_1LightNode_a28f6ea03a93c3eab609ffece0048b47d}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a28f6ea03a93c3eab609ffece0048b47d}{get\+Parameters} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, G\+Lenum \+\_\+index, \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{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{classACG_1_1SceneGraph_1_1LightNode_a6f0636704d607bdb12333edebf1e9988}\label{classACG_1_1SceneGraph_1_1LightNode_a6f0636704d607bdb12333edebf1e9988}} 
\hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a6f0636704d607bdb12333edebf1e9988}{light\+\_\+}
\begin{DoxyCompactList}\small\item\em store Light\+Sources of this node \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a2d9cc7abfb6bcf66a67c2a174269fa71}\label{classACG_1_1SceneGraph_1_1LightNode_a2d9cc7abfb6bcf66a67c2a174269fa71}} 
\hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a2d9cc7abfb6bcf66a67c2a174269fa71}{transformed\+Light\+\_\+}
\begin{DoxyCompactList}\small\item\em pretransformed light position and direction in view space \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a15e4960cce58827199d4d06c32ab0e8c}\label{classACG_1_1SceneGraph_1_1LightNode_a15e4960cce58827199d4d06c32ab0e8c}} 
\hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a15e4960cce58827199d4d06c32ab0e8c}{light\+Save\+\_\+}
\begin{DoxyCompactList}\small\item\em save old Light\+Sources \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a0085a1915a2fb26d0d9c71d72d6f5bc3}\label{classACG_1_1SceneGraph_1_1LightNode_a0085a1915a2fb26d0d9c71d72d6f5bc3}} 
bool \hyperlink{classACG_1_1SceneGraph_1_1LightNode_a0085a1915a2fb26d0d9c71d72d6f5bc3}{visualize\+\_\+}
\begin{DoxyCompactList}\small\item\em Indicates whether light node should be visualized or not. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_ae780eefea110ca92e30e078128f2255f}\label{classACG_1_1SceneGraph_1_1LightNode_ae780eefea110ca92e30e078128f2255f}} 
G\+Lenum \hyperlink{classACG_1_1SceneGraph_1_1LightNode_ae780eefea110ca92e30e078128f2255f}{light\+Id\+\_\+}
\begin{DoxyCompactList}\small\item\em Internal light id. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_aee09887930a68118e944e82e69195513}\label{classACG_1_1SceneGraph_1_1LightNode_aee09887930a68118e944e82e69195513}} 
\hyperlink{classACG_1_1GLCone}{A\+C\+G\+::\+G\+L\+Cone} $\ast$ {\bfseries cone\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a39db4ab370f9ff889bdea103604459e1}\label{classACG_1_1SceneGraph_1_1LightNode_a39db4ab370f9ff889bdea103604459e1}} 
\hyperlink{classACG_1_1GLSphere}{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{classACG_1_1SceneGraph_1_1LightNode_a4a6bfdf619ed267bd8208f1ef5515926}{enter()} method undone in the \hyperlink{classACG_1_1SceneGraph_1_1LightNode_aaa2d2d92803f985f3c0e718ac2e684d6}{leave()} method. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_a4a6bfdf619ed267bd8208f1ef5515926}\label{classACG_1_1SceneGraph_1_1LightNode_a4a6bfdf619ed267bd8208f1ef5515926}} 
\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{classACG_1_1GLState}{G\+L\+State} \&}]{\+\_\+state,  }\item[{const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&}]{\+\_\+drawmode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}}



set current Light Sources 

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

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightNode_ae0bef24da4fe2640898c52e6d9d43220}\label{classACG_1_1SceneGraph_1_1LightNode_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{classACG_1_1SceneGraph_1_1LightSource}{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}
