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


Structure to hold options for one \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source}.  




{\ttfamily \#include $<$Type-\/\+Light/\+Object\+Types/\+Light/\+Light\+Node.\+hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a08f7ee3c200b56ae98ffe7c1632b2a6a}\label{classACG_1_1SceneGraph_1_1LightSource_a08f7ee3c200b56ae98ffe7c1632b2a6a}} 
\hyperlink{classACG_1_1SceneGraph_1_1LightSource_a08f7ee3c200b56ae98ffe7c1632b2a6a}{Light\+Source} ()
\begin{DoxyCompactList}\small\item\em Default Constructor. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a71710e24ab7ce390a92f0ae34fb6b022}{position} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \+\_\+pos)
\begin{DoxyCompactList}\small\item\em Set position for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source}. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a60aa4fba2cc24cbeb38bdce8513d499e}{position} () const
\begin{DoxyCompactList}\small\item\em Get the position of the \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source}. \end{DoxyCompactList}\item 
bool \hyperlink{classACG_1_1SceneGraph_1_1LightSource_ae911ce917fb5d4cea33e0b62927915c0}{directional} () const
\begin{DoxyCompactList}\small\item\em Check if the light source is a directional light source. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a278561539aaa2f87d2d71b8588363b0d}{direction} () const
\begin{DoxyCompactList}\small\item\em Get direction of the light source. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a91b57053dae52ec11c9ae7c0fc6aaa21}{direction} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \+\_\+pos)
\begin{DoxyCompactList}\small\item\em Set the direction of the light source. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a361334ffaaf358b861aec5b914a1a005}\label{classACG_1_1SceneGraph_1_1LightSource_a361334ffaaf358b861aec5b914a1a005}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a361334ffaaf358b861aec5b914a1a005}{enable} ()
\begin{DoxyCompactList}\small\item\em enable \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a33a4491bd0c4067fb83f05665b7b42fe}\label{classACG_1_1SceneGraph_1_1LightSource_a33a4491bd0c4067fb83f05665b7b42fe}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a33a4491bd0c4067fb83f05665b7b42fe}{disable} ()
\begin{DoxyCompactList}\small\item\em disable \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_aabde8e1068e1e05ae177b76c4f948992}\label{classACG_1_1SceneGraph_1_1LightSource_aabde8e1068e1e05ae177b76c4f948992}} 
bool \hyperlink{classACG_1_1SceneGraph_1_1LightSource_aabde8e1068e1e05ae177b76c4f948992}{enabled} () const
\begin{DoxyCompactList}\small\item\em Get light source status. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_af99a7087c761f248291adde32d7579fc}{spot\+Direction} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \+\_\+pos)
\begin{DoxyCompactList}\small\item\em Set spot direction. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \hyperlink{classACG_1_1SceneGraph_1_1LightSource_aafe9c8cda7874a3965f058b803e31c11}{spot\+Direction} () const
\begin{DoxyCompactList}\small\item\em get spot direction \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_abab6f3163605004c41530d2b2d0abb9e}\label{classACG_1_1SceneGraph_1_1LightSource_abab6f3163605004c41530d2b2d0abb9e}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_abab6f3163605004c41530d2b2d0abb9e}{ambient\+Color} (\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \+\_\+color)
\begin{DoxyCompactList}\small\item\em set Ambient color for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a1f1a9feb7766c61017a275ca504a9ead}\label{classACG_1_1SceneGraph_1_1LightSource_a1f1a9feb7766c61017a275ca504a9ead}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a1f1a9feb7766c61017a275ca504a9ead}{ambient\+Color} () const
\begin{DoxyCompactList}\small\item\em get Ambient color for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a3f4d94489845b60eda33d8ab629b0983}\label{classACG_1_1SceneGraph_1_1LightSource_a3f4d94489845b60eda33d8ab629b0983}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a3f4d94489845b60eda33d8ab629b0983}{diffuse\+Color} (\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \+\_\+color)
\begin{DoxyCompactList}\small\item\em set Diffuse color for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a4f79c096d2d6064ed0c905905d79e1bb}\label{classACG_1_1SceneGraph_1_1LightSource_a4f79c096d2d6064ed0c905905d79e1bb}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a4f79c096d2d6064ed0c905905d79e1bb}{diffuse\+Color} () const
\begin{DoxyCompactList}\small\item\em get Diffuse color for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a375223492ea6700fb3c6a26215c1a595}\label{classACG_1_1SceneGraph_1_1LightSource_a375223492ea6700fb3c6a26215c1a595}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a375223492ea6700fb3c6a26215c1a595}{specular\+Color} (\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \+\_\+color)
\begin{DoxyCompactList}\small\item\em set Specular color for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ad044d28a73623a18c15f3693f12b736c}\label{classACG_1_1SceneGraph_1_1LightSource_ad044d28a73623a18c15f3693f12b736c}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \hyperlink{classACG_1_1SceneGraph_1_1LightSource_ad044d28a73623a18c15f3693f12b736c}{specular\+Color} () const
\begin{DoxyCompactList}\small\item\em get Specular color for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ab527f91ae54164d97cad7c71548175fc}\label{classACG_1_1SceneGraph_1_1LightSource_ab527f91ae54164d97cad7c71548175fc}} 
void {\bfseries set\+Color} (const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+ambient, const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+diffuse, const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+specular)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a18d69fb7eb95a4ce0f14febce1e4cd7a}\label{classACG_1_1SceneGraph_1_1LightSource_a18d69fb7eb95a4ce0f14febce1e4cd7a}} 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a18d69fb7eb95a4ce0f14febce1e4cd7a}{fixed\+Position} (bool \+\_\+state)
\begin{DoxyCompactList}\small\item\em make \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source} fixed or moveable with Model\+View\+Matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a3b3fc5015e1a1a317eec80a7c161b2ee}\label{classACG_1_1SceneGraph_1_1LightSource_a3b3fc5015e1a1a317eec80a7c161b2ee}} 
bool {\bfseries fixed\+Position} () const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_aa36833f0565a7161e409f7793769d6f7}\label{classACG_1_1SceneGraph_1_1LightSource_aa36833f0565a7161e409f7793769d6f7}} 
void {\bfseries spot\+Exponent} (float \+\_\+exponent)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a094ac1f347c0509b38e2846fafe586b8}\label{classACG_1_1SceneGraph_1_1LightSource_a094ac1f347c0509b38e2846fafe586b8}} 
float {\bfseries spot\+Exponent} () const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a576c8ab38c6ad80519eb414fdad78a44}\label{classACG_1_1SceneGraph_1_1LightSource_a576c8ab38c6ad80519eb414fdad78a44}} 
void {\bfseries spot\+Cutoff} (float \+\_\+cutoff)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_aa30ad72bbacb2e2fd6cf0eeccd4042eb}\label{classACG_1_1SceneGraph_1_1LightSource_aa30ad72bbacb2e2fd6cf0eeccd4042eb}} 
float {\bfseries spot\+Cutoff} () const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ab45204172b19e2a6d73d505b7c0ff730}\label{classACG_1_1SceneGraph_1_1LightSource_ab45204172b19e2a6d73d505b7c0ff730}} 
void {\bfseries constant\+Attenuation} (float \+\_\+constant\+Attenuation)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ad3248f9ec5fad6b0b6b6b6fb5468dada}\label{classACG_1_1SceneGraph_1_1LightSource_ad3248f9ec5fad6b0b6b6b6fb5468dada}} 
float {\bfseries constant\+Attenuation} () const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a3c7f882df8f341b6ad66d6b3abaa5621}\label{classACG_1_1SceneGraph_1_1LightSource_a3c7f882df8f341b6ad66d6b3abaa5621}} 
void {\bfseries linear\+Attenuation} (float \+\_\+linear\+Attenuation)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a6b360da2fcf9c91e8a282ecbf64023f8}\label{classACG_1_1SceneGraph_1_1LightSource_a6b360da2fcf9c91e8a282ecbf64023f8}} 
float {\bfseries linear\+Attenuation} () const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a60e42309aa09fe01eda20dac9f707155}\label{classACG_1_1SceneGraph_1_1LightSource_a60e42309aa09fe01eda20dac9f707155}} 
void {\bfseries quadratic\+Attenuation} (float \+\_\+quadratic\+Attenuation)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a9336db8d53eb723efadb7768b6b6dcac}\label{classACG_1_1SceneGraph_1_1LightSource_a9336db8d53eb723efadb7768b6b6dcac}} 
float {\bfseries quadratic\+Attenuation} () const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a537524bb621aa74b64519d3c85517d1b}\label{classACG_1_1SceneGraph_1_1LightSource_a537524bb621aa74b64519d3c85517d1b}} 
void {\bfseries brightness} (const float \+\_\+brightness)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ae1908a4f79854a27110572228b48502f}\label{classACG_1_1SceneGraph_1_1LightSource_ae1908a4f79854a27110572228b48502f}} 
float {\bfseries brightness} () const
\item 
float \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a27a3a9038e528c4f1eac6ee1694b8b6f}{radius} () const
\begin{DoxyCompactList}\small\item\em Get light source radius. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a4fe2bda1e68cfee57f4336d7b7234970}{radius} (const float \+\_\+radius)
\begin{DoxyCompactList}\small\item\em Set light source radius. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ab3e880b7c7fe9bcd254df5438d03bd66}\label{classACG_1_1SceneGraph_1_1LightSource_ab3e880b7c7fe9bcd254df5438d03bd66}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} {\bfseries position\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ad6f3201633edc99aae6770a4ed2edc31}\label{classACG_1_1SceneGraph_1_1LightSource_ad6f3201633edc99aae6770a4ed2edc31}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} {\bfseries real\+Position\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a6bbcc21a315ec6fd392007ff0f628511}\label{classACG_1_1SceneGraph_1_1LightSource_a6bbcc21a315ec6fd392007ff0f628511}} 
bool {\bfseries enabled\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ae4e3c51bfce9a71805eabb366e91fd4f}\label{classACG_1_1SceneGraph_1_1LightSource_ae4e3c51bfce9a71805eabb366e91fd4f}} 
bool {\bfseries fixed\+Position\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a1bfe7221df164c8564abed216af319ae}\label{classACG_1_1SceneGraph_1_1LightSource_a1bfe7221df164c8564abed216af319ae}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} {\bfseries ambient\+Color\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ae24dc3314a17999287f086f9e1fceeb4}\label{classACG_1_1SceneGraph_1_1LightSource_ae24dc3314a17999287f086f9e1fceeb4}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} {\bfseries diffuse\+Color\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a849ecebc41e723530e453a3ea6e5b736}\label{classACG_1_1SceneGraph_1_1LightSource_a849ecebc41e723530e453a3ea6e5b736}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} {\bfseries specular\+Color\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ae3b2a4d1003e31739e8c61daaa15df91}\label{classACG_1_1SceneGraph_1_1LightSource_ae3b2a4d1003e31739e8c61daaa15df91}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries spot\+Direction\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a7d00e35c1e26193a8cac2899685e2180}\label{classACG_1_1SceneGraph_1_1LightSource_a7d00e35c1e26193a8cac2899685e2180}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries real\+Spot\+Direction\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ad278386b9b620dd66add8c01c76f2cb4}\label{classACG_1_1SceneGraph_1_1LightSource_ad278386b9b620dd66add8c01c76f2cb4}} 
\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} {\bfseries initial\+Position\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a5ce07dbc0c2dfe0e081e637e4214cad5}\label{classACG_1_1SceneGraph_1_1LightSource_a5ce07dbc0c2dfe0e081e637e4214cad5}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries initial\+Spot\+Direction\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_abb3ec721161f2a51f0e582f4155cfa85}\label{classACG_1_1SceneGraph_1_1LightSource_abb3ec721161f2a51f0e582f4155cfa85}} 
bool {\bfseries initial\+Position\+Init\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_afb9191675b86de19b373077de55cf604}\label{classACG_1_1SceneGraph_1_1LightSource_afb9191675b86de19b373077de55cf604}} 
float {\bfseries spot\+Exponent\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_af2ab45054424dd16db2122129ca70779}\label{classACG_1_1SceneGraph_1_1LightSource_af2ab45054424dd16db2122129ca70779}} 
float {\bfseries spot\+Cutoff\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a07201fcb285d5a71df7fd1f19ac8e682}\label{classACG_1_1SceneGraph_1_1LightSource_a07201fcb285d5a71df7fd1f19ac8e682}} 
float {\bfseries constant\+Attenuation\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_aada9212d3e7a35e3e01950d74d5ddd19}\label{classACG_1_1SceneGraph_1_1LightSource_aada9212d3e7a35e3e01950d74d5ddd19}} 
float {\bfseries linear\+Attenuation\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_af030f3507817d475faf27c3e75fca461}\label{classACG_1_1SceneGraph_1_1LightSource_af030f3507817d475faf27c3e75fca461}} 
float {\bfseries quadratic\+Attenuation\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a90aee6cc3d2ac5d3c9c11a4842868c64}\label{classACG_1_1SceneGraph_1_1LightSource_a90aee6cc3d2ac5d3c9c11a4842868c64}} 
float {\bfseries brightness\+\_\+}
\item 
float \hyperlink{classACG_1_1SceneGraph_1_1LightSource_ab42636f7284c142ab553ffe869c1e7ab}{radius\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a8a9748f3880e6d365f787231d2cc3946}\label{classACG_1_1SceneGraph_1_1LightSource_a8a9748f3880e6d365f787231d2cc3946}} 
class \hyperlink{classACG_1_1SceneGraph_1_1LightSource_a8a9748f3880e6d365f787231d2cc3946}{Light\+Node}
\begin{DoxyCompactList}\small\item\em Simple Name for \hyperlink{classPlaneNode}{Plane\+Node}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Structure to hold options for one \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source}. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a278561539aaa2f87d2d71b8588363b0d}\label{classACG_1_1SceneGraph_1_1LightSource_a278561539aaa2f87d2d71b8588363b0d}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!direction@{direction}}
\index{direction@{direction}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{direction()}{direction()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::direction (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get direction of the light source. 

Get direction of light. 

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a91b57053dae52ec11c9ae7c0fc6aaa21}\label{classACG_1_1SceneGraph_1_1LightSource_a91b57053dae52ec11c9ae7c0fc6aaa21}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!direction@{direction}}
\index{direction@{direction}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{direction()}{direction()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::direction (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}}]{\+\_\+pos }\end{DoxyParamCaption})}



