\hypertarget{classACG_1_1SceneGraph_1_1ArrowNode}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Arrow\+Node Class Reference}
\label{classACG_1_1SceneGraph_1_1ArrowNode}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}


{\ttfamily \#include $<$A\+C\+G/\+Scenegraph/\+Arrow\+Node.\+hh$>$}

Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Arrow\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classACG_1_1SceneGraph_1_1ArrowNode}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_aa11bdb0b01b61f43b2159ed6c3da1d74}\label{classACG_1_1SceneGraph_1_1ArrowNode_aa11bdb0b01b61f43b2159ed6c3da1d74}} 
\hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_aa11bdb0b01b61f43b2159ed6c3da1d74}{Arrow\+Node} (\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{Base\+Node} $\ast$\+\_\+parent=0, std\+::string \+\_\+name=\char`\"{}$<$Arrow\+Node$>$\char`\"{})
\begin{DoxyCompactList}\small\item\em default constructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a85c700b097557a2f5448d1f2517d60d0}\label{classACG_1_1SceneGraph_1_1ArrowNode_a85c700b097557a2f5448d1f2517d60d0}} 
\hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a85c700b097557a2f5448d1f2517d60d0}{$\sim$\+Arrow\+Node} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a26e5719b06c17956bee25735ca174de4}\label{classACG_1_1SceneGraph_1_1ArrowNode_a26e5719b06c17956bee25735ca174de4}} 
\hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a26e5719b06c17956bee25735ca174de4}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{classACG_1_1SceneGraph_1_1ArrowNode}{Arrow\+Node})
\begin{DoxyCompactList}\small\item\em static name of this class \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_ab95be4dbbdae01a1ce175b320b240ce9}\label{classACG_1_1SceneGraph_1_1ArrowNode_ab95be4dbbdae01a1ce175b320b240ce9}} 
\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_ab95be4dbbdae01a1ce175b320b240ce9}{available\+Draw\+Modes} () const override
\begin{DoxyCompactList}\small\item\em return available draw modes \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a2f04cc4a5b72090d7bcafb7c17c481a2}\label{classACG_1_1SceneGraph_1_1ArrowNode_a2f04cc4a5b72090d7bcafb7c17c481a2}} 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a2f04cc4a5b72090d7bcafb7c17c481a2}{bounding\+Box} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max) override
\begin{DoxyCompactList}\small\item\em update bounding box \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_ad87bbdb45d4defde70443d8beea05bad}\label{classACG_1_1SceneGraph_1_1ArrowNode_ad87bbdb45d4defde70443d8beea05bad}} 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_ad87bbdb45d4defde70443d8beea05bad}{reserve} (int \+\_\+n)
\begin{DoxyCompactList}\small\item\em reserve mem for \+\_\+n arrows \end{DoxyCompactList}\item 
int \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow} (const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+start, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+dir, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+normal=\hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f}(0.\+0f, 1.\+0f, 0.\+0f), const Vec3f \&\+\_\+scale=\+Vec3f(1.\+0f, 1.\+0f, 1.\+0f), const Vec4uc \&\+\_\+color=\+Vec4uc(82, 82, 82, 255))
\begin{DoxyCompactList}\small\item\em Add an arrow to the node. \end{DoxyCompactList}\item 
int \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a8517ef37afefe9d86274ba4ab6c03718}{add\+Arrow} (const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+start, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+dir, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+normal, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+scale, const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+color)
\begin{DoxyCompactList}\small\item\em Add an arrow to the node. \end{DoxyCompactList}\item 
int \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a1f82a303453af88e7bea524e6f1f216c}{add\+Arrow} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+start, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+dir, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+normal=\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}(0.\+0, 1.\+0, 0.\+0), const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+scale=\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}(1.\+0, 1.\+0, 1.\+0), const \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} \&\+\_\+color=\hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc}(82, 82, 82, 255))
\begin{DoxyCompactList}\small\item\em Add an arrow to the node. \end{DoxyCompactList}\item 
int \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a6cf5a6e15bc36fbaef83e7c4fb811073}{add\+Arrow} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+start, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+dir, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+normal, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+scale, const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+color)
\begin{DoxyCompactList}\small\item\em Add an arrow to the node. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a3169aff8f982974c0ae4efdf6283ff39}{arrow\+Start} (int \+\_\+arrow\+ID) const
\begin{DoxyCompactList}\small\item\em Return the start position of an arrow. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a30ff9e59075d5d74631fe4a39b6027cf}{arrow\+Start} (int \+\_\+arrow\+ID, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+start)
\begin{DoxyCompactList}\small\item\em Set start point of an already added arrow. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a1f35a55c076bed94be1b61e29eb06f11}{arrow\+Dir} (int \+\_\+arrow\+ID) const
\begin{DoxyCompactList}\small\item\em Return the direction of an arrow. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a0a95a128c7bffa29b53d27d15fd69c37}{arrow\+Dir} (int \+\_\+arrow\+ID, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+dir)
\begin{DoxyCompactList}\small\item\em Set direction of an already added arrow. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a69e121f956296bde9a1ecfc9f2bc1a35}{arrow\+Normal} (int \+\_\+arrow\+ID) const
\begin{DoxyCompactList}\small\item\em Return the normal of an arrow. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_ac2d0c9813c08c88fcc037194686dc9a4}{arrow\+Normal} (int \+\_\+arrow\+ID, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+normal)
\begin{DoxyCompactList}\small\item\em Set normal of an already added arrow. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a4c6281798384c8c1e1ebaeff71cb3c22}{arrow\+Scale} (int \+\_\+arrow\+ID) const
\begin{DoxyCompactList}\small\item\em Return the scale of an arrow. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_aa5294bf6351b905e0058e47f4a29a969}{arrow\+Scale} (int \+\_\+arrow\+ID, const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&\+\_\+scale)
\begin{DoxyCompactList}\small\item\em Set the scale of an already added arrow. \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_af4ecf39f6cca5bb1a2909ab50e007802}{arrow\+Color} (int \+\_\+arrow\+ID) const
\begin{DoxyCompactList}\small\item\em Return the color of an arrow. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_aa070b539f76bd4c632255bcef24143fb}{arrow\+Color} (int \+\_\+arrow\+ID, const \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} \&\+\_\+color)
\begin{DoxyCompactList}\small\item\em Set the color of an already added arrow. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_ab175ce1ffc1f14a32864fee03f28b314}\label{classACG_1_1SceneGraph_1_1ArrowNode_ab175ce1ffc1f14a32864fee03f28b314}} 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_ab175ce1ffc1f14a32864fee03f28b314}{clear} ()
\begin{DoxyCompactList}\small\item\em clear arrows \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a5517b7a029d34a22fe2f59ecbbf99d8f}\label{classACG_1_1SceneGraph_1_1ArrowNode_a5517b7a029d34a22fe2f59ecbbf99d8f}} 
int \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a5517b7a029d34a22fe2f59ecbbf99d8f}{n\+\_\+arrows} () const
\begin{DoxyCompactList}\small\item\em number of arrows \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a0fab68d75d7b20cbaa5d09b3541cfb6b}\label{classACG_1_1SceneGraph_1_1ArrowNode_a0fab68d75d7b20cbaa5d09b3541cfb6b}} 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a0fab68d75d7b20cbaa5d09b3541cfb6b}{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
\begin{DoxyCompactList}\small\item\em draw arrows \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a68ceef98d212117fe2195c6bc65948f1}{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
\begin{DoxyCompactList}\small\item\em Add the objects to the given renderer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a6aade6fd4ca855aab301e9049d2a6ce1}\label{classACG_1_1SceneGraph_1_1ArrowNode_a6aade6fd4ca855aab301e9049d2a6ce1}} 
void {\bfseries create\+Arrow\+Mesh} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a644a3666cc674ca45b12b254976ae3e0}\label{classACG_1_1SceneGraph_1_1ArrowNode_a644a3666cc674ca45b12b254976ae3e0}} 
\hyperlink{namespaceACG_a1e5dae9881df8fa0d42b985a8e7fad28}{G\+L\+Matrixf} {\bfseries compute\+World\+Matrix} (int \+\_\+arrow) const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_aa93fbad258dda031710cfc39cab82753}\label{classACG_1_1SceneGraph_1_1ArrowNode_aa93fbad258dda031710cfc39cab82753}} 
\hyperlink{namespaceACG_a1e5dae9881df8fa0d42b985a8e7fad28}{G\+L\+Matrixf} {\bfseries read\+World\+Matrix} (int \+\_\+arrow) const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_aab7aa32769ef69f1268c091e7fb1ca37}\label{classACG_1_1SceneGraph_1_1ArrowNode_aab7aa32769ef69f1268c091e7fb1ca37}} 
void {\bfseries update\+Instance\+Data} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a551df6a091a1b0e255d51bec55c32659}\label{classACG_1_1SceneGraph_1_1ArrowNode_a551df6a091a1b0e255d51bec55c32659}} 
void {\bfseries update\+Instance\+Buffer} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a23f4f01a93c0527bd1fef5e31427b0d8}\label{classACG_1_1SceneGraph_1_1ArrowNode_a23f4f01a93c0527bd1fef5e31427b0d8}} 
int {\bfseries instance\+Data\+Offset} (int \+\_\+arrow) const
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a198e113eb1cc1dc8ac5edc0f4ff919d9}\label{classACG_1_1SceneGraph_1_1ArrowNode_a198e113eb1cc1dc8ac5edc0f4ff919d9}} 
int {\bfseries instance\+Data\+Size} () const
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a50ca7fa98c72682650d6a2ed16b78400}\label{classACG_1_1SceneGraph_1_1ArrowNode_a50ca7fa98c72682650d6a2ed16b78400}} 
std\+::vector$<$ \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} $>$ {\bfseries arrows\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a91db28c47acb93fa741a9ebc2da64c15}\label{classACG_1_1SceneGraph_1_1ArrowNode_a91db28c47acb93fa741a9ebc2da64c15}} 
int {\bfseries num\+Vertices\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a21b8ed179c53e75018c53056c1f3cd21}\label{classACG_1_1SceneGraph_1_1ArrowNode_a21b8ed179c53e75018c53056c1f3cd21}} 
int {\bfseries num\+Indices\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a84df4f9298228088306b79669820ae26}\label{classACG_1_1SceneGraph_1_1ArrowNode_a84df4f9298228088306b79669820ae26}} 
Geometry\+Buffer {\bfseries vertex\+Buffer\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_adf800f07a7f41e2f8949dda66939ff42}\label{classACG_1_1SceneGraph_1_1ArrowNode_adf800f07a7f41e2f8949dda66939ff42}} 
Index\+Buffer {\bfseries index\+Buffer\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a58a73dc2aa3333e8ad4585713a9b0687}\label{classACG_1_1SceneGraph_1_1ArrowNode_a58a73dc2aa3333e8ad4585713a9b0687}} 
\hyperlink{classACG_1_1VertexDeclaration}{Vertex\+Declaration} {\bfseries vertex\+Decl\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_af9e2afe9ccdf9e13d853c148ef5b3329}\label{classACG_1_1SceneGraph_1_1ArrowNode_af9e2afe9ccdf9e13d853c148ef5b3329}} 
\hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} {\bfseries local\+Arrow\+Min\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a6230834a255a6154afeda1106735cdf8}\label{classACG_1_1SceneGraph_1_1ArrowNode_a6230834a255a6154afeda1106735cdf8}} 
\hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} {\bfseries local\+Arrow\+Max\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a1211719ec2e6c017e00795fd00d33010}\label{classACG_1_1SceneGraph_1_1ArrowNode_a1211719ec2e6c017e00795fd00d33010}} 
std\+::vector$<$ float $>$ {\bfseries instance\+Data\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a21b0aa1d051bc054bbab52b9c5c9c45f}\label{classACG_1_1SceneGraph_1_1ArrowNode_a21b0aa1d051bc054bbab52b9c5c9c45f}} 
Geometry\+Buffer {\bfseries instance\+Buffer\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a4db01423b190a7720b704503a5ad5e54}\label{classACG_1_1SceneGraph_1_1ArrowNode_a4db01423b190a7720b704503a5ad5e54}} 
\hyperlink{classACG_1_1VertexDeclaration}{Vertex\+Declaration} {\bfseries vertex\+Decl\+Instanced\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_afd440095f577890ff1281c13d18934a1}\label{classACG_1_1SceneGraph_1_1ArrowNode_afd440095f577890ff1281c13d18934a1}} 
bool {\bfseries invalidate\+Instance\+Data\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a7c2c646e05456bab931139304af38890}\label{classACG_1_1SceneGraph_1_1ArrowNode_a7c2c646e05456bab931139304af38890}} 
bool {\bfseries invalidate\+Instance\+Buffer\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_ab0bc00151bad0fa363a104c6d350b08e}\label{classACG_1_1SceneGraph_1_1ArrowNode_ab0bc00151bad0fa363a104c6d350b08e}} 
int {\bfseries supports\+Instancing\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\hyperlink{classACG_1_1SceneGraph_1_1ArrowNode}{Arrow\+Node} renders a set of arrows. 

Definition at line 78 of file Arrow\+Node.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}\label{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!add\+Arrow@{add\+Arrow}}
\index{add\+Arrow@{add\+Arrow}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{add\+Arrow()}{addArrow()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily int A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::add\+Arrow (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+start,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+dir,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+normal = {\ttfamily \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f}(0.0f,~1.0f,~0.0f)},  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+scale = {\ttfamily \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f}(1.0f,~1.0f,~1.0f)},  }\item[{const \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} \&}]{\+\_\+color = {\ttfamily \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc}(82,~82,~82,~255)} }\end{DoxyParamCaption})}



