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


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


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00513_a71999eb7e94b5e748948a001b03aca36}{{\bfseries Draw\+Mode\+Properties} (\hyperlink{a03346_abb087eecc84bd0123089399da8979113}{Draw\+Mode\+Primitive} \+\_\+primitive=P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+L\+Y\+G\+O\+N, \hyperlink{a03346_a9169ffce8c6d4ecdbe4e36ab81cbe5d9}{Draw\+Mode\+Light\+Stage} \+\_\+light\+Stage=\hyperlink{a03346_a9169ffce8c6d4ecdbe4e36ab81cbe5d9acdd8c4876fee0e028fab0b8b9f43ca85}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T}, \hyperlink{a03346_a5c4ac6de94cdd92d63e677175b83c4f7}{Draw\+Mode\+Normal\+Source} \+\_\+normal\+Source=\hyperlink{a03346_a5c4ac6de94cdd92d63e677175b83c4f7aba40328b2c415b3f2b6f3ff8a744721f}{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E}, \hyperlink{a03346_a65a2342d883edfa4dba2e9848acc2d22}{Draw\+Mode\+Color\+Source} \+\_\+color\+Source=\hyperlink{a03346_a65a2342d883edfa4dba2e9848acc2d22a0b2fcbb1c797443f94579dc3eb2c2c20}{C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E}, \hyperlink{a03346_aed85bdb2e184294bf46569169eb84de0}{Draw\+Mode\+Tex\+Coord\+Source} \+\_\+texcoord\+Source=\hyperlink{a03346_aed85bdb2e184294bf46569169eb84de0a51e78d77784a7154c1ebc54746d4d128}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E}, bool \+\_\+env\+Mapping=false)}\label{a00513_a71999eb7e94b5e748948a001b03aca36}

\end{DoxyCompactItemize}
\begin{Indent}{\bf Getter/\+Setter of all properties}\par
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00513_a4509377184eaf1f531a25fe4510bd47d}{\hyperlink{a03346_abb087eecc84bd0123089399da8979113}{Draw\+Mode\+Primitive} {\bfseries primitive} () const }\label{a00513_a4509377184eaf1f531a25fe4510bd47d}

\item 
\hypertarget{a00513_aca2c74fe1b9adb9cfb08e9e9cd1c63a1}{void {\bfseries primitive} (\hyperlink{a03346_abb087eecc84bd0123089399da8979113}{Draw\+Mode\+Primitive} \+\_\+val)}\label{a00513_aca2c74fe1b9adb9cfb08e9e9cd1c63a1}

\item 
\hypertarget{a00513_acffed96b4902fe25e6b4b042a5d7b3ba}{\hyperlink{a03346_a9169ffce8c6d4ecdbe4e36ab81cbe5d9}{Draw\+Mode\+Light\+Stage} {\bfseries light\+Stage} () const }\label{a00513_acffed96b4902fe25e6b4b042a5d7b3ba}

\item 
\hypertarget{a00513_aac2268736cf299839988ab66234415be}{void {\bfseries light\+Stage} (\hyperlink{a03346_a9169ffce8c6d4ecdbe4e36ab81cbe5d9}{Draw\+Mode\+Light\+Stage} \+\_\+val)}\label{a00513_aac2268736cf299839988ab66234415be}

\item 
\hypertarget{a00513_a7efd44a2edd1b5b8d363f8f15daca315}{\hyperlink{a03346_a65a2342d883edfa4dba2e9848acc2d22}{Draw\+Mode\+Color\+Source} {\bfseries color\+Source} () const }\label{a00513_a7efd44a2edd1b5b8d363f8f15daca315}

\item 
\hypertarget{a00513_a8f74d4cba1536497453957c279bc37b4}{void {\bfseries color\+Source} (\hyperlink{a03346_a65a2342d883edfa4dba2e9848acc2d22}{Draw\+Mode\+Color\+Source} \+\_\+val)}\label{a00513_a8f74d4cba1536497453957c279bc37b4}

\item 
\hypertarget{a00513_ac2a314622d61aba86449e1750da3f5fb}{\hyperlink{a03346_a5c4ac6de94cdd92d63e677175b83c4f7}{Draw\+Mode\+Normal\+Source} {\bfseries normal\+Source} () const }\label{a00513_ac2a314622d61aba86449e1750da3f5fb}

\item 
\hypertarget{a00513_aed0ce812a7eb3d061f4fd8b01f4df6f9}{void {\bfseries normal\+Source} (\hyperlink{a03346_a5c4ac6de94cdd92d63e677175b83c4f7}{Draw\+Mode\+Normal\+Source} \+\_\+val)}\label{a00513_aed0ce812a7eb3d061f4fd8b01f4df6f9}

\item 
\hypertarget{a00513_a3fe476ba2c085e41365a3f93c716d8f1}{\hyperlink{a03346_aed85bdb2e184294bf46569169eb84de0}{Draw\+Mode\+Tex\+Coord\+Source} {\bfseries texcoord\+Source} () const }\label{a00513_a3fe476ba2c085e41365a3f93c716d8f1}

\item 
\hypertarget{a00513_a787b2f2aaac54afe6a605dccda4e33ed}{void {\bfseries texcoord\+Source} (\hyperlink{a03346_aed85bdb2e184294bf46569169eb84de0}{Draw\+Mode\+Tex\+Coord\+Source} \+\_\+val)}\label{a00513_a787b2f2aaac54afe6a605dccda4e33ed}