Set the direction of the light source. 

This function creates a directional light source. The position is not used by Open\+GL. Internally the positions homogeneous coordinate is set to 0.\+0. 

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ae911ce917fb5d4cea33e0b62927915c0}\label{classACG_1_1SceneGraph_1_1LightSource_ae911ce917fb5d4cea33e0b62927915c0}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!directional@{directional}}
\index{directional@{directional}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{directional()}{directional()}}
{\footnotesize\ttfamily bool A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::directional (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Check if the light source is a directional light source. 

If this light Source is a directional light source the function will return true. Otherwise false as the light source has a position. 

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a71710e24ab7ce390a92f0ae34fb6b022}\label{classACG_1_1SceneGraph_1_1LightSource_a71710e24ab7ce390a92f0ae34fb6b022}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!position@{position}}
\index{position@{position}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{position()}{position()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::position (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}}]{\+\_\+pos }\end{DoxyParamCaption})}



Set position for \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source}. 

This function sets the position of a light source. Open\+GL handles a position for a light source if the homogeneous coordinate is 1.\+0. If it is 0.\+0 the light source will be directional. So a 1.\+0 is set in this function to get a positioned light source. 

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a60aa4fba2cc24cbeb38bdce8513d499e}\label{classACG_1_1SceneGraph_1_1LightSource_a60aa4fba2cc24cbeb38bdce8513d499e}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!position@{position}}
\index{position@{position}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{position()}{position()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get the position of the \hyperlink{classACG_1_1SceneGraph_1_1LightSource}{Light\+Source}. 

Be careful with this function. Check if the light source is not directional with the \hyperlink{classACG_1_1SceneGraph_1_1LightSource_ae911ce917fb5d4cea33e0b62927915c0}{directional()} function 

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a27a3a9038e528c4f1eac6ee1694b8b6f}\label{classACG_1_1SceneGraph_1_1LightSource_a27a3a9038e528c4f1eac6ee1694b8b6f}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!radius@{radius}}
\index{radius@{radius}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{radius()}{radius()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily float A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::radius (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get light source radius. 

The light radius is the size of the lightsource. In Open\+GL rendering this value is ignored. You can use it for example in raytracers to implement soft shadows. 

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_a4fe2bda1e68cfee57f4336d7b7234970}\label{classACG_1_1SceneGraph_1_1LightSource_a4fe2bda1e68cfee57f4336d7b7234970}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!radius@{radius}}
\index{radius@{radius}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{radius()}{radius()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::radius (\begin{DoxyParamCaption}\item[{const float}]{\+\_\+radius }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set light source radius. 

The light radius is the size of the lightsource. In Open\+GL rendering this value is ignored. You can use it for example in raytracers to implement soft shadows. 

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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_af99a7087c761f248291adde32d7579fc}\label{classACG_1_1SceneGraph_1_1LightSource_af99a7087c761f248291adde32d7579fc}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!spot\+Direction@{spot\+Direction}}
\index{spot\+Direction@{spot\+Direction}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{spot\+Direction()}{spotDirection()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::spot\+Direction (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}}]{\+\_\+pos }\end{DoxyParamCaption})}