Add an arrow to the node. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+start} & Start position of the arrow \\
\hline
{\em \+\_\+dir} & Direction of the arrow \\
\hline
{\em \+\_\+normal} & Normal vector on the top surface of the arrow. Gets orthonormalized to \+\_\+dir internally. If 0 or collinear to \+\_\+dir, a random normal is chosen. \\
\hline
{\em \+\_\+scale} & Uniform scaling factor of the arrow. This is also the length of the arrow. \\
\hline
{\em \+\_\+color} & \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} color \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
ID of the arrow 
\end{DoxyReturn}


Definition at line 374 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a8517ef37afefe9d86274ba4ab6c03718}\label{classACG_1_1SceneGraph_1_1ArrowNode_a8517ef37afefe9d86274ba4ab6c03718}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!add\+Arrow@{add\+Arrow}}
\index{add\+Arrow@{add\+Arrow}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{add\+Arrow()}{addArrow()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily int A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::add\+Arrow (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+start,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+dir,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+normal,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+scale,  }\item[{const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+color }\end{DoxyParamCaption})}



Add an arrow to the node. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+start} & Start position of the arrow \\
\hline
{\em \+\_\+dir} & Direction of the arrow \\
\hline
{\em \+\_\+normal} & Normal vector on the top surface of the arrow. Gets orthonormalized to \+\_\+dir internally. If 0 or collinear to \+\_\+dir, a random normal is chosen. \\
\hline
{\em \+\_\+scale} & Uniform scaling factor of the arrow. This is also the length of the arrow. \\
\hline
{\em \+\_\+color} & \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} color \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
id of the arrow 
\end{DoxyReturn}


