\hypertarget{classACG_1_1SceneGraph_1_1BoxesNode}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Boxes\+Node Class Reference}
\label{classACG_1_1SceneGraph_1_1BoxesNode}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node}}
Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Boxes\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classACG_1_1SceneGraph_1_1BoxesNode}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a255d63aa5a9ce29667b2eda42b7b8a37}\label{classACG_1_1SceneGraph_1_1BoxesNode_a255d63aa5a9ce29667b2eda42b7b8a37}} 
typedef \hyperlink{structACG_1_1SceneGraph_1_1BoxElement}{Box\+Element} {\bfseries value\+\_\+type}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a131ea679300e6a61931a15314f68e152}\label{classACG_1_1SceneGraph_1_1BoxesNode_a131ea679300e6a61931a15314f68e152}} 
typedef \hyperlink{structACG_1_1SceneGraph_1_1BoxElement}{Box\+Element} \& {\bfseries reference}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a6867e3faf3c321b88a9f29a97bb09e85}\label{classACG_1_1SceneGraph_1_1BoxesNode_a6867e3faf3c321b88a9f29a97bb09e85}} 
typedef const \hyperlink{structACG_1_1SceneGraph_1_1BoxElement}{Box\+Element} \& {\bfseries const\+\_\+reference}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a712d9f7b7ea0e38c5d5b23df98eeee8b}\label{classACG_1_1SceneGraph_1_1BoxesNode_a712d9f7b7ea0e38c5d5b23df98eeee8b}} 
{\bfseries Boxes\+Node} (\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{Base\+Node} $\ast$\+\_\+parent=nullptr, std\+::string \+\_\+name=\char`\"{}$<$Boxes\+Node$>$\char`\"{})
\item 
\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{classACG_1_1SceneGraph_1_1BoxesNode_aa3dec14d05620b875d6f507af2d5aa7d}{available\+Draw\+Modes} () const override
\item 
void \hyperlink{classACG_1_1SceneGraph_1_1BoxesNode_aa5911914397307d4af974722a69e3ff2}{bounding\+Box} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max) override
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a2959bb7c4ead0d4e0c136da88b8f21ac}\label{classACG_1_1SceneGraph_1_1BoxesNode_a2959bb7c4ead0d4e0c136da88b8f21ac}} 
void {\bfseries clear} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a72b606c0c65a715c5855509e89e83da4}\label{classACG_1_1SceneGraph_1_1BoxesNode_a72b606c0c65a715c5855509e89e83da4}} 
void {\bfseries reserve} (size\+\_\+t \+\_\+n)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a50e03247fe5cbd54e158c06b5a64373e}\label{classACG_1_1SceneGraph_1_1BoxesNode_a50e03247fe5cbd54e158c06b5a64373e}} 
void \hyperlink{classACG_1_1SceneGraph_1_1BoxesNode_a50e03247fe5cbd54e158c06b5a64373e}{push\+\_\+back} (const \hyperlink{structACG_1_1SceneGraph_1_1BoxElement}{Box\+Element} \&\+\_\+v)
\begin{DoxyCompactList}\small\item\em S\+TL conformance. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_ac3cdcbc1ec25eb52303e64b560eb42ad}\label{classACG_1_1SceneGraph_1_1BoxesNode_ac3cdcbc1ec25eb52303e64b560eb42ad}} 
void {\bfseries get\+Render\+Objects} (\hyperlink{classACG_1_1IRenderer}{I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{classACG_1_1SceneGraph_1_1Material}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$\+\_\+mat) override
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a2e4b862f635297b7b10aa87d1356a25e}\label{classACG_1_1SceneGraph_1_1BoxesNode_a2e4b862f635297b7b10aa87d1356a25e}} 
void {\bfseries set\+Scale\+Factor} (float \+\_\+val)
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a4013d8c6d7635cf4d2ff7f7fde335091}\label{classACG_1_1SceneGraph_1_1BoxesNode_a4013d8c6d7635cf4d2ff7f7fde335091}} 
void \hyperlink{classACG_1_1SceneGraph_1_1BoxesNode_a4013d8c6d7635cf4d2ff7f7fde335091}{create\+V\+BO} ()
\begin{DoxyCompactList}\small\item\em creates the vbo only if update was requested \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a518a3479adf617844e0947fad59c03a9}\label{classACG_1_1SceneGraph_1_1BoxesNode_a518a3479adf617844e0947fad59c03a9}} 
std\+::vector$<$ \hyperlink{structACG_1_1SceneGraph_1_1BoxElement}{Box\+Element} $>$ {\bfseries elem\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_af9d4f8742378e2664a0a95c6f2436c29}\label{classACG_1_1SceneGraph_1_1BoxesNode_af9d4f8742378e2664a0a95c6f2436c29}} 
float {\bfseries scale\+Factor\+\_\+} = 1.\+0f
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a8fb8f9b341bc87ea2852118d8adc34a6}\label{classACG_1_1SceneGraph_1_1BoxesNode_a8fb8f9b341bc87ea2852118d8adc34a6}} 
std\+::vector$<$ std\+::array$<$ \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f}, 3 $>$ $>$ {\bfseries triangles\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_af6509517578b5894705a620e94cdd9bf}\label{classACG_1_1SceneGraph_1_1BoxesNode_af6509517578b5894705a620e94cdd9bf}} 
std\+::vector$<$ \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} $>$ {\bfseries triangle\+\_\+colors\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_aaee80d7768372fbe9bada9c9cef034e5}\label{classACG_1_1SceneGraph_1_1BoxesNode_aaee80d7768372fbe9bada9c9cef034e5}} 
Geometry\+Buffer {\bfseries geometry\+\_\+vbo\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a51fc590fe078a9952d215d67a5589781}\label{classACG_1_1SceneGraph_1_1BoxesNode_a51fc590fe078a9952d215d67a5589781}} 
Geometry\+Buffer {\bfseries instance\+\_\+vbo\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a76c3460c8d3fd09fd8730ec4aa3a63b6}\label{classACG_1_1SceneGraph_1_1BoxesNode_a76c3460c8d3fd09fd8730ec4aa3a63b6}} 
bool {\bfseries update\+V\+B\+O\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a83c984417ae855ce0734b1ec84c57c82}\label{classACG_1_1SceneGraph_1_1BoxesNode_a83c984417ae855ce0734b1ec84c57c82}} 
\hyperlink{classACG_1_1VertexDeclaration}{A\+C\+G\+::\+Vertex\+Declaration} {\bfseries vertex\+Decl\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_a1e72738c23929b29a10648cec4b22d7f}\label{classACG_1_1SceneGraph_1_1BoxesNode_a1e72738c23929b29a10648cec4b22d7f}} 
std\+::string {\bfseries boxes\+Node\+Name\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 60 of file Boxes\+Node.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_aa3dec14d05620b875d6f507af2d5aa7d}\label{classACG_1_1SceneGraph_1_1BoxesNode_aa3dec14d05620b875d6f507af2d5aa7d}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node}!available\+Draw\+Modes@{available\+Draw\+Modes}}
\index{available\+Draw\+Modes@{available\+Draw\+Modes}!A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node}}
\subsubsection{\texorpdfstring{available\+Draw\+Modes()}{availableDrawModes()}}
{\footnotesize\ttfamily \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node\+::available\+Draw\+Modes (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

Return a list of available draw modes for this node\+: should be OR\textquotesingle{}ed from the items of the enum Draw\+Mode\+I\+Ds. 

Reimplemented from \hyperlink{classACG_1_1SceneGraph_1_1ACG_1_1SceneGraph_1_1BaseNode_a3d3fa2b1855749bb4f3c2a9dcecf56bc}{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node}.



Definition at line 70 of file Boxes\+Node.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1BoxesNode_aa5911914397307d4af974722a69e3ff2}\label{classACG_1_1SceneGraph_1_1BoxesNode_aa5911914397307d4af974722a69e3ff2}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node}!bounding\+Box@{bounding\+Box}}
\index{bounding\+Box@{bounding\+Box}!A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node}}
\subsubsection{\texorpdfstring{bounding\+Box()}{boundingBox()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Boxes\+Node\+::bounding\+Box (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

Compute the bounding box of this node and update the values \+\_\+bb\+Min and \+\_\+bb\+Max accordingly. Do not initialize \+\_\+bb\+Min and \+\_\+bb\+Max since they may already store values of previous nodes\textquotesingle{} bounding box computation. 

Reimplemented from \hyperlink{classACG_1_1SceneGraph_1_1ACG_1_1SceneGraph_1_1BaseNode_ac956bf4aae718f4cb89c78979dc47280}{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node}.



Definition at line 99 of file Boxes\+Node.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin-\/\+Property\+Vis/\+Nodes/Boxes\+Node.\+hh\item 
Plugin-\/\+Property\+Vis/\+Nodes/Boxes\+Node.\+cc\end{DoxyCompactItemize}
