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


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




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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00512_a71999eb7e94b5e748948a001b03aca36}{{\bfseries Draw\+Mode\+Properties} (\hyperlink{a03347_aff5214aaf6e6caba8f1a09f816d544fe}{Draw\+Mode\+Primitive} \+\_\+primitive=P\+R\+I\+M\+I\+T\+I\+V\+E\+\_\+\+P\+O\+L\+Y\+G\+O\+N, \hyperlink{a03347_a225c5d9c693ecbcae541b84b4e1cceae}{Draw\+Mode\+Light\+Stage} \+\_\+light\+Stage=\hyperlink{a03347_a225c5d9c693ecbcae541b84b4e1cceaeae1d1e7dfea7e39b8c69fa4510abdc345}{L\+I\+G\+H\+T\+S\+T\+A\+G\+E\+\_\+\+U\+N\+L\+I\+T}, \hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3}{Draw\+Mode\+Normal\+Source} \+\_\+normal\+Source=\hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3aa95c2375311e3e2980eb9e00693c2e20}{N\+O\+R\+M\+A\+L\+\_\+\+N\+O\+N\+E}, \hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479}{Draw\+Mode\+Color\+Source} \+\_\+color\+Source=\hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479abbff308cc59983c5d96b2a28c46c089a}{C\+O\+L\+O\+R\+\_\+\+N\+O\+N\+E}, \hyperlink{a03347_a93189412ca623f8335573682495acae5}{Draw\+Mode\+Tex\+Coord\+Source} \+\_\+texcoord\+Source=\hyperlink{a03347_a93189412ca623f8335573682495acae5aae0c92380d85135d8223e0411a2c5e73}{T\+E\+X\+C\+O\+O\+R\+D\+\_\+\+N\+O\+N\+E}, bool \+\_\+env\+Mapping=false)}\label{a00512_a71999eb7e94b5e748948a001b03aca36}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

\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{a00512_aa913e3b926b257e5f3afc72306ca6b9d}{operator!=} (const \hyperlink{a00512}{Draw\+Mode\+Properties} \&\+\_\+other) const 
\begin{DoxyCompactList}\small\item\em compare two properties \end{DoxyCompactList}\item 
bool \hyperlink{a00512_a2de759f9d00cc630e54f1f251a92acb1}{operator==} (const \hyperlink{a00512}{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{a00512_af2fe19de2f3816a185b0ba35620d3b19}{bool {\bfseries env\+Mapped\+\_\+}}\label{a00512_af2fe19de2f3816a185b0ba35620d3b19}

\item 
\hypertarget{a00512_afba5a5a31e29632fa8130ff5707d452e}{\hyperlink{a03347_aff5214aaf6e6caba8f1a09f816d544fe}{Draw\+Mode\+Primitive} \hyperlink{a00512_afba5a5a31e29632fa8130ff5707d452e}{primitive\+\_\+}}\label{a00512_afba5a5a31e29632fa8130ff5707d452e}

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

\item 
\hypertarget{a00512_a7bbc914b77e5e8ee83559134e0294cb5}{\hyperlink{a03347_a874611037c39fcd3319a8c1af73ab479}{Draw\+Mode\+Color\+Source} {\bfseries color\+Source\+\_\+}}\label{a00512_a7bbc914b77e5e8ee83559134e0294cb5}

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

\item 
\hypertarget{a00512_ae4a2a4f33135eac847dca8dd473ce121}{\hyperlink{a03347_ad95f643fa1956884e8f35ad6bbbcb1b3}{Draw\+Mode\+Normal\+Source} {\bfseries normal\+Source\+\_\+}}\label{a00512_ae4a2a4f33135eac847dca8dd473ce121}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a00512}{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{a03347}{Draw\+Modes} i.\+e. flat + wireframe you have to use the layer approach of \hyperlink{a00509}{Draw\+Mode}. 

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



\subsection{Member Function Documentation}
\hypertarget{a00512_aa913e3b926b257e5f3afc72306ca6b9d}{\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[{operator"!=}]{\setlength{\rightskip}{0pt plus 5cm}bool 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{a00512_aa913e3b926b257e5f3afc72306ca6b9d}


compare two properties 


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


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

\hypertarget{a00512_a2de759f9d00cc630e54f1f251a92acb1}{\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[{operator==}]{\setlength{\rightskip}{0pt plus 5cm}bool 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{a00512_a2de759f9d00cc630e54f1f251a92acb1}


compare two properties 


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


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



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
A\+C\+G/\+Scenegraph/Draw\+Modes.\+hh\end{DoxyCompactItemize}
