\hypertarget{a07832}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Material\+Node Class Reference}
\label{a07832}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}


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

Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Material\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=0.677966cm]{a07832}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bf}{Apply\+Properties} \{ \newline
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa739fc70694cf2d41e5650d456aa1fb2a}{None} =0, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa6abb4c786d4327cbccf24dff6e21ef4f}{All} =0xffff, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa06a664ca9214ef4b1006d21a625ba5e4}{Base\+Color} =1, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfab3847a06eac1e737cd20ac8a5dfebc48}{Material} =2, 
\newline
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa8270cda942ad0c023a0ffe308c26df1c}{Point\+Size} =4, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfacf45eb1dfb693c7b5dafdd54370a066a}{Line\+Width} =8, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa2bcd542c5d1a92bbb66b596964063f6c}{Round\+Points} =16, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa6065dee84adb87aeedb8c04f34dd5ae7}{Line\+Smooth} =32, 
\newline
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfaf0658e7efda8e67f22f891730f9466df}{Alpha\+Test} =64, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa1c0767b0f37b40124b468d07aed9516e}{Blending} =128, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa20d6d294434f84d6ef2dac661da81a30}{Back\+Face\+Culling} =256, 
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa76f159ebeb2fc8540a9f880ad931e864}{Color\+Material} =512, 
\newline
\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfac8f6265ae9eaeb72d6bff57723ed8cf1}{Multi\+Sampling} =1024
 \}\begin{DoxyCompactList}\small\item\em Apply which properties? Others will be ignored. Values may be OR\textquotesingle{}ed. \end{DoxyCompactList}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07832_a2d418139423fb63b1527c43f77e1c2b1}\label{a07832_a2d418139423fb63b1527c43f77e1c2b1}} 
