\hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Skeleton\+NodeT$<$ Skeleton\+Type $>$ Class Template Reference}
\label{classACG_1_1SceneGraph_1_1SkeletonNodeT}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+Node\+T$<$ Skeleton\+Type $>$@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+Node\+T$<$ Skeleton\+Type $>$}}


{\ttfamily \#include $<$AC$>$}

Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Skeleton\+NodeT$<$ Skeleton\+Type $>$\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classACG_1_1SceneGraph_1_1SkeletonNodeT}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2df437799fe84de556743bd52d7ae70d}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2df437799fe84de556743bd52d7ae70d}} 
typedef Skeleton\+Type\+::\+Point {\bfseries Point}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a94b51c88230e215ae3e21c60bd899677}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a94b51c88230e215ae3e21c60bd899677}} 
typedef \hyperlink{classJointT}{JointT}$<$ typename Skeleton\+Type\+::\+Point $>$ {\bfseries Joint}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8ebd910e8cf2cf266163780c1cca7a3a}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8ebd910e8cf2cf266163780c1cca7a3a}} 
typedef Skeleton\+Type\+::\+Pose {\bfseries Pose}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a69c1639307b2075d04c401aab10be846}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a69c1639307b2075d04c401aab10be846}} 
typedef Skeleton\+Type\+::\+Matrix {\bfseries Matrix}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a36172f936bb307abf469b3e134e00007}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a36172f936bb307abf469b3e134e00007}} 
{\bfseries A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{Skeleton\+NodeT})
\item 
\hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_ab22751bea25a7e01be8dbc0422b5a0a1}{Skeleton\+NodeT} (Skeleton\+Type \&\+\_\+skeleton, \hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{Base\+Node} $\ast$\+\_\+parent=0, std\+::string \+\_\+name=\char`\"{}$<$Skeleton\+Node$>$\char`\"{})
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8408c48ba599fa6c7e36aec7878e4bc4}{$\sim$\+Skeleton\+NodeT} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
Skeleton\+Type \& \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_afdf875cf605fab09eb72046c9bed8cf0}{skeleton} ()
\begin{DoxyCompactList}\small\item\em Returns a pointer to the skeleton. \end{DoxyCompactList}\item 
\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8830fc4b07ed06b5386cbfd49a14b86e}{available\+Draw\+Modes} () const override
\begin{DoxyCompactList}\small\item\em Returns available draw modes. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a1ce0a9c8ebae3c017b5486981670c877}{bounding\+Box} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max) override
\begin{DoxyCompactList}\small\item\em Returns the bounding box of this node. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a16108f88f95bc47bd021db78353c180d}{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 Renders the nodes contents using the given render state and draw mode. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a1a314c385b97e0fd7507097eeb94cfbb}{pick} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, \hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target} \+\_\+target) override
\begin{DoxyCompactList}\small\item\em Renders the node in picking mode, restricted to the node components given by {\itshape \+\_\+target}. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a98a0622f51fa137fdf1e87ce9ddff119}{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}{Material} $\ast$\+\_\+mat) override
\begin{DoxyCompactList}\small\item\em Adds renderobjects to renderer for flexible shader pipeline. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a321d80c438c49138c903328564462456}{set\+Active\+Pose} (const \hyperlink{classAnimationHandle}{Animation\+Handle} \&\+\_\+h\+Ani)
\begin{DoxyCompactList}\small\item\em Set the pose which should be rendered. \end{DoxyCompactList}\item 
\hyperlink{classAnimationHandle}{Animation\+Handle} \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a25cab7050bf9d1ef8e747b7c4a5abb37}{active\+Pose} ()
\begin{DoxyCompactList}\small\item\em Get the pose that is used for rendering. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a04bd352fc3516d22c5b27fe745c9790f}{show\+Coord\+Frames} (bool \+\_\+b\+Visible=true)
\begin{DoxyCompactList}\small\item\em Toggle visibility of coordinate frames for all joints. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a92d2fddd4b24c62c54f15a245ec1c15b}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a92d2fddd4b24c62c54f15a245ec1c15b}} 
bool {\bfseries coord\+Frames\+Visible} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a816901aeda8bb3a99fa74773a7ab44a8}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a816901aeda8bb3a99fa74773a7ab44a8}} 
double \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a816901aeda8bb3a99fa74773a7ab44a8}{frame\+Size} ()
\begin{DoxyCompactList}\small\item\em returns the size of the rendered coordinate system \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a3cbef895fe0f97fabf50db7dd6260b0f}{pick\+\_\+vertices} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state)
\begin{DoxyCompactList}\small\item\em Pick method for vertices. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8463de0c5afcd272cf092ab6e7ba36ce}{pick\+\_\+edges} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state)
\begin{DoxyCompactList}\small\item\em Pick method for edges. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a18d03af1cdbc7471261158d558b3dc35}{draw\+\_\+bone} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \+\_\+draw\+Mode, const Point \&\+\_\+parent, const Point \&\+\_\+axis)
\begin{DoxyCompactList}\small\item\em Helper function to draw the bones. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2d12ba20192d52341e04e1acce16b39b}{add\+Bone\+To\+Renderer} (\hyperlink{classACG_1_1IRenderer}{I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{structACG_1_1RenderObject}{Render\+Object} \&\+\_\+base, const Point \&\+\_\+parent, const Point \&\+\_\+axis)
\begin{DoxyCompactList}\small\item\em Helper function to create a renderobject for bones. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2750ea00a95a0ea9a023dd7d8851bc65}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2750ea00a95a0ea9a023dd7d8851bc65}} 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2750ea00a95a0ea9a023dd7d8851bc65}{compute\+Cone\+Matrices} (const \hyperlink{namespaceACG_a1e5dae9881df8fa0d42b985a8e7fad28}{G\+L\+Matrixf} \&\+\_\+model\+View, const Point \&\+\_\+parent, const Point \&\+\_\+axis, \hyperlink{namespaceACG_a1e5dae9881df8fa0d42b985a8e7fad28}{G\+L\+Matrixf} $\ast$\+\_\+out\+Cone0, \hyperlink{namespaceACG_a1e5dae9881df8fa0d42b985a8e7fad28}{G\+L\+Matrixf} $\ast$\+\_\+out\+Cone1)
\begin{DoxyCompactList}\small\item\em Helper function to compute modelview matrices for the two cones composing a bone. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae1a8a596e734686937031bf48d4e8efb}{Normalize\+Coordinate\+Frame} (Matrix \&\+\_\+mat)
\begin{DoxyCompactList}\small\item\em Normalizes a coordinate frame defined by the given matrix. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a7a47217fc2935b32a95c823afbfa0271}{get\+Joint\+Color} (const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+base\+Color, \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+result)
\begin{DoxyCompactList}\small\item\em get a joint color suitable to the base\+Color \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_aa38c3b653ce2b6434ef6e67b0cfdc984}{H\+S\+Vto\+R\+GB} (const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+\+H\+SV, \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+\+R\+GB)
\begin{DoxyCompactList}\small\item\em Convert H\+SV color to R\+GB. \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae4fb8020b4d47adc3ee82e6395e0deb1}{R\+G\+Bto\+H\+SV} (const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+\+R\+GB, \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+\+H\+SV)
\begin{DoxyCompactList}\small\item\em Convert R\+GB color to H\+SV. \end{DoxyCompactList}\item 
double \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_af2735ac777977c3b0f44ad0f4b7abf40}{unproject\+Point\+Size} (double \+\_\+point\+Size, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+point, \hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state)
\begin{DoxyCompactList}\small\item\em Simulate gl\+Point\+Size(12) with a sphere. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a44349e6abadef60db9e687d2e44f5160}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a44349e6abadef60db9e687d2e44f5160}} 
bool \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a44349e6abadef60db9e687d2e44f5160}{b\+Coord\+Frames\+Visible\+\_\+}
\begin{DoxyCompactList}\small\item\em Coordinate frames are visible if this is true, not visible if false. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a6577454ab2236b730f07fc6779bc8658}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a6577454ab2236b730f07fc6779bc8658}} 
Skeleton\+Type \& \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a6577454ab2236b730f07fc6779bc8658}{skeleton\+\_\+}
\begin{DoxyCompactList}\small\item\em The skeleton nodes skeleton. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a47eb54da7d930bb775ed79d6321ec453}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a47eb54da7d930bb775ed79d6321ec453}} 
\hyperlink{classAnimationHandle}{Animation\+Handle} \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a47eb54da7d930bb775ed79d6321ec453}{h\+Ani\+\_\+}
\begin{DoxyCompactList}\small\item\em The active pose, this one is going to be rendered. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a3aecea51998deef54ea7e4a327777534}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a3aecea51998deef54ea7e4a327777534}} 
double \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a3aecea51998deef54ea7e4a327777534}{f\+Frame\+Size\+\_\+}
\begin{DoxyCompactList}\small\item\em size for the coord-\/frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2164caacb4158ef0162a494733807eff}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2164caacb4158ef0162a494733807eff}} 
int {\bfseries slices\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a18c59b7d00e04845efe9fba03f50b2ff}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a18c59b7d00e04845efe9fba03f50b2ff}} 
int {\bfseries stacks\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae91604c6b5df3b61e4647aff8404caf3}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae91604c6b5df3b61e4647aff8404caf3}} 
\hyperlink{classACG_1_1GLSphere}{A\+C\+G\+::\+G\+L\+Sphere} $\ast$ {\bfseries sphere\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a5e08dbc58d91654585a327497b040ea1}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a5e08dbc58d91654585a327497b040ea1}} 
\hyperlink{classACG_1_1GLCone}{A\+C\+G\+::\+G\+L\+Cone} $\ast$ {\bfseries cone\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_ad238f59e3b6769e17ffc4634298e4e74}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_ad238f59e3b6769e17ffc4634298e4e74}} 
\hyperlink{classACG_1_1GLCylinder}{A\+C\+G\+::\+G\+L\+Cylinder} $\ast$ {\bfseries cylinder\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_ab319447fb110643ae0bb785f16dda875}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_ab319447fb110643ae0bb785f16dda875}} 
Geometry\+Buffer \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_ab319447fb110643ae0bb785f16dda875}{point\+Instance\+Data\+\_\+}
\begin{DoxyCompactList}\small\item\em per instance data of joint spheres \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8c4da3b2acdb378afa6ce717567efb06}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8c4da3b2acdb378afa6ce717567efb06}} 
\hyperlink{classACG_1_1VertexDeclaration}{Vertex\+Declaration} {\bfseries point\+Instance\+Decl\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a9809c70d5b7ec5c9d40d45e8e0e14be1}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a9809c70d5b7ec5c9d40d45e8e0e14be1}} 
Geometry\+Buffer \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a9809c70d5b7ec5c9d40d45e8e0e14be1}{bone\+Instance\+Data\+\_\+}
\begin{DoxyCompactList}\small\item\em per instance data of bones \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_adb5f65ce45f1bc0acb39ccdee85e1873}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_adb5f65ce45f1bc0acb39ccdee85e1873}} 
\hyperlink{classACG_1_1VertexDeclaration}{Vertex\+Declaration} {\bfseries bone\+Instance\+Decl\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class Skeleton\+Type$>$\newline
class A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+Node\+T$<$ Skeleton\+Type $>$}

