\hypertarget{a08100}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Triangle\+Node Class Reference}
\label{a08100}\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]{a08100}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08100_a5c7eb8b87323f21c6acd81ac44ddb2ef}\label{a08100_a5c7eb8b87323f21c6acd81ac44ddb2ef}} 
typedef std\+::vector$<$ \hyperlink{a08448}{A\+C\+G\+::\+Vec3f} $>$ {\bfseries Point\+Vector}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08100_a4ae76d558bb48fbd878eb4b0a559bad9}\label{a08100_a4ae76d558bb48fbd878eb4b0a559bad9}} 
{\bfseries Triangle\+Node} (\hyperlink{a07748}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Triangle\+Node$>$\char`\"{})
\item 
\mbox{\Hypertarget{a08100_ac065479f8a451f7ee5c0b45f1f6f352d}\label{a08100_ac065479f8a451f7ee5c0b45f1f6f352d}} 
{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{a08100}{Triangle\+Node})
\item 
\hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{a08100_a2db41c8f1ab906700db88aa257fb215e}{available\+Draw\+Modes} () const
\item 
void \hyperlink{a08100_ae1e20a0733201af0402d9bf5344d327a}{bounding\+Box} (\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max)
\item 
\mbox{\Hypertarget{a08100_a59392383ddac19035b3896d17999db0e}\label{a08100_a59392383ddac19035b3896d17999db0e}} 
void {\bfseries draw} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\item 
\mbox{\Hypertarget{a08100_a9f945aa64f2f3c3e4b27d64ca206df9a}\label{a08100_a9f945aa64f2f3c3e4b27d64ca206df9a}} 
void {\bfseries pick} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, \hyperlink{a06177_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target)
\item 
\mbox{\Hypertarget{a08100_ab4ae13b55b11e05448a92eee0e0a738d}\label{a08100_ab4ae13b55b11e05448a92eee0e0a738d}} 
void {\bfseries add\+\_\+triangle} (const \hyperlink{a08448}{A\+C\+G\+::\+Vec3f} \&\+\_\+p0, const \hyperlink{a08448}{A\+C\+G\+::\+Vec3f} \&\+\_\+p1, const \hyperlink{a08448}{A\+C\+G\+::\+Vec3f} \&\+\_\+p2)
\item 
\mbox{\Hypertarget{a08100_a6c998b586b56ab110828b6dcd8ee22a8}\label{a08100_a6c998b586b56ab110828b6dcd8ee22a8}} 
void {\bfseries clear} ()
\item 
\mbox{\Hypertarget{a08100_af9becdd7b1a23ca75e9ca22d8554be27}\label{a08100_af9becdd7b1a23ca75e9ca22d8554be27}} 
size\+\_\+t {\bfseries n\+\_\+triangles} () const
\item 
\mbox{\Hypertarget{a08100_a5fb33518fe755470ec459fe2a474608d}\label{a08100_a5fb33518fe755470ec459fe2a474608d}} 
void {\bfseries triangle} (int \+\_\+i, \hyperlink{a08448}{A\+C\+G\+::\+Vec3f} \&\+\_\+p0, \hyperlink{a08448}{A\+C\+G\+::\+Vec3f} \&\+\_\+p1, \hyperlink{a08448}{A\+C\+G\+::\+Vec3f} \&\+\_\+p2) const
\end{DoxyCompactItemize}
\subsection*{Protected Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08100_a24a7ec9d4e18f68581d2a651a8df4a02}\label{a08100_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{a08100_ab54c41e9e2fea6ff02c2542585850227}\label{a08100_ab54c41e9e2fea6ff02c2542585850227}} 
void {\bfseries draw\+\_\+vertices} ()
\item 
\mbox{\Hypertarget{a08100_af184484e0efa5f2d64d8f97cdf97983e}\label{a08100_af184484e0efa5f2d64d8f97cdf97983e}} 
void {\bfseries draw\+\_\+faces} ()
\item 
\mbox{\Hypertarget{a08100_abe45ea121dac31ae844d5fb6f165e11b}\label{a08100_abe45ea121dac31ae844d5fb6f165e11b}} 
void {\bfseries draw\+\_\+wireframe} ()
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08100_ac0ad04ef05d5cede18c34eb88baea6b2}\label{a08100_ac0ad04ef05d5cede18c34eb88baea6b2}} 
Point\+Vector {\bfseries point\+\_\+}
\item 
\mbox{\Hypertarget{a08100_a486ab16a276961f14eecf5612dcbcb3e}\label{a08100_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{a08100_a2db41c8f1ab906700db88aa257fb215e}\label{a08100_a2db41c8f1ab906700db88aa257fb215e}} 
\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{a07792}{Draw\+Modes\+::\+Draw\+Mode} A\+C\+G\+::\+Scene\+Graph\+::\+Triangle\+Node\+::available\+Draw\+Modes (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\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{a07888_a3d3fa2b1855749bb4f3c2a9dcecf56bc}{A\+C\+G\+::\+Scene\+Graph\+::\+A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node}.



Definition at line 115 of file Triangle\+Node.\+cc.

\mbox{\Hypertarget{a08100_ae1e20a0733201af0402d9bf5344d327a}\label{a08100_ae1e20a0733201af0402d9bf5344d327a}} 
\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{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{,  }\item[{\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\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{a07888_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}
