\hypertarget{a07904}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:O\+B\+J\+Node Class Reference}
\label{a07904}\index{A\+C\+G\+::\+Scene\+Graph\+::\+O\+B\+J\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+O\+B\+J\+Node}}
Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:O\+B\+J\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a07904}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a07908}{Face}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07904_aa960e929daafb4a3ff69ebbd19c481b8}\label{a07904_aa960e929daafb4a3ff69ebbd19c481b8}} 
\hyperlink{a07904_aa960e929daafb4a3ff69ebbd19c481b8}{O\+B\+J\+Node} (\hyperlink{a07748}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$O\+B\+J\+Node$>$\char`\"{})
\begin{DoxyCompactList}\small\item\em Default constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_ae8a8bda724ea408815dfd859cd0d44bb}\label{a07904_ae8a8bda724ea408815dfd859cd0d44bb}} 
virtual \hyperlink{a07904_ae8a8bda724ea408815dfd859cd0d44bb}{$\sim$\+O\+B\+J\+Node} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a0233c54aa0018ae63efd426db6c1ebcc}\label{a07904_a0233c54aa0018ae63efd426db6c1ebcc}} 
{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{a07904}{O\+B\+J\+Node})
\item 
\mbox{\Hypertarget{a07904_a8387d8006443486186fb8df15a84a442}\label{a07904_a8387d8006443486186fb8df15a84a442}} 
\hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{a07904_a8387d8006443486186fb8df15a84a442}{available\+Draw\+Modes} () const
\begin{DoxyCompactList}\small\item\em return available draw modes \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a1ada615e40af638c952a29650d821c34}\label{a07904_a1ada615e40af638c952a29650d821c34}} 
void \hyperlink{a07904_a1ada615e40af638c952a29650d821c34}{bounding\+Box} (\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max)
\begin{DoxyCompactList}\small\item\em update bounding box \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a3875ac95137df5f1dc6c4cd1125e7cfb}\label{a07904_a3875ac95137df5f1dc6c4cd1125e7cfb}} 
void \hyperlink{a07904_a3875ac95137df5f1dc6c4cd1125e7cfb}{draw} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em drawing the primitive \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a35fffd10e19807f2840956796b999612}\label{a07904_a35fffd10e19807f2840956796b999612}} 
void \hyperlink{a07904_a35fffd10e19807f2840956796b999612}{pick} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, \hyperlink{a06177_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target)
\begin{DoxyCompactList}\small\item\em picking \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a03e22a8c2e92a1c3f60ab89587f09960}\label{a07904_a03e22a8c2e92a1c3f60ab89587f09960}} 
size\+\_\+t \hyperlink{a07904_a03e22a8c2e92a1c3f60ab89587f09960}{n\+\_\+vertices} () const
\begin{DoxyCompactList}\small\item\em number of vertices \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_af11d6a4d224a6a1453b5f10d86e41c71}\label{a07904_af11d6a4d224a6a1453b5f10d86e41c71}} 
size\+\_\+t \hyperlink{a07904_af11d6a4d224a6a1453b5f10d86e41c71}{n\+\_\+faces} () const
\begin{DoxyCompactList}\small\item\em number of faces \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a2018228c9bab918b7d18ef9e6471ad39}\label{a07904_a2018228c9bab918b7d18ef9e6471ad39}} 
size\+\_\+t \hyperlink{a07904_a2018228c9bab918b7d18ef9e6471ad39}{n\+\_\+normals} () const
\begin{DoxyCompactList}\small\item\em number of normals \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a6b9682202bdfc454cb49a88203c31358}\label{a07904_a6b9682202bdfc454cb49a88203c31358}} 
size\+\_\+t \hyperlink{a07904_a6b9682202bdfc454cb49a88203c31358}{n\+\_\+texcoords} () const
\begin{DoxyCompactList}\small\item\em number of texcoords \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a5eaef05e59762299b41d7e5b9154f4ec}\label{a07904_a5eaef05e59762299b41d7e5b9154f4ec}} 
void \hyperlink{a07904_a5eaef05e59762299b41d7e5b9154f4ec}{clear} ()
\begin{DoxyCompactList}\small\item\em clear the node \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a691394305a3e6f7030b4109c4404792b}\label{a07904_a691394305a3e6f7030b4109c4404792b}} 
size\+\_\+t \hyperlink{a07904_a691394305a3e6f7030b4109c4404792b}{add\+\_\+vertex} (const \hyperlink{a06176_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+v)
\begin{DoxyCompactList}\small\item\em add vertex \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a71e5cfffc6a9ee9f4a012462df7104df}\label{a07904_a71e5cfffc6a9ee9f4a012462df7104df}} 
size\+\_\+t \hyperlink{a07904_a71e5cfffc6a9ee9f4a012462df7104df}{add\+\_\+face} (const \hyperlink{a07908}{Face} \&\+\_\+f)
\begin{DoxyCompactList}\small\item\em add triangle \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a5508e27eb5677e69a2ca1dbd0e846206}\label{a07904_a5508e27eb5677e69a2ca1dbd0e846206}} 
size\+\_\+t \hyperlink{a07904_a5508e27eb5677e69a2ca1dbd0e846206}{add\+\_\+face} (unsigned int \+\_\+i0, unsigned int \+\_\+i1, unsigned int \+\_\+i2)
\begin{DoxyCompactList}\small\item\em add triangle \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_ab141f84f3c105d8fbcaa3c57d0d2f283}\label{a07904_ab141f84f3c105d8fbcaa3c57d0d2f283}} 
\hyperlink{a06176_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \& \hyperlink{a07904_ab141f84f3c105d8fbcaa3c57d0d2f283}{vertex} (unsigned int \+\_\+i)
\begin{DoxyCompactList}\small\item\em get i\textquotesingle{}th vertex \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a805b9fd40039329bd7ff87ed95494173}\label{a07904_a805b9fd40039329bd7ff87ed95494173}} 
const \hyperlink{a06176_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \& \hyperlink{a07904_a805b9fd40039329bd7ff87ed95494173}{vertex} (unsigned int \+\_\+i) const
\begin{DoxyCompactList}\small\item\em get i\textquotesingle{}th vertex \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_ad677679ee1596a642d75c8becf54aec1}\label{a07904_ad677679ee1596a642d75c8becf54aec1}} 
const \hyperlink{a07908}{Face} \& \hyperlink{a07904_ad677679ee1596a642d75c8becf54aec1}{face} (unsigned int \+\_\+i) const
\begin{DoxyCompactList}\small\item\em get i\textquotesingle{}th face \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a84b66e3adaac1d0693292e0d560d9d42}\label{a07904_a84b66e3adaac1d0693292e0d560d9d42}} 
\hyperlink{a07908}{Face} \& \hyperlink{a07904_a84b66e3adaac1d0693292e0d560d9d42}{face} (unsigned int \+\_\+i)
\begin{DoxyCompactList}\small\item\em get i\textquotesingle{}th face \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a844ded691a01616ffd1a3ec7a0d2d321}\label{a07904_a844ded691a01616ffd1a3ec7a0d2d321}} 
const \hyperlink{a06176_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \& \hyperlink{a07904_a844ded691a01616ffd1a3ec7a0d2d321}{normal} (unsigned int \+\_\+i) const
\begin{DoxyCompactList}\small\item\em get i\textquotesingle{}th normal \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a9bf16ee2fbcad793856a98441d666595}\label{a07904_a9bf16ee2fbcad793856a98441d666595}} 
\hyperlink{a06176_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \& \hyperlink{a07904_a9bf16ee2fbcad793856a98441d666595}{normal} (unsigned int \+\_\+i)
\begin{DoxyCompactList}\small\item\em get i\textquotesingle{}th normal \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a22f9f1304423c292a3b13c0430c8014d}\label{a07904_a22f9f1304423c292a3b13c0430c8014d}} 
bool \hyperlink{a07904_a22f9f1304423c292a3b13c0430c8014d}{read} (const std\+::string \&\+\_\+filename)
\begin{DoxyCompactList}\small\item\em Read from file. Implemented using \hyperlink{a06210}{Open\+Mesh} loader and O\+B\+J\+Node\+Exporter. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a07904_a944cfc83898214dc6493ae5a0526fa3d}\label{a07904_a944cfc83898214dc6493ae5a0526fa3d}} 
void \hyperlink{a07904_a944cfc83898214dc6493ae5a0526fa3d}{update\+\_\+face\+\_\+normals} ()
\begin{DoxyCompactList}\small\item\em Update face normals. Call when geometry changes. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07904_a940ec0ec266a3b8367b7eba6a35483f3}\label{a07904_a940ec0ec266a3b8367b7eba6a35483f3}} 
void {\bfseries draw\+\_\+obj} () const
\item 
\mbox{\Hypertarget{a07904_a8bcab81eae5f780219c62fd63c373582}\label{a07904_a8bcab81eae5f780219c62fd63c373582}} 
void {\bfseries draw\+\_\+obj\+\_\+tex} () const
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a07904_a74976b2c791d2a8ff78d0a0999ec868c}\label{a07904_a74976b2c791d2a8ff78d0a0999ec868c}} 
std\+::vector$<$ \hyperlink{a06176_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} $>$ {\bfseries vertices\+\_\+}
\item 
\mbox{\Hypertarget{a07904_a7e0054072b719770e06338c155938354}\label{a07904_a7e0054072b719770e06338c155938354}} 
std\+::vector$<$ \hyperlink{a06176_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} $>$ {\bfseries normals\+\_\+}
\item 
\mbox{\Hypertarget{a07904_acccfa1ddb94f371a4d70a88e0cc43d91}\label{a07904_acccfa1ddb94f371a4d70a88e0cc43d91}} 
std\+::vector$<$ \hyperlink{a06176_a8b858737aebd55e312149cf208a0b3f3}{Vec2f} $>$ {\bfseries tex\+Coords\+\_\+}
\item 
\mbox{\Hypertarget{a07904_af57eba655b5836cf61e5c8ab32443fb7}\label{a07904_af57eba655b5836cf61e5c8ab32443fb7}} 
std\+::vector$<$ \hyperlink{a07908}{Face} $>$ {\bfseries faces\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}


Definition at line 79 of file O\+B\+J\+Node.\+hh.



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