\hypertarget{a07788}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Draw\+Modes\+:\+:Draw\+Mode\+Properties Class Reference}
\label{a07788}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}}


\hyperlink{a07788}{Draw\+Mode\+Properties} stores a set of properties that defines, how to render an object.  




{\ttfamily \#include $<$Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+Scenegraph/\+Draw\+Modes.\+hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07788_a71999eb7e94b5e748948a001b03aca36}\label{a07788_a71999eb7e94b5e748948a001b03aca36}} 
{\bfseries Draw\+Mode\+Properties} (\hyperlink{a06191_aff5214aaf6e6caba8f1a09f816d544fe}{Draw\+Mode\+Primitive} \+\_\+primitive=P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+L\+Y\+G\+ON, \hyperlink{a06191_a225c5d9c693ecbcae541b84b4e1cceae}{Draw\+Mode\+Light\+Stage} \+\_\+light\+Stage=\hyperlink{a06191_a225c5d9c693ecbcae541b84b4e1cceaeae1d1e7dfea7e39b8c69fa4510abdc345}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+IT}, \hyperlink{a06191_ad95f643fa1956884e8f35ad6bbbcb1b3}{Draw\+Mode\+Normal\+Source} \+\_\+normal\+Source=\hyperlink{a06191_ad95f643fa1956884e8f35ad6bbbcb1b3aa95c2375311e3e2980eb9e00693c2e20}{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+NE}, \hyperlink{a06191_a874611037c39fcd3319a8c1af73ab479}{Draw\+Mode\+Color\+Source} \+\_\+color\+Source=\hyperlink{a06191_a874611037c39fcd3319a8c1af73ab479abbff308cc59983c5d96b2a28c46c089a}{C\+O\+L\+O\+R\+\_\+\+N\+O\+NE}, \hyperlink{a06191_a93189412ca623f8335573682495acae5}{Draw\+Mode\+Tex\+Coord\+Source} \+\_\+texcoord\+Source=\hyperlink{a06191_a93189412ca623f8335573682495acae5aae0c92380d85135d8223e0411a2c5e73}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+NE}, bool \+\_\+env\+Mapping=false)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Getter/\+Setter of all properties}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07788_a6932147a17665552b9514f7898de6053}\label{a07788_a6932147a17665552b9514f7898de6053}} 
\hyperlink{a06191_aff5214aaf6e6caba8f1a09f816d544fe}{Draw\+Mode\+Primitive} {\bfseries primitive} () const
\item 
\mbox{\Hypertarget{a07788_a5ddb3c8dcbd0ca9b77136045cf8b33b7}\label{a07788_a5ddb3c8dcbd0ca9b77136045cf8b33b7}} 
void {\bfseries primitive} (\hyperlink{a06191_aff5214aaf6e6caba8f1a09f816d544fe}{Draw\+Mode\+Primitive} \+\_\+val)
\item 
\mbox{\Hypertarget{a07788_aa84eb5cb58aa1bfb7b7667ed60a7890f}\label{a07788_aa84eb5cb58aa1bfb7b7667ed60a7890f}} 
\hyperlink{a06191_a225c5d9c693ecbcae541b84b4e1cceae}{Draw\+Mode\+Light\+Stage} {\bfseries light\+Stage} () const
\item 
\mbox{\Hypertarget{a07788_ac308877a7e4c121d43b0a0c9ee75e49b}\label{a07788_ac308877a7e4c121d43b0a0c9ee75e49b}} 
void {\bfseries light\+Stage} (\hyperlink{a06191_a225c5d9c693ecbcae541b84b4e1cceae}{Draw\+Mode\+Light\+Stage} \+\_\+val)
\item 
\mbox{\Hypertarget{a07788_ae879439ab360fd400f6c53c3b9ec38f3}\label{a07788_ae879439ab360fd400f6c53c3b9ec38f3}} 
\hyperlink{a06191_a874611037c39fcd3319a8c1af73ab479}{Draw\+Mode\+Color\+Source} {\bfseries color\+Source} () const
\item 
\mbox{\Hypertarget{a07788_a26e21337b934905ecbc57bd94791c083}\label{a07788_a26e21337b934905ecbc57bd94791c083}} 
void {\bfseries color\+Source} (\hyperlink{a06191_a874611037c39fcd3319a8c1af73ab479}{Draw\+Mode\+Color\+Source} \+\_\+val)
\item 
\mbox{\Hypertarget{a07788_a464cfc86b56c26e3a83e4356182b3a66}\label{a07788_a464cfc86b56c26e3a83e4356182b3a66}} 
\hyperlink{a06191_ad95f643fa1956884e8f35ad6bbbcb1b3}{Draw\+Mode\+Normal\+Source} {\bfseries normal\+Source} () const
\item 
\mbox{\Hypertarget{a07788_ad9da5bce12c17093cc4a3889cfd218d4}\label{a07788_ad9da5bce12c17093cc4a3889cfd218d4}} 
void {\bfseries normal\+Source} (\hyperlink{a06191_ad95f643fa1956884e8f35ad6bbbcb1b3}{Draw\+Mode\+Normal\+Source} \+\_\+val)
\item 
\mbox{\Hypertarget{a07788_a6f52bbd48006c98eb232a7d042347fd1}\label{a07788_a6f52bbd48006c98eb232a7d042347fd1}} 
\hyperlink{a06191_a93189412ca623f8335573682495acae5}{Draw\+Mode\+Tex\+Coord\+Source} {\bfseries texcoord\+Source} () const
\item 
\mbox{\Hypertarget{a07788_acbc55bbb24dcd811b45b3d1619233802}\label{a07788_acbc55bbb24dcd811b45b3d1619233802}} 
void {\bfseries texcoord\+Source} (\hyperlink{a06191_a93189412ca623f8335573682495acae5}{Draw\+Mode\+Tex\+Coord\+Source} \+\_\+val)
\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Helper functions for more convenient use in renderer}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07788_ae4a819b1048209f23fff3fd824c3bc11}\label{a07788_ae4a819b1048209f23fff3fd824c3bc11}} 
bool \hyperlink{a07788_ae4a819b1048209f23fff3fd824c3bc11}{lighting} () const
\begin{DoxyCompactList}\small\item\em Is lighting enabled? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07788_a5b9dc91d7cc16041ea98bd0810f069ec}\label{a07788_a5b9dc91d7cc16041ea98bd0810f069ec}} 
bool \hyperlink{a07788_a5b9dc91d7cc16041ea98bd0810f069ec}{textured} () const
\begin{DoxyCompactList}\small\item\em Is texturing enabled? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07788_a26f7640b36659ec3a12ff093faacc208}\label{a07788_a26f7640b36659ec3a12ff093faacc208}} 
bool \hyperlink{a07788_a26f7640b36659ec3a12ff093faacc208}{colored} () const
\begin{DoxyCompactList}\small\item\em Are colors used? \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07788_ad09f98a4e2f0a3bc04f9c06f12277d26}\label{a07788_ad09f98a4e2f0a3bc04f9c06f12277d26}} 
bool \hyperlink{a07788_ad09f98a4e2f0a3bc04f9c06f12277d26}{flat\+Shaded} () const
\begin{DoxyCompactList}\small\item\em Is flat shading used (Normals per face)? \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}\textbf{ Comparison functions}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a07788_a6101a724160ec82f8521b7b564e8fc3e}{operator!=} (const \hyperlink{a07788}{Draw\+Mode\+Properties} \&\+\_\+other) const
\begin{DoxyCompactList}\small\item\em compare two properties \end{DoxyCompactList}\item 
bool \hyperlink{a07788_a605062aca0edcde984611aa2425989eb}{operator==} (const \hyperlink{a07788}{Draw\+Mode\+Properties} \&\+\_\+other) const
\begin{DoxyCompactList}\small\item\em compare two properties \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07788_af2fe19de2f3816a185b0ba35620d3b19}\label{a07788_af2fe19de2f3816a185b0ba35620d3b19}} 
bool {\bfseries env\+Mapped\+\_\+}
\item 
\mbox{\Hypertarget{a07788_afba5a5a31e29632fa8130ff5707d452e}\label{a07788_afba5a5a31e29632fa8130ff5707d452e}} 
\hyperlink{a06191_aff5214aaf6e6caba8f1a09f816d544fe}{Draw\+Mode\+Primitive} \hyperlink{a07788_afba5a5a31e29632fa8130ff5707d452e}{primitive\+\_\+}
\begin{DoxyCompactList}\small\item\em Specify which type of primitives will get uploaded to the graphics card. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07788_a060a76703f5d04eafa56a04021cf647c}\label{a07788_a060a76703f5d04eafa56a04021cf647c}} 
\hyperlink{a06191_a225c5d9c693ecbcae541b84b4e1cceae}{Draw\+Mode\+Light\+Stage} {\bfseries light\+Stage\+\_\+}
\item 
\mbox{\Hypertarget{a07788_a7bbc914b77e5e8ee83559134e0294cb5}\label{a07788_a7bbc914b77e5e8ee83559134e0294cb5}} 
\hyperlink{a06191_a874611037c39fcd3319a8c1af73ab479}{Draw\+Mode\+Color\+Source} {\bfseries color\+Source\+\_\+}
\item 
\mbox{\Hypertarget{a07788_a884cacf423450eb0d727134f53022c72}\label{a07788_a884cacf423450eb0d727134f53022c72}} 
\hyperlink{a06191_a93189412ca623f8335573682495acae5}{Draw\+Mode\+Tex\+Coord\+Source} {\bfseries texcoord\+Source\+\_\+}
\item 
\mbox{\Hypertarget{a07788_ae4a2a4f33135eac847dca8dd473ce121}\label{a07788_ae4a2a4f33135eac847dca8dd473ce121}} 
\hyperlink{a06191_ad95f643fa1956884e8f35ad6bbbcb1b3}{Draw\+Mode\+Normal\+Source} {\bfseries normal\+Source\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a07788}{Draw\+Mode\+Properties} stores a set of properties that defines, how to render an object. 

