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


Specifies a \hyperlink{a00510}{Draw\+Mode}.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00510_a4fe565c9a3f9e2c476e35769623f3199}{Draw\+Mode} (size\+\_\+t \+\_\+index)
\begin{DoxyCompactList}\small\item\em constructor for unsigned int. \end{DoxyCompactList}\item 
\hyperlink{a00510_a0c14965d5c96b5990ccf25e7317c8333}{Draw\+Mode} (Mode\+Flag\+Set \+\_\+flags)
\begin{DoxyCompactList}\small\item\em constructor for Mode\+Flags. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{a00510_a2d7c95c6ba72e961d0ed8e58e9fe55d6}{get\+Index} () const 
\begin{DoxyCompactList}\small\item\em get an index of the current draw\+Mode \end{DoxyCompactList}\item 
void \hyperlink{a00510_a374e16f2a13c812ba01c31c8d71108cc}{filter} (\hyperlink{a00510}{Draw\+Mode} \+\_\+filter)
\begin{DoxyCompactList}\small\item\em filter out one drawmode \end{DoxyCompactList}\item 
\hypertarget{a00510_a0de857671fd1181f84c1effc70ce87cd}{void \hyperlink{a00510_a0de857671fd1181f84c1effc70ce87cd}{combine} (\hyperlink{a00510}{Draw\+Mode} \+\_\+mode)}\label{a00510_a0de857671fd1181f84c1effc70ce87cd}

\begin{DoxyCompactList}\small\item\em combine with another drawmode \end{DoxyCompactList}\item 
std\+::string \hyperlink{a00510_a15149db6577ae54c0eb2931bb8d03215}{description} () const 
\item 
bool \hyperlink{a00510_a1e82c91b77f1378cb4473ba332d139c2}{is\+Atomic} () const 
\begin{DoxyCompactList}\small\item\em Check if this is an atomic draw Mode. \end{DoxyCompactList}\item 
\hypertarget{a00510_a5039b08de24a16df8f4f00364244901c}{bool \hyperlink{a00510_a5039b08de24a16df8f4f00364244901c}{contains\+Atomic\+Draw\+Mode} (\hyperlink{a00510}{Draw\+Mode} \+\_\+atomic\+Draw\+Mode) const }\label{a00510_a5039b08de24a16df8f4f00364244901c}

\begin{DoxyCompactList}\small\item\em Check whether an Atomic \hyperlink{a00510}{Draw\+Mode} is active in this draw Mode. \end{DoxyCompactList}\item 
std\+::vector$<$ \hyperlink{a00510}{Draw\+Mode} $>$ \hyperlink{a00510_ae3d7ee66ec1c6b892f4133c74c96513f}{get\+Atomic\+Draw\+Modes} () const 
\begin{DoxyCompactList}\small\item\em Separates this draw\+Mode into a list of all separate atomic draw modes. \end{DoxyCompactList}\item 
\hypertarget{a00510_ab931266a70958bac3ef90d41676d9123}{size\+\_\+t \hyperlink{a00510_ab931266a70958bac3ef90d41676d9123}{max\+Modes} () const }\label{a00510_ab931266a70958bac3ef90d41676d9123}