Definition at line 395 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a1f82a303453af88e7bea524e6f1f216c}\label{classACG_1_1SceneGraph_1_1ArrowNode_a1f82a303453af88e7bea524e6f1f216c}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!add\+Arrow@{add\+Arrow}}
\index{add\+Arrow@{add\+Arrow}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{add\+Arrow()}{addArrow()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily int A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::add\+Arrow (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+start,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+dir,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+normal = {\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}(0.0,~1.0,~0.0)},  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+scale = {\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d}(1.0,~1.0,~1.0)},  }\item[{const \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} \&}]{\+\_\+color = {\ttfamily \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc}(82,~82,~82,~255)} }\end{DoxyParamCaption})}



Add an arrow to the node. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+start} & Start position of the arrow \\
\hline
{\em \+\_\+dir} & Direction of the arrow \\
\hline
{\em \+\_\+normal} & Normal vector on the top surface of the arrow. Gets orthonormalized to \+\_\+dir internally. If 0 or collinear to \+\_\+dir, a random normal is chosen. \\
\hline
{\em \+\_\+scale} & Uniform scaling factor of the arrow. This is also the length of the arrow. \\
\hline
{\em \+\_\+color} & \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} color \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
id of the arrow 
\end{DoxyReturn}


Definition at line 428 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a6cf5a6e15bc36fbaef83e7c4fb811073}\label{classACG_1_1SceneGraph_1_1ArrowNode_a6cf5a6e15bc36fbaef83e7c4fb811073}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!add\+Arrow@{add\+Arrow}}
\index{add\+Arrow@{add\+Arrow}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{add\+Arrow()}{addArrow()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily int A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::add\+Arrow (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+start,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+dir,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+normal,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+scale,  }\item[{const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+color }\end{DoxyParamCaption})}



Add an arrow to the node. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+start} & Start position of the arrow \\
\hline
{\em \+\_\+dir} & Direction of the arrow \\
\hline
{\em \+\_\+normal} & Normal vector on the top surface of the arrow. Gets orthonormalized to \+\_\+dir internally. If 0 or collinear to \+\_\+dir, a random normal is chosen. \\
\hline
{\em \+\_\+scale} & Uniform scaling factor of the arrow. This is also the length of the arrow. \\
\hline
{\em \+\_\+color} & \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} color \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
id of the arrow 
\end{DoxyReturn}