A property may be the primitive type, normal source, color source ... Each property is atomic, i.\+e. it can not be combined with other properties of the same type. Example\+: primitive may be P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+L\+Y\+G\+ON or P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+I\+N\+TS, but not both at the same time. This restriction makes a property set well defined; it is always a valid set of properties. To have combined \hyperlink{a06191}{Draw\+Modes} i.\+e. flat + wireframe you have to use the layer approach of \hyperlink{a07792}{Draw\+Mode}. 

Definition at line 177 of file Draw\+Modes.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a07788_a6101a724160ec82f8521b7b564e8fc3e}\label{a07788_a6101a724160ec82f8521b7b564e8fc3e}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}}
\subsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily bool A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties\+::operator!= (\begin{DoxyParamCaption}\item[{const \hyperlink{a07788}{Draw\+Mode\+Properties} \&}]{\+\_\+other }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



compare two properties 


\begin{DoxyParams}{Parameters}
{\em \+\_\+other} & Right hand side \\
\hline
\end{DoxyParams}


Definition at line 237 of file Draw\+Modes.\+hh.

\mbox{\Hypertarget{a07788_a605062aca0edcde984611aa2425989eb}\label{a07788_a605062aca0edcde984611aa2425989eb}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}!operator==@{operator==}}
\index{operator==@{operator==}!A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}}
\subsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily bool A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties\+::operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{a07788}{Draw\+Mode\+Properties} \&}]{\+\_\+other }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



compare two properties 


\begin{DoxyParams}{Parameters}
{\em \+\_\+other} & Right hand side \\
\hline
\end{DoxyParams}


Definition at line 251 of file Draw\+Modes.\+hh.



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