\begin{DoxyCompactList}\small\item\em Get the number of maximum Modes which could be handled by the current implementation. \end{DoxyCompactList}\item 
const \hyperlink{a00513}{Draw\+Mode\+Properties} $\ast$ \hyperlink{a00510_adc4055887d6fdb34477c58db696db53a}{get\+Draw\+Mode\+Properties} () const 
\begin{DoxyCompactList}\small\item\em returns the base properties of this draw mode \end{DoxyCompactList}\item 
void \hyperlink{a00510_adcc9a04caa493d1129922b487d9de014}{set\+Draw\+Mode\+Properties} (const \hyperlink{a00513}{Draw\+Mode\+Properties} $\ast$\+\_\+props)
\begin{DoxyCompactList}\small\item\em set the base properties of this draw mode \end{DoxyCompactList}\item 
void \hyperlink{a00510_a3992c60ee1e26b15db2fbd243b997799}{set\+Draw\+Mode\+Properties} (const \hyperlink{a00513}{Draw\+Mode\+Properties} \&\+\_\+props)
\begin{DoxyCompactList}\small\item\em set the base properties of this draw mode \end{DoxyCompactList}\item 
bool \hyperlink{a00510_abc891098dfe9fa000713eebd9aea224b}{check\+Consistency} () const 
\begin{DoxyCompactList}\small\item\em checks consistency of property layers \end{DoxyCompactList}\item 
int \hyperlink{a00510_afe076a11841ebe8a81b09279607acf54}{get\+Layer\+Index\+By\+Primitive} (\hyperlink{a03346_abb087eecc84bd0123089399da8979113}{Draw\+Mode\+Primitive} \+\_\+type) const 
\begin{DoxyCompactList}\small\item\em search for layer with specified primitive \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Operators}\par
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00510_aea962367a88b70d9c47b064e1ef1b358}{\hyperlink{a00510}{Draw\+Mode} \& {\bfseries operator=} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode)}\label{a00510_aea962367a88b70d9c47b064e1ef1b358}

\item 
\hypertarget{a00510_a2a9b7501effa25c9bdb891c11326cc6d}{bool {\bfseries operator==} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode) const }\label{a00510_a2a9b7501effa25c9bdb891c11326cc6d}

\item 
\hypertarget{a00510_a78d4b3b4c048c404619e23db806c07fb}{\hyperlink{a00510}{Draw\+Mode} {\bfseries operator\&} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode) const }\label{a00510_a78d4b3b4c048c404619e23db806c07fb}

\item 
\hypertarget{a00510_a0ff42fdc940819deda8aa6b165eb12a3}{\hyperlink{a00510}{Draw\+Mode} \& {\bfseries operator++} ()}\label{a00510_a0ff42fdc940819deda8aa6b165eb12a3}

\item 
\hypertarget{a00510_a7cdf4db0a56173d74e7fba69df5e09d1}{\hyperlink{a00510}{Draw\+Mode} \& {\bfseries operator$\vert$=} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode2)}\label{a00510_a7cdf4db0a56173d74e7fba69df5e09d1}

\item 
\hypertarget{a00510_addc1a747a4b988b43cdca1543ee4f6df}{\hyperlink{a00510}{Draw\+Mode} \& {\bfseries operator\&=} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode2)}\label{a00510_addc1a747a4b988b43cdca1543ee4f6df}

\item 
\hypertarget{a00510_a611da523716db3e0436ab57bb38fa41b}{bool {\bfseries operator!=} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode2) const }\label{a00510_a611da523716db3e0436ab57bb38fa41b}

\item 
\hypertarget{a00510_a5f0b9f7ac9df04d01f7f08388f2a2b86}{\hyperlink{a00510}{Draw\+Mode} {\bfseries operator$\vert$} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode2) const }\label{a00510_a5f0b9f7ac9df04d01f7f08388f2a2b86}

\item 
\hypertarget{a00510_a0a02dd34226bfa7f1866d2d39e861f5a}{\hyperlink{a00510}{Draw\+Mode} {\bfseries operator$^\wedge$} (const \hyperlink{a00510}{Draw\+Mode} \&\+\_\+mode2) const }\label{a00510_a0a02dd34226bfa7f1866d2d39e861f5a}

\item 
\hypertarget{a00510_a26fbf84e3aada89c638cdba5e8d4a696}{\hyperlink{a00510}{Draw\+Mode} {\bfseries operator$\sim$} () const }\label{a00510_a26fbf84e3aada89c638cdba5e8d4a696}

\item 
\hypertarget{a00510_a4c665a145ed1401cd8840a4f5e2e2e77}{{\bfseries operator bool} () const }\label{a00510_a4c665a145ed1401cd8840a4f5e2e2e77}