/.../\+Skeleton\+NodeT.hh$>$

Brief Description.

A more elaborate description follows. 

Definition at line 77 of file Skeleton\+Node\+T.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_ab22751bea25a7e01be8dbc0422b5a0a1}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_ab22751bea25a7e01be8dbc0422b5a0a1}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!Skeleton\+NodeT@{Skeleton\+NodeT}}
\index{Skeleton\+NodeT@{Skeleton\+NodeT}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{Skeleton\+Node\+T()}{SkeletonNodeT()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type$>$ \\
\hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::\hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{Skeleton\+NodeT} (\begin{DoxyParamCaption}\item[{Skeleton\+Type \&}]{\+\_\+skeleton,  }\item[{\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{Base\+Node} $\ast$}]{\+\_\+parent = {\ttfamily 0},  }\item[{std\+::string}]{\+\_\+name = {\ttfamily \char`\"{}$<$SkeletonNode$>$\char`\"{}} }\end{DoxyParamCaption})}



Constructor. 



Definition at line 75 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8408c48ba599fa6c7e36aec7878e4bc4}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8408c48ba599fa6c7e36aec7878e4bc4}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!````~Skeleton\+NodeT@{$\sim$\+Skeleton\+NodeT}}
\index{````~Skeleton\+NodeT@{$\sim$\+Skeleton\+NodeT}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{$\sim$\+Skeleton\+Node\+T()}{~SkeletonNodeT()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
\hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::$\sim$\hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{Skeleton\+NodeT} (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Destructor. 



Definition at line 98 of file Skeleton\+Node\+T\+\_\+impl.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a25cab7050bf9d1ef8e747b7c4a5abb37}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a25cab7050bf9d1ef8e747b7c4a5abb37}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!active\+Pose@{active\+Pose}}
\index{active\+Pose@{active\+Pose}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{active\+Pose()}{activePose()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
\hyperlink{classAnimationHandle}{Animation\+Handle} \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::active\+Pose (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Get the pose that is used for rendering. 

Returns the active pose set with \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT_a321d80c438c49138c903328564462456}{Skeleton\+Node\+T\+::set\+Active\+Pose}. 

Definition at line 720 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2d12ba20192d52341e04e1acce16b39b}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a2d12ba20192d52341e04e1acce16b39b}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!add\+Bone\+To\+Renderer@{add\+Bone\+To\+Renderer}}
\index{add\+Bone\+To\+Renderer@{add\+Bone\+To\+Renderer}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{add\+Bone\+To\+Renderer()}{addBoneToRenderer()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::add\+Bone\+To\+Renderer (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1IRenderer}{I\+Renderer} $\ast$}]{\+\_\+renderer,  }\item[{\hyperlink{structACG_1_1RenderObject}{Render\+Object} \&}]{\+\_\+base,  }\item[{const Point \&}]{\+\_\+parent,  }\item[{const Point \&}]{\+\_\+axis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Helper function to create a renderobject for bones. 



Definition at line 629 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8830fc4b07ed06b5386cbfd49a14b86e}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8830fc4b07ed06b5386cbfd49a14b86e}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!available\+Draw\+Modes@{available\+Draw\+Modes}}
\index{available\+Draw\+Modes@{available\+Draw\+Modes}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{available\+Draw\+Modes()}{availableDrawModes()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::available\+Draw\+Modes (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Returns available draw modes. 



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 153 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a1ce0a9c8ebae3c017b5486981670c877}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a1ce0a9c8ebae3c017b5486981670c877}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!bounding\+Box@{bounding\+Box}}
\index{bounding\+Box@{bounding\+Box}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{bounding\+Box()}{boundingBox()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::bounding\+Box (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+bb\+Min,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+bb\+Max }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Returns the bounding box of this node. 



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 129 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a16108f88f95bc47bd021db78353c180d}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a16108f88f95bc47bd021db78353c180d}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!draw@{draw}}
\index{draw@{draw}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{draw()}{draw()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::draw (\begin{DoxyParamCaption}\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 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}}



Renders the nodes contents using the given render state and draw mode. 



Definition at line 314 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a18d03af1cdbc7471261158d558b3dc35}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a18d03af1cdbc7471261158d558b3dc35}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!draw\+\_\+bone@{draw\+\_\+bone}}
\index{draw\+\_\+bone@{draw\+\_\+bone}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{draw\+\_\+bone()}{draw\_bone()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::draw\+\_\+bone (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1GLState}{G\+L\+State} \&}]{\+\_\+state,  }\item[{\hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode}}]{\+\_\+draw\+Mode,  }\item[{const Point \&}]{\+\_\+parent,  }\item[{const Point \&}]{\+\_\+axis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Helper function to draw the bones. 



Definition at line 601 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a7a47217fc2935b32a95c823afbfa0271}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a7a47217fc2935b32a95c823afbfa0271}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!get\+Joint\+Color@{get\+Joint\+Color}}
\index{get\+Joint\+Color@{get\+Joint\+Color}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{get\+Joint\+Color()}{getJointColor()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::get\+Joint\+Color (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+base\+Color,  }\item[{\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+result }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



get a joint color suitable to the base\+Color 

get suitable color for the joint

Definition at line 491 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a98a0622f51fa137fdf1e87ce9ddff119}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a98a0622f51fa137fdf1e87ce9ddff119}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!get\+Render\+Objects@{get\+Render\+Objects}}
\index{get\+Render\+Objects@{get\+Render\+Objects}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{get\+Render\+Objects()}{getRenderObjects()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::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}{Material} $\ast$}]{\+\_\+mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}}