Definition at line 435 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_af4ecf39f6cca5bb1a2909ab50e007802}\label{classACG_1_1SceneGraph_1_1ArrowNode_af4ecf39f6cca5bb1a2909ab50e007802}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Color@{arrow\+Color}}
\index{arrow\+Color@{arrow\+Color}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Color()}{arrowColor()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Color (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID }\end{DoxyParamCaption}) const}



Return the color of an arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} color 
\end{DoxyReturn}


Definition at line 580 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_aa070b539f76bd4c632255bcef24143fb}\label{classACG_1_1SceneGraph_1_1ArrowNode_aa070b539f76bd4c632255bcef24143fb}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Color@{arrow\+Color}}
\index{arrow\+Color@{arrow\+Color}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Color()}{arrowColor()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Color (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID,  }\item[{const \hyperlink{namespaceACG_adb89a8d57b6d179ad535c0880a8b616e}{Vec4uc} \&}]{\+\_\+color }\end{DoxyParamCaption})}



Set the color of an already added arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
{\em \+\_\+scale} & \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} color \\
\hline
\end{DoxyParams}


Definition at line 585 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a1f35a55c076bed94be1b61e29eb06f11}\label{classACG_1_1SceneGraph_1_1ArrowNode_a1f35a55c076bed94be1b61e29eb06f11}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Dir@{arrow\+Dir}}
\index{arrow\+Dir@{arrow\+Dir}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Dir()}{arrowDir()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Dir (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID }\end{DoxyParamCaption}) const}