\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Layer Management}\par
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a00510_a0746c5dd0c371e2454ac74575d5e7f41}{add\+Layer} (const \hyperlink{a00513}{Draw\+Mode\+Properties} $\ast$\+\_\+props)
\begin{DoxyCompactList}\small\item\em add another layer on top of this drawmode \end{DoxyCompactList}\item 
\hypertarget{a00510_ab2e893c2dc3795098d21a584b5d05254}{size\+\_\+t \hyperlink{a00510_ab2e893c2dc3795098d21a584b5d05254}{get\+Num\+Layers} () const }\label{a00510_ab2e893c2dc3795098d21a584b5d05254}

\begin{DoxyCompactList}\small\item\em returns the layer count \end{DoxyCompactList}\item 
const \hyperlink{a00513}{Draw\+Mode\+Properties} $\ast$ \hyperlink{a00510_a68dbf116416720e2623a70ae9a80b691}{get\+Layer} (unsigned int \+\_\+i) const 
\begin{DoxyCompactList}\small\item\em returns the property set at layer i \end{DoxyCompactList}\item 
bool \hyperlink{a00510_a8fe573e10a03b879a5eeb41cf4b28944}{remove\+Layer} (unsigned int \+\_\+i)
\begin{DoxyCompactList}\small\item\em remove layer at index i \end{DoxyCompactList}\item 
bool \hyperlink{a00510_ab16cdd0674c8aa90e13070e780ba5574}{remove\+Layer} (const \hyperlink{a00513}{Draw\+Mode\+Properties} $\ast$\+\_\+prop)
\begin{DoxyCompactList}\small\item\em remove layer if it is in list \end{DoxyCompactList}\item 
int \hyperlink{a00510_a07a97b096251f59db5ba52f0a85dba95}{get\+Layer\+Index} (const \hyperlink{a00513}{Draw\+Mode\+Properties} $\ast$\+\_\+prop) const 
\begin{DoxyCompactList}\small\item\em returns layer index of a property, -\/1 if not in list \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00510_a9bbe426bef70b48a98a142f3ed987f55}{static \hyperlink{a00510}{Draw\+Mode} {\bfseries get\+From\+Description} (std\+::string \+\_\+description)}\label{a00510_a9bbe426bef70b48a98a142f3ed987f55}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00510_a45bfa63b1dfa240714f658f955321f66}{Mode\+Flag\+Set {\bfseries mode\+Flags\+\_\+}}\label{a00510_a45bfa63b1dfa240714f658f955321f66}

\item 
std\+::vector$<$ \hyperlink{a00513}{Draw\+Mode\+Properties} $>$ \hyperlink{a00510_ad86891a2a42cc45db439dd28a1e2baff}{layers\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Specifies a \hyperlink{a00510}{Draw\+Mode}. 

This class specifies a \hyperlink{a00510}{Draw\+Mode}. It can contain several properties and layers that define, how objects will be rendered. 

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



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a00510_a4fe565c9a3f9e2c476e35769623f3199}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!Draw\+Mode@{Draw\+Mode}}
\index{Draw\+Mode@{Draw\+Mode}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{Draw\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::\+Draw\+Mode (
\begin{DoxyParamCaption}
\item[{size\+\_\+t}]{\+\_\+index}
\end{DoxyParamCaption}
)}}\label{a00510_a4fe565c9a3f9e2c476e35769623f3199}


constructor for unsigned int. 

This constructor creates a \hyperlink{a00510}{Draw\+Mode} with the given draw\+Mode index. Be Care\+Full! this constructor can only be used to construct atomic draw modes! The int will not be handled like an bitset but really as an index. See the list of draw modes below to check for the right numbers. You should use the predefined draw\+Modes or create new ones using the other functions and ignore this constructor!


\begin{DoxyParams}{Parameters}
{\em \+\_\+index} & Index of the new \hyperlink{a00510}{Draw\+Mode} \\
\hline
\end{DoxyParams}


Definition at line 194 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a0c14965d5c96b5990ccf25e7317c8333}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!Draw\+Mode@{Draw\+Mode}}
\index{Draw\+Mode@{Draw\+Mode}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{Draw\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::\+Draw\+Mode (
\begin{DoxyParamCaption}
\item[{Mode\+Flag\+Set}]{\+\_\+flags}
\end{DoxyParamCaption}
)}}\label{a00510_a0c14965d5c96b5990ccf25e7317c8333}