\hyperlink{a07832_a2d418139423fb63b1527c43f77e1c2b1}{Material\+Node} (\hyperlink{a07748}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Material\+Node$>$\char`\"{}, unsigned int \+\_\+apply\+Properties=(\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa6abb4c786d4327cbccf24dff6e21ef4f}{All} \&$\sim$\hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bfa20d6d294434f84d6ef2dac661da81a30}{Back\+Face\+Culling}))
\begin{DoxyCompactList}\small\item\em Default constructor. Applies all properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_afc608bc288de9ad6451f48f58b830151}\label{a07832_afc608bc288de9ad6451f48f58b830151}} 
virtual \hyperlink{a07832_afc608bc288de9ad6451f48f58b830151}{$\sim$\+Material\+Node} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a6b811bb499b6da4bc08dfb9b5f5eabec}\label{a07832_a6b811bb499b6da4bc08dfb9b5f5eabec}} 
void \hyperlink{a07832_a6b811bb499b6da4bc08dfb9b5f5eabec}{read} (std\+::istream \&\+\_\+is)
\begin{DoxyCompactList}\small\item\em read Material\+File \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a9ba8efe7e9ab906583689c032da2a327}\label{a07832_a9ba8efe7e9ab906583689c032da2a327}} 
float \hyperlink{a07832_a9ba8efe7e9ab906583689c032da2a327}{alpha\+\_\+value} ()
\begin{DoxyCompactList}\small\item\em get current alpha value for alpha\+\_\+test \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a2b8521431505e2a5bd85f7d6fc06e785}\label{a07832_a2b8521431505e2a5bd85f7d6fc06e785}} 
bool {\bfseries blending} ()
\item 
\mbox{\Hypertarget{a07832_a03340bdbfd9ecb3ef32f928409548ad7}\label{a07832_a03340bdbfd9ecb3ef32f928409548ad7}} 
G\+Lenum {\bfseries blending\+\_\+param1} ()
\item 
\mbox{\Hypertarget{a07832_a1a36d8e18d8643c7dc3bc9d5223da475}\label{a07832_a1a36d8e18d8643c7dc3bc9d5223da475}} 
G\+Lenum {\bfseries blending\+\_\+param2} ()
\item 
\mbox{\Hypertarget{a07832_ad3133d1c856888593eeb246645490c2c}\label{a07832_ad3133d1c856888593eeb246645490c2c}} 
void \hyperlink{a07832_ad3133d1c856888593eeb246645490c2c}{enable\+\_\+blending} (G\+Lenum \+\_\+p1=G\+L\+\_\+\+S\+R\+C\+\_\+\+A\+L\+P\+HA, G\+Lenum \+\_\+p2=G\+L\+\_\+\+O\+N\+E\+\_\+\+M\+I\+N\+U\+S\+\_\+\+S\+R\+C\+\_\+\+A\+L\+P\+HA)
\begin{DoxyCompactList}\small\item\em enable blending with Parameters (\+\_\+p1, \+\_\+p2) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a086ee84eb2b89c29e70a9f4b9b00fa03}\label{a07832_a086ee84eb2b89c29e70a9f4b9b00fa03}} 
void \hyperlink{a07832_a086ee84eb2b89c29e70a9f4b9b00fa03}{disable\+\_\+blending} ()
\begin{DoxyCompactList}\small\item\em disable blending \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a7e0e6da3a1c803bc19e8a52fe6150f88}\label{a07832_a7e0e6da3a1c803bc19e8a52fe6150f88}} 
bool {\bfseries backface\+\_\+culling} ()
\item 
\mbox{\Hypertarget{a07832_a354f096cba4579985f44903b6a5f3ed2}\label{a07832_a354f096cba4579985f44903b6a5f3ed2}} 
void \hyperlink{a07832_a354f096cba4579985f44903b6a5f3ed2}{enable\+\_\+backface\+\_\+culling} ()
\begin{DoxyCompactList}\small\item\em enable backface culling (not active by default, see apply\+Properties) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a7f4ea271e33eb4e7f1bd05d43893d455}\label{a07832_a7f4ea271e33eb4e7f1bd05d43893d455}} 
void \hyperlink{a07832_a7f4ea271e33eb4e7f1bd05d43893d455}{disable\+\_\+backface\+\_\+culling} ()
\begin{DoxyCompactList}\small\item\em disable backface culling (not active by default, see apply\+Properties) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a9385799d9a61ee9d5dd242380c1a8633}\label{a07832_a9385799d9a61ee9d5dd242380c1a8633}} 
unsigned int \hyperlink{a07832_a9385799d9a61ee9d5dd242380c1a8633}{apply\+Properties} () const
\begin{DoxyCompactList}\small\item\em get properties that will be applied (OR\textquotesingle{}ed Apply\+Properties) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a708bcbcf4a3a5670303d9662ed6fbca9}\label{a07832_a708bcbcf4a3a5670303d9662ed6fbca9}} 
void \hyperlink{a07832_a708bcbcf4a3a5670303d9662ed6fbca9}{apply\+Properties} (unsigned int \+\_\+apply\+Properties)
\begin{DoxyCompactList}\small\item\em set properties that will be applied (OR\textquotesingle{}ed Apply\+Properties) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a133c9d6cc46a6db50e78d2b0fc7d2a56}\label{a07832_a133c9d6cc46a6db50e78d2b0fc7d2a56}} 
\hyperlink{a07828}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} \& \hyperlink{a07832_a133c9d6cc46a6db50e78d2b0fc7d2a56}{material} ()
\begin{DoxyCompactList}\small\item\em Get material object reference. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a545aebbc3dbdc895f06f2a1aed596dff}\label{a07832_a545aebbc3dbdc895f06f2a1aed596dff}} 
void \hyperlink{a07832_a545aebbc3dbdc895f06f2a1aed596dff}{set\+\_\+material} (const \hyperlink{a07828}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} \&\+\_\+m)
\begin{DoxyCompactList}\small\item\em Set material object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Scenegraph functions}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07832_ab9396c3417d2c906f934216de234cef7}\label{a07832_ab9396c3417d2c906f934216de234cef7}} 
\hyperlink{a07832_ab9396c3417d2c906f934216de234cef7}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{a07832}{Material\+Node})
\begin{DoxyCompactList}\small\item\em set current G\+L-\/color and G\+L-\/material \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a920ca6f2024b8d2a6c34ebb5b1c302ec}\label{a07832_a920ca6f2024b8d2a6c34ebb5b1c302ec}} 
void \hyperlink{a07832_a920ca6f2024b8d2a6c34ebb5b1c302ec}{enter} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\begin{DoxyCompactList}\small\item\em set current G\+L-\/color and G\+L-\/material \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a5e3666e6f9b8c51e958e3fe7d07740f7}\label{a07832_a5e3666e6f9b8c51e958e3fe7d07740f7}} 
void \hyperlink{a07832_a5e3666e6f9b8c51e958e3fe7d07740f7}{leave} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\begin{DoxyCompactList}\small\item\em restores original G\+L-\/color and G\+L-\/material \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a2955de10fc7dd49a5b32bcdc1dc7dcbc}\label{a07832_a2955de10fc7dd49a5b32bcdc1dc7dcbc}} 
void \hyperlink{a07832_a2955de10fc7dd49a5b32bcdc1dc7dcbc}{enter\+Pick} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, \hyperlink{a06177_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em Do nothing in picking. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aec88c12aeefa7194bd3d58d464996265}\label{a07832_aec88c12aeefa7194bd3d58d464996265}} 
void \hyperlink{a07832_aec88c12aeefa7194bd3d58d464996265}{leave\+Pick} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, \hyperlink{a06177_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em Do nothing in picking. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Color and material settings ( Applied to all objects below this node )}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07832_a41db9bc6717b2cbac90c93b0af404ced}\label{a07832_a41db9bc6717b2cbac90c93b0af404ced}} 
void \hyperlink{a07832_a41db9bc6717b2cbac90c93b0af404ced}{set\+\_\+color} (const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+c)
\begin{DoxyCompactList}\small\item\em set color (base, ambient, diffuse, specular) based on \+\_\+c \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a7df0854e9e0b4a4453f8984c2a8b4a8a}\label{a07832_a7df0854e9e0b4a4453f8984c2a8b4a8a}} 
void \hyperlink{a07832_a7df0854e9e0b4a4453f8984c2a8b4a8a}{set\+\_\+random\+\_\+color} ()
\begin{DoxyCompactList}\small\item\em Generates a random color and sets it. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a92547901186f89ea75a36ebb8673ed6d}\label{a07832_a92547901186f89ea75a36ebb8673ed6d}} 
void \hyperlink{a07832_a92547901186f89ea75a36ebb8673ed6d}{set\+\_\+base\+\_\+color} (const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+c)
\begin{DoxyCompactList}\small\item\em set the base color ( Same as \hyperlink{a07832_ac3812c3ea6c415a36d327ccc6f25715e}{set\+\_\+emission(const Vec4f\& \+\_\+c)} ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a28cff799c3d8b416beae33be0412c845}\label{a07832_a28cff799c3d8b416beae33be0412c845}} 
const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \& \hyperlink{a07832_a28cff799c3d8b416beae33be0412c845}{base\+\_\+color} () const
\begin{DoxyCompactList}\small\item\em get the base color ( same as \hyperlink{a07832_a97b3f0ae6781801e27d1aabe0bd0f4e1}{emission()} ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_ac3812c3ea6c415a36d327ccc6f25715e}\label{a07832_ac3812c3ea6c415a36d327ccc6f25715e}} 
void \hyperlink{a07832_ac3812c3ea6c415a36d327ccc6f25715e}{set\+\_\+emission} (const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+c)
\begin{DoxyCompactList}\small\item\em set emission ( same as \hyperlink{a07832_a92547901186f89ea75a36ebb8673ed6d}{set\+\_\+base\+\_\+color(const Vec4f\& \+\_\+c)} ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a97b3f0ae6781801e27d1aabe0bd0f4e1}\label{a07832_a97b3f0ae6781801e27d1aabe0bd0f4e1}} 
const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \& \hyperlink{a07832_a97b3f0ae6781801e27d1aabe0bd0f4e1}{emission} () const
\begin{DoxyCompactList}\small\item\em get emission ( same as \hyperlink{a07832_a28cff799c3d8b416beae33be0412c845}{base\+\_\+color()} ) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_ab8e63679ec094a5ef098c1c4a7baee16}\label{a07832_ab8e63679ec094a5ef098c1c4a7baee16}} 
void \hyperlink{a07832_ab8e63679ec094a5ef098c1c4a7baee16}{set\+\_\+ambient\+\_\+color} (const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+a)
\begin{DoxyCompactList}\small\item\em set the ambient color. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aef39f6afdf081b02f55df3299b24cbea}\label{a07832_aef39f6afdf081b02f55df3299b24cbea}} 
const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \& \hyperlink{a07832_aef39f6afdf081b02f55df3299b24cbea}{ambient\+\_\+color} () const
\begin{DoxyCompactList}\small\item\em get the ambient color. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a20ad4c6937739bd5f59dec7ccb970c15}\label{a07832_a20ad4c6937739bd5f59dec7ccb970c15}} 
void \hyperlink{a07832_a20ad4c6937739bd5f59dec7ccb970c15}{set\+\_\+diffuse\+\_\+color} (const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+d)
\begin{DoxyCompactList}\small\item\em set the diffuse color. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a229627e43de23c17a3b2b776eaa99306}\label{a07832_a229627e43de23c17a3b2b776eaa99306}} 
const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \& \hyperlink{a07832_a229627e43de23c17a3b2b776eaa99306}{diffuse\+\_\+color} () const
\begin{DoxyCompactList}\small\item\em get the diffuse color. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a21d2a212259b2f60fc2ebfb782e529a4}\label{a07832_a21d2a212259b2f60fc2ebfb782e529a4}} 
void \hyperlink{a07832_a21d2a212259b2f60fc2ebfb782e529a4}{set\+\_\+specular\+\_\+color} (const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+s)
\begin{DoxyCompactList}\small\item\em set the specular color \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a52d04760ffe8c26cbdecf29690c860c2}\label{a07832_a52d04760ffe8c26cbdecf29690c860c2}} 
const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \& \hyperlink{a07832_a52d04760ffe8c26cbdecf29690c860c2}{specular\+\_\+color} () const
\begin{DoxyCompactList}\small\item\em get the specular color \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a0cf299117ced21da13338b467f6208ef}\label{a07832_a0cf299117ced21da13338b467f6208ef}} 
void \hyperlink{a07832_a0cf299117ced21da13338b467f6208ef}{set\+\_\+overlay\+\_\+color} (const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+s)
\begin{DoxyCompactList}\small\item\em set the overlay color \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_af573eeebac0dc29d128438da2d631ae8}\label{a07832_af573eeebac0dc29d128438da2d631ae8}} 
const \hyperlink{a06176_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \& \hyperlink{a07832_af573eeebac0dc29d128438da2d631ae8}{overlay\+\_\+color} () const
\begin{DoxyCompactList}\small\item\em get the overlay color \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aeb42723044056195f92d60359f22c476}\label{a07832_aeb42723044056195f92d60359f22c476}} 
void \hyperlink{a07832_aeb42723044056195f92d60359f22c476}{color\+Material} (const bool \+\_\+cm)
\begin{DoxyCompactList}\small\item\em Set color\+Material. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a8d9f9309d246571afffaac500a096006}\label{a07832_a8d9f9309d246571afffaac500a096006}} 
void \hyperlink{a07832_a8d9f9309d246571afffaac500a096006}{enable\+\_\+color\+\_\+material} ()
\begin{DoxyCompactList}\small\item\em Enable Color \hyperlink{a07828}{Material}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aa1d0a6b30362913ad28b35ec6e1787e0}\label{a07832_aa1d0a6b30362913ad28b35ec6e1787e0}} 
void \hyperlink{a07832_aa1d0a6b30362913ad28b35ec6e1787e0}{disable\+\_\+color\+\_\+material} ()
\begin{DoxyCompactList}\small\item\em Disable Color \hyperlink{a07828}{Material}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a41899a626915ddbc366a740abd5e9e0d}\label{a07832_a41899a626915ddbc366a740abd5e9e0d}} 
bool \hyperlink{a07832_a41899a626915ddbc366a740abd5e9e0d}{color\+Material} ()
\begin{DoxyCompactList}\small\item\em get color\+Material state \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_af10f217b3a822d14ebeba5e6c2ba8a77}\label{a07832_af10f217b3a822d14ebeba5e6c2ba8a77}} 
void \hyperlink{a07832_af10f217b3a822d14ebeba5e6c2ba8a77}{set\+\_\+shininess} (float \+\_\+s)
\begin{DoxyCompactList}\small\item\em set shininess \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a93c6ed394b2f01fbe56e3ef4f32e6f1b}\label{a07832_a93c6ed394b2f01fbe56e3ef4f32e6f1b}} 
float \hyperlink{a07832_a93c6ed394b2f01fbe56e3ef4f32e6f1b}{shininess} () const
\begin{DoxyCompactList}\small\item\em get shininess \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a98a743b5c73c86b3b0d180687a0ac061}\label{a07832_a98a743b5c73c86b3b0d180687a0ac061}} 
void \hyperlink{a07832_a98a743b5c73c86b3b0d180687a0ac061}{set\+\_\+reflectance} (double \+\_\+m)
\begin{DoxyCompactList}\small\item\em set reflectance \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aa3f7bed027f3de2e82d3e24532593400}\label{a07832_aa3f7bed027f3de2e82d3e24532593400}} 
double \hyperlink{a07832_aa3f7bed027f3de2e82d3e24532593400}{reflectance} () const
\begin{DoxyCompactList}\small\item\em get reflectance \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a81bdabf5d8b9bddbff2ccca917c9af48}\label{a07832_a81bdabf5d8b9bddbff2ccca917c9af48}} 
void \hyperlink{a07832_a81bdabf5d8b9bddbff2ccca917c9af48}{set\+\_\+index\+Of\+Refraction} (double \+\_\+m)
\begin{DoxyCompactList}\small\item\em set index of refraction \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a27b48e3419c53f6f492f4b631dd2da88}\label{a07832_a27b48e3419c53f6f492f4b631dd2da88}} 
double \hyperlink{a07832_a27b48e3419c53f6f492f4b631dd2da88}{index\+Of\+Refraction} () const
\begin{DoxyCompactList}\small\item\em get index of refraction \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a6ee28668e4221a846125595c17977a41}\label{a07832_a6ee28668e4221a846125595c17977a41}} 
void \hyperlink{a07832_a6ee28668e4221a846125595c17977a41}{set\+\_\+refractive} (bool \+\_\+r)
\begin{DoxyCompactList}\small\item\em set refractive flag \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a528a8b27a7ff3aab4176f730093799b6}\label{a07832_a528a8b27a7ff3aab4176f730093799b6}} 
bool \hyperlink{a07832_a528a8b27a7ff3aab4176f730093799b6}{is\+Refractive} () const
\begin{DoxyCompactList}\small\item\em get refractive flag \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Point/\+Line controls}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07832_af469b7eb11bc2e7a79a7b7e7f7014924}\label{a07832_af469b7eb11bc2e7a79a7b7e7f7014924}} 
void \hyperlink{a07832_af469b7eb11bc2e7a79a7b7e7f7014924}{set\+\_\+point\+\_\+size} (float \+\_\+sz)
\begin{DoxyCompactList}\small\item\em set point size (default\+: 1.\+0) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_af9de8bb7dfc74e0a7fc5ba1a6eb978ca}\label{a07832_af9de8bb7dfc74e0a7fc5ba1a6eb978ca}} 
float \hyperlink{a07832_af9de8bb7dfc74e0a7fc5ba1a6eb978ca}{point\+\_\+size} () const
\begin{DoxyCompactList}\small\item\em get point size \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aa938665fd543ffd0082b93a45d359e9f}\label{a07832_aa938665fd543ffd0082b93a45d359e9f}} 
void \hyperlink{a07832_aa938665fd543ffd0082b93a45d359e9f}{set\+\_\+line\+\_\+width} (float \+\_\+sz)
\begin{DoxyCompactList}\small\item\em set line width (default\+: 1.\+0) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_ab7bf5e54c041a44541eed7c826c2e1c7}\label{a07832_ab7bf5e54c041a44541eed7c826c2e1c7}} 
float \hyperlink{a07832_ab7bf5e54c041a44541eed7c826c2e1c7}{line\+\_\+width} () const
\begin{DoxyCompactList}\small\item\em get line width \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aa4bc5de5e31c366670e69da1c9bc3b93}\label{a07832_aa4bc5de5e31c366670e69da1c9bc3b93}} 
void \hyperlink{a07832_aa4bc5de5e31c366670e69da1c9bc3b93}{set\+\_\+round\+\_\+points} (bool \+\_\+b)
\begin{DoxyCompactList}\small\item\em set round points enabled \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_aa4ae1dd5bf501832c84b8f4995411269}\label{a07832_aa4ae1dd5bf501832c84b8f4995411269}} 
bool \hyperlink{a07832_aa4ae1dd5bf501832c84b8f4995411269}{round\+\_\+points} () const
\begin{DoxyCompactList}\small\item\em get round points enabled \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a863688960d0f817d333fd447e854d4ca}\label{a07832_a863688960d0f817d333fd447e854d4ca}} 
void \hyperlink{a07832_a863688960d0f817d333fd447e854d4ca}{set\+\_\+line\+\_\+smooth} (bool \+\_\+b)
\begin{DoxyCompactList}\small\item\em set\+: smooth lines enabled \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_acb826de017f39eb7fed4f25cb37e5e2f}\label{a07832_acb826de017f39eb7fed4f25cb37e5e2f}} 
bool \hyperlink{a07832_acb826de017f39eb7fed4f25cb37e5e2f}{line\+\_\+smooth} () const
\begin{DoxyCompactList}\small\item\em get\+: rsmooth lines enabled \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Tests}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07832_a7d4cc03092679a9dbeff1be63e4fbbc1}\label{a07832_a7d4cc03092679a9dbeff1be63e4fbbc1}} 
void \hyperlink{a07832_a7d4cc03092679a9dbeff1be63e4fbbc1}{enable\+\_\+alpha\+\_\+test} (float \+\_\+clip)
\begin{DoxyCompactList}\small\item\em enable alpha test (draw pixels if alpha $>$= \+\_\+clip) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_ac3a7fcce2cf3aa92b5dffbd53c80f373}\label{a07832_ac3a7fcce2cf3aa92b5dffbd53c80f373}} 
void \hyperlink{a07832_ac3a7fcce2cf3aa92b5dffbd53c80f373}{disable\+\_\+alpha\+\_\+test} ()
\begin{DoxyCompactList}\small\item\em disable alpha test \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_ab9e9272e3512f72885433dabde7010e1}\label{a07832_ab9e9272e3512f72885433dabde7010e1}} 
bool \hyperlink{a07832_ab9e9272e3512f72885433dabde7010e1}{alpha\+\_\+test} ()
\begin{DoxyCompactList}\small\item\em Return state of Alpha test. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Other Rendering options}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07832_a19f30bd8f1c4a6ce82b1000de71465de}\label{a07832_a19f30bd8f1c4a6ce82b1000de71465de}} 
void \hyperlink{a07832_a19f30bd8f1c4a6ce82b1000de71465de}{enable\+\_\+multisampling} ()
\begin{DoxyCompactList}\small\item\em Enable Multisampling. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_ad206bc934d3cbbe88b64bddfb42fd338}\label{a07832_ad206bc934d3cbbe88b64bddfb42fd338}} 
void \hyperlink{a07832_ad206bc934d3cbbe88b64bddfb42fd338}{disable\+\_\+multisampling} ()
\begin{DoxyCompactList}\small\item\em enable alpha test (draw pixels if alpha $>$= \+\_\+clip) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a08c3a30bf352dad6bcbe8ddb93c15cfc}\label{a07832_a08c3a30bf352dad6bcbe8ddb93c15cfc}} 
bool \hyperlink{a07832_a08c3a30bf352dad6bcbe8ddb93c15cfc}{multi\+Sampling} ()
\begin{DoxyCompactList}\small\item\em Get state of multisampling. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a003811df8c9a32edd699d2bf14215d89}\label{a07832_a003811df8c9a32edd699d2bf14215d89}} 
void \hyperlink{a07832_a003811df8c9a32edd699d2bf14215d89}{set\+\_\+multisampling} (bool \+\_\+state)
\begin{DoxyCompactList}\small\item\em Set state of multisampling. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07832_a53e71d99a5f1cc38f6b722cd7510624b}\label{a07832_a53e71d99a5f1cc38f6b722cd7510624b}} 
int \hyperlink{a07832_a53e71d99a5f1cc38f6b722cd7510624b}{apply\+Properties\+\_\+}
\begin{DoxyCompactList}\small\item\em OR\textquotesingle{}ed Apply\+Properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a7ef51f1ad39d5f1673757d8eea6c612a}\label{a07832_a7ef51f1ad39d5f1673757d8eea6c612a}} 
\hyperlink{a07828}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} \hyperlink{a07832_a7ef51f1ad39d5f1673757d8eea6c612a}{material\+\_\+}
\begin{DoxyCompactList}\small\item\em Local material class that actually stores the properties. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07832_a6a9f0a0902ede9be990b2e89d54ee192}\label{a07832_a6a9f0a0902ede9be990b2e89d54ee192}} 
\hyperlink{a07828}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} \hyperlink{a07832_a6a9f0a0902ede9be990b2e89d54ee192}{material\+Backup\+\_\+}
\begin{DoxyCompactList}\small\item\em \hyperlink{a07828}{Material} Backup. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Set material and some other stuff like alphatest and blending for this node and all its children. All changes will be done in the \hyperlink{a07832_a920ca6f2024b8d2a6c34ebb5b1c302ec}{enter()} method undone in the \hyperlink{a07832_a5e3666e6f9b8c51e958e3fe7d07740f7}{leave()} method. 

Definition at line 338 of file Material\+Node.\+hh.



\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bf}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bf}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Apply\+Properties@{Apply\+Properties}}
\index{Apply\+Properties@{Apply\+Properties}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}
\subsubsection{\texorpdfstring{Apply\+Properties}{ApplyProperties}}
{\footnotesize\ttfamily enum \hyperlink{a07832_a88d2e5cab72aff681726ee9957e5b5bf}{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node\+::\+Apply\+Properties}}



Apply which properties? Others will be ignored. Values may be OR\textquotesingle{}ed. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{None@{None}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!None@{None}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa739fc70694cf2d41e5650d456aa1fb2a}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa739fc70694cf2d41e5650d456aa1fb2a}} 
None&apply nothing \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{All@{All}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!All@{All}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa6abb4c786d4327cbccf24dff6e21ef4f}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa6abb4c786d4327cbccf24dff6e21ef4f}} 
All&apply all properites \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Base\+Color@{Base\+Color}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Base\+Color@{Base\+Color}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa06a664ca9214ef4b1006d21a625ba5e4}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa06a664ca9214ef4b1006d21a625ba5e4}} 
Base\+Color&apply base color \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Material@{Material}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Material@{Material}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfab3847a06eac1e737cd20ac8a5dfebc48}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfab3847a06eac1e737cd20ac8a5dfebc48}} 
Material&apply material (ambient, diffuse, specular, shininess) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Point\+Size@{Point\+Size}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Point\+Size@{Point\+Size}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa8270cda942ad0c023a0ffe308c26df1c}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa8270cda942ad0c023a0ffe308c26df1c}} 
Point\+Size&apply point size \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Line\+Width@{Line\+Width}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Line\+Width@{Line\+Width}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfacf45eb1dfb693c7b5dafdd54370a066a}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfacf45eb1dfb693c7b5dafdd54370a066a}} 
Line\+Width&apply line width \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Round\+Points@{Round\+Points}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Round\+Points@{Round\+Points}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa2bcd542c5d1a92bbb66b596964063f6c}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa2bcd542c5d1a92bbb66b596964063f6c}} 
Round\+Points&draw smooth (round) points using gl\+Point() \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Line\+Smooth@{Line\+Smooth}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Line\+Smooth@{Line\+Smooth}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa6065dee84adb87aeedb8c04f34dd5ae7}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa6065dee84adb87aeedb8c04f34dd5ae7}} 
Line\+Smooth&draw smooth lines using gl\+Line() \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Alpha\+Test@{Alpha\+Test}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Alpha\+Test@{Alpha\+Test}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfaf0658e7efda8e67f22f891730f9466df}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfaf0658e7efda8e67f22f891730f9466df}} 
Alpha\+Test&use alpha test \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Blending@{Blending}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Blending@{Blending}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa1c0767b0f37b40124b468d07aed9516e}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa1c0767b0f37b40124b468d07aed9516e}} 
Blending&use blending \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Back\+Face\+Culling@{Back\+Face\+Culling}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Back\+Face\+Culling@{Back\+Face\+Culling}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa20d6d294434f84d6ef2dac661da81a30}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa20d6d294434f84d6ef2dac661da81a30}} 
Back\+Face\+Culling&backface culling \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Color\+Material@{Color\+Material}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Color\+Material@{Color\+Material}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfa76f159ebeb2fc8540a9f880ad931e864}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfa76f159ebeb2fc8540a9f880ad931e864}} 
Color\+Material&Color \hyperlink{a07828}{Material} ( Only when a drawmode using shading and lighting is enabled ) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{Multi\+Sampling@{Multi\+Sampling}!A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Material\+Node}!Multi\+Sampling@{Multi\+Sampling}}}\mbox{\Hypertarget{a07832_a88d2e5cab72aff681726ee9957e5b5bfac8f6265ae9eaeb72d6bff57723ed8cf1}\label{a07832_a88d2e5cab72aff681726ee9957e5b5bfac8f6265ae9eaeb72d6bff57723ed8cf1}} 
Multi\+Sampling&Multi\+Sampling. \\
\hline

\end{DoxyEnumFields}


Definition at line 343 of file Material\+Node.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+Scenegraph/Material\+Node.\+hh\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+Scenegraph/Material\+Node.\+cc\end{DoxyCompactItemize}