Set spot direction. 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000047}{Todo}]Improve documentation \end{DoxyRefDesc}


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

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_aafe9c8cda7874a3965f058b803e31c11}\label{classACG_1_1SceneGraph_1_1LightSource_aafe9c8cda7874a3965f058b803e31c11}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!spot\+Direction@{spot\+Direction}}
\index{spot\+Direction@{spot\+Direction}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{spot\+Direction()}{spotDirection()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::spot\+Direction (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



get spot direction 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000048}{Todo}]Improve documentation \end{DoxyRefDesc}


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



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1LightSource_ab42636f7284c142ab553ffe869c1e7ab}\label{classACG_1_1SceneGraph_1_1LightSource_ab42636f7284c142ab553ffe869c1e7ab}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}!radius\+\_\+@{radius\+\_\+}}
\index{radius\+\_\+@{radius\+\_\+}!A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source@{A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source}}
\subsubsection{\texorpdfstring{radius\+\_\+}{radius\_}}
{\footnotesize\ttfamily float A\+C\+G\+::\+Scene\+Graph\+::\+Light\+Source\+::radius\+\_\+\hspace{0.3cm}{\ttfamily [protected]}}

When using ray tracing, light sources can have extent. We simplify to spherical light sources with radius radius\+\_\+. 

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



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}