constructor for Mode\+Flags. 

This constructor creates a \hyperlink{a00510}{Draw\+Mode} from a bitset. This makes it easier to predefine draw modes using a bitset.


\begin{DoxyParams}{Parameters}
{\em \+\_\+flags} & Flags for the new drawmode defined by a bitset \\
\hline
\end{DoxyParams}


Definition at line 211 of file Draw\+Modes.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00510_a0746c5dd0c371e2454ac74575d5e7f41}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!add\+Layer@{add\+Layer}}
\index{add\+Layer@{add\+Layer}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{add\+Layer}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::add\+Layer (
\begin{DoxyParamCaption}
\item[{const {\bf Draw\+Mode\+Properties} $\ast$}]{\+\_\+props}
\end{DoxyParamCaption}
)}}\label{a00510_a0746c5dd0c371e2454ac74575d5e7f41}


add another layer on top of this drawmode 

This allows for combinations of \hyperlink{a03346}{Draw\+Modes}. The renderer will iterator over all layers of the drawmode and issue a new draw call for each layer. Example\+: layer 0 \+: flat shading properties layer 1 \+: edge drawing properties

The result will be a flat shaded object with it's wireframe on top of it. Does duplicate check, in case the property set is already in the layer list.

add\+Layer is also called in bitwise $\vert$ operator for backwards compatibility with bitset \hyperlink{a03346}{Draw\+Modes}


\begin{DoxyParams}{Parameters}
{\em \+\_\+props} & Property that should be added \\
\hline
\end{DoxyParams}


Definition at line 546 of file Draw\+Modes.\+cc.

\hypertarget{a00510_abc891098dfe9fa000713eebd9aea224b}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!check\+Consistency@{check\+Consistency}}
\index{check\+Consistency@{check\+Consistency}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{check\+Consistency}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::check\+Consistency (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a00510_abc891098dfe9fa000713eebd9aea224b}


checks consistency of property layers 

There should only be at most one layer for each primitive type for example 

Definition at line 579 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a15149db6577ae54c0eb2931bb8d03215}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!description@{description}}
\index{description@{description}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}std\+::string A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a00510_a15149db6577ae54c0eb2931bb8d03215}
Get a description string for this \hyperlink{a00510}{Draw\+Mode} An empty string is returned if this is not a valid draw mode. this list has the format Draw\+Mode\+Name+\+Draw\+M\+Ode\+Name+... 

Definition at line 450 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a374e16f2a13c812ba01c31c8d71108cc}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!filter@{filter}}
\index{filter@{filter}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{filter}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::filter (
\begin{DoxyParamCaption}
\item[{{\bf Draw\+Mode}}]{\+\_\+filter}
\end{DoxyParamCaption}
)}}\label{a00510_a374e16f2a13c812ba01c31c8d71108cc}


filter out one drawmode 

This removes one or more drawmodes if this drawode is not atomic. 

Definition at line 469 of file Draw\+Modes.\+cc.

\hypertarget{a00510_ae3d7ee66ec1c6b892f4133c74c96513f}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!get\+Atomic\+Draw\+Modes@{get\+Atomic\+Draw\+Modes}}
\index{get\+Atomic\+Draw\+Modes@{get\+Atomic\+Draw\+Modes}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{get\+Atomic\+Draw\+Modes}]{\setlength{\rightskip}{0pt plus 5cm}std\+::vector$<$ {\bf Draw\+Mode} $>$ A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::get\+Atomic\+Draw\+Modes (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a00510_ae3d7ee66ec1c6b892f4133c74c96513f}


Separates this draw\+Mode into a list of all separate atomic draw modes. 

A draw\+Mode can consist of several atomic draw modes. This function returns a list of the separated atomic draw modes. 

Definition at line 501 of file Draw\+Modes.\+cc.

\hypertarget{a00510_adc4055887d6fdb34477c58db696db53a}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!get\+Draw\+Mode\+Properties@{get\+Draw\+Mode\+Properties}}
\index{get\+Draw\+Mode\+Properties@{get\+Draw\+Mode\+Properties}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{get\+Draw\+Mode\+Properties}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Draw\+Mode\+Properties} $\ast$ A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::get\+Draw\+Mode\+Properties (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a00510_adc4055887d6fdb34477c58db696db53a}