Return the direction of an arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Direction of the arrow 
\end{DoxyReturn}


Definition at line 545 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a0a95a128c7bffa29b53d27d15fd69c37}\label{classACG_1_1SceneGraph_1_1ArrowNode_a0a95a128c7bffa29b53d27d15fd69c37}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Dir@{arrow\+Dir}}
\index{arrow\+Dir@{arrow\+Dir}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Dir()}{arrowDir()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Dir (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+dir }\end{DoxyParamCaption})}



Set direction of an already added arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
{\em \+\_\+dir} & Direction of the arrow \\
\hline
\end{DoxyParams}


Definition at line 550 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a69e121f956296bde9a1ecfc9f2bc1a35}\label{classACG_1_1SceneGraph_1_1ArrowNode_a69e121f956296bde9a1ecfc9f2bc1a35}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Normal@{arrow\+Normal}}
\index{arrow\+Normal@{arrow\+Normal}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Normal()}{arrowNormal()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Normal (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID }\end{DoxyParamCaption}) const}



Return the normal of an arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Normal of the arrow 
\end{DoxyReturn}


Definition at line 557 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_ac2d0c9813c08c88fcc037194686dc9a4}\label{classACG_1_1SceneGraph_1_1ArrowNode_ac2d0c9813c08c88fcc037194686dc9a4}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Normal@{arrow\+Normal}}
\index{arrow\+Normal@{arrow\+Normal}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Normal()}{arrowNormal()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Normal (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+normal }\end{DoxyParamCaption})}