Adds renderobjects to renderer for flexible shader pipeline. 

Generates renderobjects instead of direct draw calls for better rendering management. 

Definition at line 776 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_aa38c3b653ce2b6434ef6e67b0cfdc984}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_aa38c3b653ce2b6434ef6e67b0cfdc984}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!H\+S\+Vto\+R\+GB@{H\+S\+Vto\+R\+GB}}
\index{H\+S\+Vto\+R\+GB@{H\+S\+Vto\+R\+GB}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{H\+S\+Vto\+R\+G\+B()}{HSVtoRGB()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::H\+S\+Vto\+R\+GB (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+\+H\+SV,  }\item[{\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+\+R\+GB }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Convert H\+SV color to R\+GB. 

Converts the color from H\+SV color space to R\+GB.

H is in range \mbox{[}0, 360\mbox{]}, S and V in \mbox{[}0, 1\mbox{]}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em \+\_\+\+H\+SV} & An array of 3 G\+Lfloats, holding H, S and V \\
\hline
\mbox{\tt out}  & {\em \+\_\+\+R\+GB} & An array of 3 G\+Lfloats, holding R, G and B \\
\hline
\end{DoxyParams}


Definition at line 201 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae1a8a596e734686937031bf48d4e8efb}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae1a8a596e734686937031bf48d4e8efb}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!Normalize\+Coordinate\+Frame@{Normalize\+Coordinate\+Frame}}
\index{Normalize\+Coordinate\+Frame@{Normalize\+Coordinate\+Frame}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{Normalize\+Coordinate\+Frame()}{NormalizeCoordinateFrame()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::Normalize\+Coordinate\+Frame (\begin{DoxyParamCaption}\item[{Matrix \&}]{\+\_\+mat }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Normalizes a coordinate frame defined by the given matrix. 



Definition at line 176 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a1a314c385b97e0fd7507097eeb94cfbb}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a1a314c385b97e0fd7507097eeb94cfbb}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!pick@{pick}}
\index{pick@{pick}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{pick()}{pick()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::pick (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1GLState}{G\+L\+State} \&}]{\+\_\+state,  }\item[{\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{Pick\+Target}}]{\+\_\+target }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}}