returns the base properties of this draw mode 

Base properties are the original properties that defined the \hyperlink{a00510}{Draw\+Mode} before any merge operation. They are located at layer 0, so actually this function has the same effect as get\+Layer(0).

Every \hyperlink{a00510}{Draw\+Mode} is property based with only two exceptions\+:
\begin{DoxyItemize}
\item N\+O\+N\+E
\item D\+E\+F\+A\+U\+L\+T
\end{DoxyItemize}

get\+Draw\+Mode\+Properties returns 0 for these. 

Definition at line 573 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a2d7c95c6ba72e961d0ed8e58e9fe55d6}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!get\+Index@{get\+Index}}
\index{get\+Index@{get\+Index}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{get\+Index}]{\setlength{\rightskip}{0pt plus 5cm}size\+\_\+t A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::get\+Index (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a00510_a2d7c95c6ba72e961d0ed8e58e9fe55d6}


get an index of the current draw\+Mode 

If this draw\+Mode is a combination of different draw\+Modes, the returned value will be 0. Otherwise the internal flag index will be returned 

Definition at line 440 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a68dbf116416720e2623a70ae9a80b691}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!get\+Layer@{get\+Layer}}
\index{get\+Layer@{get\+Layer}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{get\+Layer}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Draw\+Mode\+Properties} $\ast$ A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::get\+Layer (
\begin{DoxyParamCaption}
\item[{unsigned int}]{\+\_\+i}
\end{DoxyParamCaption}
) const}}\label{a00510_a68dbf116416720e2623a70ae9a80b691}


returns the property set at layer i 


\begin{DoxyParams}{Parameters}
{\em \+\_\+i} & Layer that is requested \\
\hline
\end{DoxyParams}


Definition at line 541 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a07a97b096251f59db5ba52f0a85dba95}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!get\+Layer\+Index@{get\+Layer\+Index}}
\index{get\+Layer\+Index@{get\+Layer\+Index}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{get\+Layer\+Index}]{\setlength{\rightskip}{0pt plus 5cm}int A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::get\+Layer\+Index (
\begin{DoxyParamCaption}
\item[{const {\bf Draw\+Mode\+Properties} $\ast$}]{\+\_\+prop}
\end{DoxyParamCaption}
) const}}\label{a00510_a07a97b096251f59db5ba52f0a85dba95}


returns layer index of a property, -\/1 if not in list 


\begin{DoxyParams}{Parameters}
{\em \+\_\+prop} & Property to be searched for \\
\hline
\end{DoxyParams}


Definition at line 617 of file Draw\+Modes.\+cc.

\hypertarget{a00510_afe076a11841ebe8a81b09279607acf54}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!get\+Layer\+Index\+By\+Primitive@{get\+Layer\+Index\+By\+Primitive}}
\index{get\+Layer\+Index\+By\+Primitive@{get\+Layer\+Index\+By\+Primitive}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{get\+Layer\+Index\+By\+Primitive}]{\setlength{\rightskip}{0pt plus 5cm}int A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::get\+Layer\+Index\+By\+Primitive (
\begin{DoxyParamCaption}
\item[{{\bf Draw\+Mode\+Primitive}}]{\+\_\+type}
\end{DoxyParamCaption}
) const}}\label{a00510_afe076a11841ebe8a81b09279607acf54}


search for layer with specified primitive 


\begin{DoxyParams}{Parameters}
{\em \+\_\+type} & primitive type \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
layer id if layer exists, -\/1 otherwise 
\end{DoxyReturn}