Set normal of an already added arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
{\em \+\_\+dir} & Normal of the arrow \\
\hline
\end{DoxyParams}


Definition at line 562 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a4c6281798384c8c1e1ebaeff71cb3c22}\label{classACG_1_1SceneGraph_1_1ArrowNode_a4c6281798384c8c1e1ebaeff71cb3c22}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Scale@{arrow\+Scale}}
\index{arrow\+Scale@{arrow\+Scale}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Scale()}{arrowScale()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Scale (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID }\end{DoxyParamCaption}) const}



Return the scale of an arrow. 

Scaling vector\+: width, length, height 
\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} scale 
\end{DoxyReturn}


Definition at line 569 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_aa5294bf6351b905e0058e47f4a29a969}\label{classACG_1_1SceneGraph_1_1ArrowNode_aa5294bf6351b905e0058e47f4a29a969}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Scale@{arrow\+Scale}}
\index{arrow\+Scale@{arrow\+Scale}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Scale()}{arrowScale()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Scale (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+scale }\end{DoxyParamCaption})}



Set the scale of an already added arrow. 

Scaling vector\+: width, length, height 
\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
{\em \+\_\+scale} & \hyperlink{structACG_1_1SceneGraph_1_1ArrowNode_1_1Arrow}{Arrow} scale \\
\hline
\end{DoxyParams}


Definition at line 574 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a3169aff8f982974c0ae4efdf6283ff39}\label{classACG_1_1SceneGraph_1_1ArrowNode_a3169aff8f982974c0ae4efdf6283ff39}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Start@{arrow\+Start}}
\index{arrow\+Start@{arrow\+Start}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Start()}{arrowStart()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Start (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID }\end{DoxyParamCaption}) const}



Return the start position of an arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Start position of the arrow 
\end{DoxyReturn}


Definition at line 534 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a30ff9e59075d5d74631fe4a39b6027cf}\label{classACG_1_1SceneGraph_1_1ArrowNode_a30ff9e59075d5d74631fe4a39b6027cf}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!arrow\+Start@{arrow\+Start}}
\index{arrow\+Start@{arrow\+Start}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{arrow\+Start()}{arrowStart()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::arrow\+Start (\begin{DoxyParamCaption}\item[{int}]{\+\_\+arrow\+ID,  }\item[{const \hyperlink{namespaceACG_a86c28120e8596ee7d03e58b7300f59bc}{Vec3f} \&}]{\+\_\+start }\end{DoxyParamCaption})}



Set start point of an already added arrow. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+arrow\+ID} & ID of the arrow that was returned by \hyperlink{classACG_1_1SceneGraph_1_1ArrowNode_a65936c21fb23dc38cc72bf617b88b5f8}{add\+Arrow()} \\
\hline
{\em \+\_\+start} & Start position of the arrow \\
\hline
\end{DoxyParams}


Definition at line 539 of file Arrow\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1ArrowNode_a68ceef98d212117fe2195c6bc65948f1}\label{classACG_1_1SceneGraph_1_1ArrowNode_a68ceef98d212117fe2195c6bc65948f1}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}!get\+Render\+Objects@{get\+Render\+Objects}}
\index{get\+Render\+Objects@{get\+Render\+Objects}!A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node}}
\subsubsection{\texorpdfstring{get\+Render\+Objects()}{getRenderObjects()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Arrow\+Node\+::get\+Render\+Objects (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1IRenderer}{I\+Renderer} $\ast$}]{\+\_\+renderer,  }\item[{\hyperlink{classACG_1_1GLState}{G\+L\+State} \&}]{\+\_\+state,  }\item[{const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&}]{\+\_\+draw\+Mode,  }\item[{const \hyperlink{classACG_1_1SceneGraph_1_1Material}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$}]{\+\_\+mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}}



Add the objects to the given renderer. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+renderer} & The renderer which will be used. Add your geometry into this class \\
\hline
{\em \+\_\+state} & The current GL State when this object is called \\
\hline
{\em \+\_\+draw\+Mode} & The active draw mode \\
\hline
{\em \+\_\+mat} & Current material \\
\hline
\end{DoxyParams}


Definition at line 266 of file Arrow\+Node.\+cc.



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