\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Helper functions for more convenient use in renderer}\par
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00513_ad0ae8308142ccdc299506f386e5c9a32}{bool \hyperlink{a00513_ad0ae8308142ccdc299506f386e5c9a32}{lighting} () const }\label{a00513_ad0ae8308142ccdc299506f386e5c9a32}

\begin{DoxyCompactList}\small\item\em Is lighting enabled? \end{DoxyCompactList}\item 
\hypertarget{a00513_a42fb70c0c03664f581056af3f0f274fa}{bool \hyperlink{a00513_a42fb70c0c03664f581056af3f0f274fa}{textured} () const }\label{a00513_a42fb70c0c03664f581056af3f0f274fa}

\begin{DoxyCompactList}\small\item\em Is texturing enabled? \end{DoxyCompactList}\item 
\hypertarget{a00513_a5c1a8b6e8bead434cc757ca108e7757d}{bool \hyperlink{a00513_a5c1a8b6e8bead434cc757ca108e7757d}{colored} () const }\label{a00513_a5c1a8b6e8bead434cc757ca108e7757d}

\begin{DoxyCompactList}\small\item\em Are colors used? \end{DoxyCompactList}\item 
\hypertarget{a00513_a0fea5c2c90d80e5f729cb46e7577843a}{bool \hyperlink{a00513_a0fea5c2c90d80e5f729cb46e7577843a}{flat\+Shaded} () const }\label{a00513_a0fea5c2c90d80e5f729cb46e7577843a}

\begin{DoxyCompactList}\small\item\em Is flat shading used (Normals per face)? \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Comparison functions}\par
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a00513_a4ec4496b7b27ed9c4c598a4e4ffe36eb}{operator!=} (const \hyperlink{a00513}{Draw\+Mode\+Properties} \&\+\_\+other) const 
\begin{DoxyCompactList}\small\item\em compare two properties \end{DoxyCompactList}\item 
bool \hyperlink{a00513_a18c3b0c1e1377fad42d938e02677e389}{operator==} (const \hyperlink{a00513}{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 
\hypertarget{a00513_ad7feef034ba32924964c3f95a50efdbf}{bool {\bfseries env\+Mapped\+\_\+}}\label{a00513_ad7feef034ba32924964c3f95a50efdbf}

\item 
\hypertarget{a00513_a49cef5dcf74de472a58a90ad91e34936}{\hyperlink{a03346_abb087eecc84bd0123089399da8979113}{Draw\+Mode\+Primitive} \hyperlink{a00513_a49cef5dcf74de472a58a90ad91e34936}{primitive\+\_\+}}\label{a00513_a49cef5dcf74de472a58a90ad91e34936}

\begin{DoxyCompactList}\small\item\em Specify which type of primitives will get uploaded to the graphics card. \end{DoxyCompactList}\item 
\hypertarget{a00513_a8e893601a9063fdaeb4d123bd08934b3}{\hyperlink{a03346_a9169ffce8c6d4ecdbe4e36ab81cbe5d9}{Draw\+Mode\+Light\+Stage} {\bfseries light\+Stage\+\_\+}}\label{a00513_a8e893601a9063fdaeb4d123bd08934b3}

\item 
\hypertarget{a00513_a387e5611e722174d670a45f73de7e858}{\hyperlink{a03346_a65a2342d883edfa4dba2e9848acc2d22}{Draw\+Mode\+Color\+Source} {\bfseries color\+Source\+\_\+}}\label{a00513_a387e5611e722174d670a45f73de7e858}

\item 
\hypertarget{a00513_a16d90989000039079f9203a7f3ed6ee9}{\hyperlink{a03346_aed85bdb2e184294bf46569169eb84de0}{Draw\+Mode\+Tex\+Coord\+Source} {\bfseries texcoord\+Source\+\_\+}}\label{a00513_a16d90989000039079f9203a7f3ed6ee9}

\item 
\hypertarget{a00513_a9590a03db5f0991df61a1ac95f0f6ba9}{\hyperlink{a03346_a5c4ac6de94cdd92d63e677175b83c4f7}{Draw\+Mode\+Normal\+Source} {\bfseries normal\+Source\+\_\+}}\label{a00513_a9590a03db5f0991df61a1ac95f0f6ba9}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a00513}{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\+O\+N or P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+I\+N\+T\+S, 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{a03346}{Draw\+Modes} i.\+e. flat + wireframe you have to use the layer approach of \hyperlink{a00510}{Draw\+Mode}. 

Definition at line 183 of file Mesh\+Node2\+T.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00513_a4ec4496b7b27ed9c4c598a4e4ffe36eb}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}}
\subsubsection[{operator"!=}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties\+::operator!= (
\begin{DoxyParamCaption}
\item[{const {\bf Draw\+Mode\+Properties} \&}]{\+\_\+other}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a00513_a4ec4496b7b27ed9c4c598a4e4ffe36eb}


compare two properties 


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


Definition at line 243 of file Mesh\+Node2\+T.\+cc.

\hypertarget{a00513_a18c3b0c1e1377fad42d938e02677e389}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}!operator==@{operator==}}
\index{operator==@{operator==}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties}}
\subsubsection[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+Properties\+::operator== (
\begin{DoxyParamCaption}
\item[{const {\bf Draw\+Mode\+Properties} \&}]{\+\_\+other}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a00513_a18c3b0c1e1377fad42d938e02677e389}


compare two properties 


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


Definition at line 257 of file Mesh\+Node2\+T.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
A\+C\+G/\+Scenegraph/Mesh\+Node2\+T.\+cc\item 
A\+C\+G/\+Scenegraph/Draw\+Modes.\+cc\end{DoxyCompactItemize}