Definition at line 632 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a1e82c91b77f1378cb4473ba332d139c2}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!is\+Atomic@{is\+Atomic}}
\index{is\+Atomic@{is\+Atomic}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{is\+Atomic}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::is\+Atomic (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a00510_a1e82c91b77f1378cb4473ba332d139c2}


Check if this is an atomic draw Mode. 

This function checks, if this is a atomic draw mode ( no combination of multiple draw modes ) 

Definition at line 518 of file Draw\+Modes.\+cc.

\hypertarget{a00510_a8fe573e10a03b879a5eeb41cf4b28944}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!remove\+Layer@{remove\+Layer}}
\index{remove\+Layer@{remove\+Layer}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{remove\+Layer}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::remove\+Layer (
\begin{DoxyParamCaption}
\item[{unsigned int}]{\+\_\+i}
\end{DoxyParamCaption}
)}}\label{a00510_a8fe573e10a03b879a5eeb41cf4b28944}


remove layer at index i 


\begin{DoxyParams}{Parameters}
{\em \+\_\+i} & Layer that is requested \\
\hline
\end{DoxyParams}


Definition at line 552 of file Draw\+Modes.\+cc.

\hypertarget{a00510_ab16cdd0674c8aa90e13070e780ba5574}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!remove\+Layer@{remove\+Layer}}
\index{remove\+Layer@{remove\+Layer}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{remove\+Layer}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::remove\+Layer (
\begin{DoxyParamCaption}
\item[{const {\bf Draw\+Mode\+Properties} $\ast$}]{\+\_\+prop}
\end{DoxyParamCaption}
)}}\label{a00510_ab16cdd0674c8aa90e13070e780ba5574}


remove layer if it is in list 


\begin{DoxyParams}{Parameters}
{\em \+\_\+prop} & Property that should be removed if it's available \\
\hline
\end{DoxyParams}


Definition at line 563 of file Draw\+Modes.\+cc.

\hypertarget{a00510_adcc9a04caa493d1129922b487d9de014}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!set\+Draw\+Mode\+Properties@{set\+Draw\+Mode\+Properties}}
\index{set\+Draw\+Mode\+Properties@{set\+Draw\+Mode\+Properties}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{set\+Draw\+Mode\+Properties}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::set\+Draw\+Mode\+Properties (
\begin{DoxyParamCaption}
\item[{const {\bf Draw\+Mode\+Properties} $\ast$}]{\+\_\+props}
\end{DoxyParamCaption}
)}}\label{a00510_adcc9a04caa493d1129922b487d9de014}


set the base properties of this draw mode 


\begin{DoxyParams}{Parameters}
{\em \+\_\+props} & \hyperlink{a01027}{Properties} to be set \\
\hline
\end{DoxyParams}


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

\hypertarget{a00510_a3992c60ee1e26b15db2fbd243b997799}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!set\+Draw\+Mode\+Properties@{set\+Draw\+Mode\+Properties}}
\index{set\+Draw\+Mode\+Properties@{set\+Draw\+Mode\+Properties}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{set\+Draw\+Mode\+Properties}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::set\+Draw\+Mode\+Properties (
\begin{DoxyParamCaption}
\item[{const {\bf Draw\+Mode\+Properties} \&}]{\+\_\+props}
\end{DoxyParamCaption}
)}}\label{a00510_a3992c60ee1e26b15db2fbd243b997799}


set the base properties of this draw mode 


\begin{DoxyParams}{Parameters}
{\em \+\_\+props} & \hyperlink{a01027}{Properties} to be set \\
\hline
\end{DoxyParams}


Definition at line 269 of file Draw\+Modes.\+cc.



\subsection{Member Data Documentation}
\hypertarget{a00510_ad86891a2a42cc45db439dd28a1e2baff}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}!layers\+\_\+@{layers\+\_\+}}
\index{layers\+\_\+@{layers\+\_\+}!A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode@{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode}}
\subsubsection[{layers\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}std\+::vector$<${\bf Draw\+Mode\+Properties}$>$ A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode\+::layers\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a00510_ad86891a2a42cc45db439dd28a1e2baff}
vector for combined \hyperlink{a03346}{Draw\+Modes} -\/$>$ holds \hyperlink{a00513}{Draw\+Mode\+Properties} for each layer -\/$>$ original layer at index 0 

Definition at line 505 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}
