\hypertarget{classACG_1_1SceneGraph_1_1TriangleNode}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Triangle\+Node Class Reference}
\label{classACG_1_1SceneGraph_1_1TriangleNode}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node}}
Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Triangle\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classACG_1_1SceneGraph_1_1TriangleNode}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_a5c7eb8b87323f21c6acd81ac44ddb2ef}\label{classACG_1_1SceneGraph_1_1TriangleNode_a5c7eb8b87323f21c6acd81ac44ddb2ef}} 
typedef std\+::vector$<$ \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3f} $>$ {\bfseries Point\+Vector}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_a4ae76d558bb48fbd878eb4b0a559bad9}\label{classACG_1_1SceneGraph_1_1TriangleNode_a4ae76d558bb48fbd878eb4b0a559bad9}} 
{\bfseries Triangle\+Node} (\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Triangle\+Node$>$\char`\"{})
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_ac065479f8a451f7ee5c0b45f1f6f352d}\label{classACG_1_1SceneGraph_1_1TriangleNode_ac065479f8a451f7ee5c0b45f1f6f352d}} 
{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{classACG_1_1SceneGraph_1_1TriangleNode}{Triangle\+Node})
\item 
\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{classACG_1_1SceneGraph_1_1TriangleNode_aef914806bc02f4ee45ed23875922c333}{available\+Draw\+Modes} () const override
\item 
void \hyperlink{classACG_1_1SceneGraph_1_1TriangleNode_a5dfa753543032e8488a4986a7d03551d}{bounding\+Box} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max) override
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_add4e84ed54ee60554481bbb8cb36744a}\label{classACG_1_1SceneGraph_1_1TriangleNode_add4e84ed54ee60554481bbb8cb36744a}} 
void {\bfseries draw} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode) override
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_aa75522b2a55959944b8ff25c275098fb}\label{classACG_1_1SceneGraph_1_1TriangleNode_aa75522b2a55959944b8ff25c275098fb}} 
void {\bfseries pick} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, \hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target) override
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_ab4ae13b55b11e05448a92eee0e0a738d}\label{classACG_1_1SceneGraph_1_1TriangleNode_ab4ae13b55b11e05448a92eee0e0a738d}} 
void {\bfseries add\+\_\+triangle} (const \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3f} \&\+\_\+p0, const \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3f} \&\+\_\+p1, const \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3f} \&\+\_\+p2)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_a6c998b586b56ab110828b6dcd8ee22a8}\label{classACG_1_1SceneGraph_1_1TriangleNode_a6c998b586b56ab110828b6dcd8ee22a8}} 
void {\bfseries clear} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_af9becdd7b1a23ca75e9ca22d8554be27}\label{classACG_1_1SceneGraph_1_1TriangleNode_af9becdd7b1a23ca75e9ca22d8554be27}} 
size\+\_\+t {\bfseries n\+\_\+triangles} () const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_a5fb33518fe755470ec459fe2a474608d}\label{classACG_1_1SceneGraph_1_1TriangleNode_a5fb33518fe755470ec459fe2a474608d}} 
void {\bfseries triangle} (int \+\_\+i, \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3f} \&\+\_\+p0, \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3f} \&\+\_\+p1, \hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec3f} \&\+\_\+p2) const
\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_a24a7ec9d4e18f68581d2a651a8df4a02}\label{classACG_1_1SceneGraph_1_1TriangleNode_a24a7ec9d4e18f68581d2a651a8df4a02}} 
enum {\bfseries Face\+Mode} \{ {\bfseries F\+A\+C\+E\+\_\+\+N\+O\+R\+M\+A\+LS}, 
{\bfseries F\+A\+C\+E\+\_\+\+C\+O\+L\+O\+RS}, 
{\bfseries P\+E\+R\+\_\+\+V\+E\+R\+T\+EX}
 \}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_ab54c41e9e2fea6ff02c2542585850227}\label{classACG_1_1SceneGraph_1_1TriangleNode_ab54c41e9e2fea6ff02c2542585850227}} 
void {\bfseries draw\+\_\+vertices} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_af184484e0efa5f2d64d8f97cdf97983e}\label{classACG_1_1SceneGraph_1_1TriangleNode_af184484e0efa5f2d64d8f97cdf97983e}} 
void {\bfseries draw\+\_\+faces} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_abe45ea121dac31ae844d5fb6f165e11b}\label{classACG_1_1SceneGraph_1_1TriangleNode_abe45ea121dac31ae844d5fb6f165e11b}} 
void {\bfseries draw\+\_\+wireframe} ()
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_ac0ad04ef05d5cede18c34eb88baea6b2}\label{classACG_1_1SceneGraph_1_1TriangleNode_ac0ad04ef05d5cede18c34eb88baea6b2}} 
Point\+Vector {\bfseries point\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_a486ab16a276961f14eecf5612dcbcb3e}\label{classACG_1_1SceneGraph_1_1TriangleNode_a486ab16a276961f14eecf5612dcbcb3e}} 
Point\+Vector {\bfseries normal\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_aef914806bc02f4ee45ed23875922c333}\label{classACG_1_1SceneGraph_1_1TriangleNode_aef914806bc02f4ee45ed23875922c333}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node}!available\+Draw\+Modes@{available\+Draw\+Modes}}
\index{available\+Draw\+Modes@{available\+Draw\+Modes}!A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+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\+::\+Triangle\+Node\+::available\+Draw\+Modes (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\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 115 of file Triangle\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TriangleNode_a5dfa753543032e8488a4986a7d03551d}\label{classACG_1_1SceneGraph_1_1TriangleNode_a5dfa753543032e8488a4986a7d03551d}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node}!bounding\+Box@{bounding\+Box}}
\index{bounding\+Box@{bounding\+Box}!A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node}}
\subsubsection{\texorpdfstring{bounding\+Box()}{boundingBox()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+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 88 of file Triangle\+Node.\+cc.



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