Renders the node in picking mode, restricted to the node components given by {\itshape \+\_\+target}. 



Definition at line 512 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8463de0c5afcd272cf092ab6e7ba36ce}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a8463de0c5afcd272cf092ab6e7ba36ce}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!pick\+\_\+edges@{pick\+\_\+edges}}
\index{pick\+\_\+edges@{pick\+\_\+edges}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{pick\+\_\+edges()}{pick\_edges()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::pick\+\_\+edges (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1GLState}{G\+L\+State} \&}]{\+\_\+state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Pick method for edges. 



Definition at line 570 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a3cbef895fe0f97fabf50db7dd6260b0f}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a3cbef895fe0f97fabf50db7dd6260b0f}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!pick\+\_\+vertices@{pick\+\_\+vertices}}
\index{pick\+\_\+vertices@{pick\+\_\+vertices}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{pick\+\_\+vertices()}{pick\_vertices()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::pick\+\_\+vertices (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1GLState}{G\+L\+State} \&}]{\+\_\+state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Pick method for vertices. 



Definition at line 546 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae4fb8020b4d47adc3ee82e6395e0deb1}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_ae4fb8020b4d47adc3ee82e6395e0deb1}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!R\+G\+Bto\+H\+SV@{R\+G\+Bto\+H\+SV}}
\index{R\+G\+Bto\+H\+SV@{R\+G\+Bto\+H\+SV}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{R\+G\+Bto\+H\+S\+V()}{RGBtoHSV()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::R\+G\+Bto\+H\+SV (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+\+R\+GB,  }\item[{\hyperlink{namespaceACG_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&}]{\+\_\+\+H\+SV }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Convert R\+GB color to H\+SV. 

Converts a color from R\+GB color space to H\+SV.

Red, green and blue are in the range \mbox{[}0, 1\mbox{]}.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em \+\_\+\+R\+GB} & An array of 3 G\+Lfloats, holding R, G and B \\
\hline
\mbox{\tt in}  & {\em \+\_\+\+H\+SV} & An array of 3 G\+Lfloats, holding H, S and V \\
\hline
\end{DoxyParams}


Definition at line 262 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a321d80c438c49138c903328564462456}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a321d80c438c49138c903328564462456}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!set\+Active\+Pose@{set\+Active\+Pose}}
\index{set\+Active\+Pose@{set\+Active\+Pose}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{set\+Active\+Pose()}{setActivePose()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::set\+Active\+Pose (\begin{DoxyParamCaption}\item[{const \hyperlink{classAnimationHandle}{Animation\+Handle} \&}]{\+\_\+h\+Ani }\end{DoxyParamCaption})}



Set the pose which should be rendered. 

Selects the active pose.

The active pose is the pose that is drawn to the viewport. If the animation handle is invalid (-\/1), the default pose will be drawn.

\begin{DoxyWarning}{Warning}
Do not call this method directly, call \hyperlink{classSkeletonObject_a6cb837ac63114e86f07c528a72252df2}{Skeleton\+Object\+::set\+Active\+Pose} instead. The object has to be notified, in order to properly update the text node positions.
\end{DoxyWarning}

\begin{DoxyParams}{Parameters}
{\em \+\_\+h\+Ani} & A handle to an animation, or an invalid handle for the default pose. \\
\hline
\end{DoxyParams}


Definition at line 708 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_a04bd352fc3516d22c5b27fe745c9790f}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_a04bd352fc3516d22c5b27fe745c9790f}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!show\+Coord\+Frames@{show\+Coord\+Frames}}
\index{show\+Coord\+Frames@{show\+Coord\+Frames}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{show\+Coord\+Frames()}{showCoordFrames()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
void \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::show\+Coord\+Frames (\begin{DoxyParamCaption}\item[{bool}]{\+\_\+b\+Visible = {\ttfamily true} }\end{DoxyParamCaption})}



Toggle visibility of coordinate frames for all joints. 



Definition at line 732 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_afdf875cf605fab09eb72046c9bed8cf0}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_afdf875cf605fab09eb72046c9bed8cf0}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!skeleton@{skeleton}}
\index{skeleton@{skeleton}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{skeleton()}{skeleton()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
Skeleton\+Type \& \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::skeleton (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Returns a pointer to the skeleton. 



Definition at line 117 of file Skeleton\+Node\+T\+\_\+impl.\+hh.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1SkeletonNodeT_af2735ac777977c3b0f44ad0f4b7abf40}\label{classACG_1_1SceneGraph_1_1SkeletonNodeT_af2735ac777977c3b0f44ad0f4b7abf40}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}!unproject\+Point\+Size@{unproject\+Point\+Size}}
\index{unproject\+Point\+Size@{unproject\+Point\+Size}!A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT@{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}}
\subsubsection{\texorpdfstring{unproject\+Point\+Size()}{unprojectPointSize()}}
{\footnotesize\ttfamily template$<$class Skeleton\+Type $>$ \\
double \hyperlink{classACG_1_1SceneGraph_1_1SkeletonNodeT}{A\+C\+G\+::\+Scene\+Graph\+::\+Skeleton\+NodeT}$<$ Skeleton\+Type $>$\+::unproject\+Point\+Size (\begin{DoxyParamCaption}\item[{double}]{\+\_\+point\+Size,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+point,  }\item[{\hyperlink{classACG_1_1GLState}{G\+L\+State} \&}]{\+\_\+state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Simulate gl\+Point\+Size(12) with a sphere. 

Compute the radius of a sphere simulating gl\+Point\+Size after projection.

Definition at line 749 of file Skeleton\+Node\+T\+\_\+impl.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Type-\/\+Skeleton/\+Object\+Types/\+Skeleton/Skeleton\+Node\+T.\+hh\item 
Type-\/\+Skeleton/\+Object\+Types/\+Skeleton/Skeleton\+Node\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
