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


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

Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Transform\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.472406cm]{classACG_1_1SceneGraph_1_1TransformNode}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ad13f27719f2cbbb3bfa152e889b6b523}\label{classACG_1_1SceneGraph_1_1TransformNode_ad13f27719f2cbbb3bfa152e889b6b523}} 
\hyperlink{classACG_1_1SceneGraph_1_1TransformNode_ad13f27719f2cbbb3bfa152e889b6b523}{Transform\+Node} (\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Transform\+Node$>$\char`\"{})
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a1b578c0880b1763d1ec4284c6788eb82}\label{classACG_1_1SceneGraph_1_1TransformNode_a1b578c0880b1763d1ec4284c6788eb82}} 
virtual \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a1b578c0880b1763d1ec4284c6788eb82}{$\sim$\+Transform\+Node} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ae079650a5602f988c7f2fd52650a80a4}\label{classACG_1_1SceneGraph_1_1TransformNode_ae079650a5602f988c7f2fd52650a80a4}} 
\hyperlink{classACG_1_1SceneGraph_1_1TransformNode_ae079650a5602f988c7f2fd52650a80a4}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{classACG_1_1SceneGraph_1_1TransformNode}{Transform\+Node})
\begin{DoxyCompactList}\small\item\em set name \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a5671b2bfff28cfaa66e3c1b374c7acd7}\label{classACG_1_1SceneGraph_1_1TransformNode_a5671b2bfff28cfaa66e3c1b374c7acd7}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a5671b2bfff28cfaa66e3c1b374c7acd7}{enter} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode) override
\begin{DoxyCompactList}\small\item\em set current G\+L-\/color and G\+L-\/material \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a73322653301612ed5b11eb824c5400a5}\label{classACG_1_1SceneGraph_1_1TransformNode_a73322653301612ed5b11eb824c5400a5}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a73322653301612ed5b11eb824c5400a5}{leave} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state, const \hyperlink{classACG_1_1SceneGraph_1_1DrawModes_1_1DrawMode}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode) override
\begin{DoxyCompactList}\small\item\em restores original G\+L-\/color and G\+L-\/material \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a65593a70a000786d455e9e5faba41df4}\label{classACG_1_1SceneGraph_1_1TransformNode_a65593a70a000786d455e9e5faba41df4}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a65593a70a000786d455e9e5faba41df4}{set\+\_\+center} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+c)
\begin{DoxyCompactList}\small\item\em set center \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aa6f0f3c2bf7919e606044c4d4be7b9c8}\label{classACG_1_1SceneGraph_1_1TransformNode_aa6f0f3c2bf7919e606044c4d4be7b9c8}} 
const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_aa6f0f3c2bf7919e606044c4d4be7b9c8}{center} () const
\begin{DoxyCompactList}\small\item\em get center \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a29d9dbfbaaf43140b9fb1eb121246af3}{load\+Identity} ()
\item 
virtual void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a03c77db3e04b239e622a4bc8dfb19c5e}{set\+Identity} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_adfccba97fe1e7331403b7c4c08465d06}\label{classACG_1_1SceneGraph_1_1TransformNode_adfccba97fe1e7331403b7c4c08465d06}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_adfccba97fe1e7331403b7c4c08465d06}{translate} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+v)
\begin{DoxyCompactList}\small\item\em Add a translation to the current Transformation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aa83eb13c6277e3b5194469b28c37bb53}\label{classACG_1_1SceneGraph_1_1TransformNode_aa83eb13c6277e3b5194469b28c37bb53}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_aa83eb13c6277e3b5194469b28c37bb53}{set\+Translation} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+v)
\begin{DoxyCompactList}\small\item\em translation setter \end{DoxyCompactList}\item 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_ac5cf6af1fc3f73c1d27ec924462233ce}{rotate} (double \+\_\+angle, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+axis)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a832c37e89f503f931e543dbdcb1ea5eb}\label{classACG_1_1SceneGraph_1_1TransformNode_a832c37e89f503f931e543dbdcb1ea5eb}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a832c37e89f503f931e543dbdcb1ea5eb}{set\+Rotation} (const \hyperlink{classACG_1_1QuaternionT}{Quaterniond} \&\hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a6a874ae36286c8edf1971358012b587c}{rotation})
\begin{DoxyCompactList}\small\item\em rotation setter \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a63f793da82545feaf58e99588c659ae4}\label{classACG_1_1SceneGraph_1_1TransformNode_a63f793da82545feaf58e99588c659ae4}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a63f793da82545feaf58e99588c659ae4}{scale} (double \+\_\+s)
\begin{DoxyCompactList}\small\item\em Add scaling to the current Transformation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ab204399df938145abbfe986a125b7ef2}\label{classACG_1_1SceneGraph_1_1TransformNode_ab204399df938145abbfe986a125b7ef2}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_ab204399df938145abbfe986a125b7ef2}{scale} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+s)
\begin{DoxyCompactList}\small\item\em Add scaling to the current Transformation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a1a557a382eccb48c40c0b47b05762a61}\label{classACG_1_1SceneGraph_1_1TransformNode_a1a557a382eccb48c40c0b47b05762a61}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a1a557a382eccb48c40c0b47b05762a61}{scale} (const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \&\+\_\+m)
\begin{DoxyCompactList}\small\item\em Add scaling to the current Transformation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a8a52316eb69098468ef2a29ece6d1f62}\label{classACG_1_1SceneGraph_1_1TransformNode_a8a52316eb69098468ef2a29ece6d1f62}} 
const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a8a52316eb69098468ef2a29ece6d1f62}{matrix} () const
\begin{DoxyCompactList}\small\item\em Returns a const reference to the current transformation matrix. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a2c09191e44bc5169702b0426a16ebfac}\label{classACG_1_1SceneGraph_1_1TransformNode_a2c09191e44bc5169702b0426a16ebfac}} 
const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a2c09191e44bc5169702b0426a16ebfac}{inverse\+\_\+matrix} () const
\begin{DoxyCompactList}\small\item\em return inverse matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a6a874ae36286c8edf1971358012b587c}\label{classACG_1_1SceneGraph_1_1TransformNode_a6a874ae36286c8edf1971358012b587c}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a6a874ae36286c8edf1971358012b587c}{rotation} (\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+axis, double \&\+\_\+angle) const
\begin{DoxyCompactList}\small\item\em return rotation axis \& angle \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a5d0240d2ca7eeb839e4ce7f21844c093}\label{classACG_1_1SceneGraph_1_1TransformNode_a5d0240d2ca7eeb839e4ce7f21844c093}} 
const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a5d0240d2ca7eeb839e4ce7f21844c093}{rotation} () const
\begin{DoxyCompactList}\small\item\em return rotation matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a1236449fa5ca2d1db985d3b0599b6b20}\label{classACG_1_1SceneGraph_1_1TransformNode_a1236449fa5ca2d1db985d3b0599b6b20}} 
const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a1236449fa5ca2d1db985d3b0599b6b20}{inverse\+\_\+rotation} () const
\begin{DoxyCompactList}\small\item\em return inverse rotation matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aee7030d49fd127141aafed7db90f0ede}\label{classACG_1_1SceneGraph_1_1TransformNode_aee7030d49fd127141aafed7db90f0ede}} 
const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_aee7030d49fd127141aafed7db90f0ede}{translation} () const
\begin{DoxyCompactList}\small\item\em returns ref. to translation vector \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a2fcea3ece48d4987caae413e3546441e}\label{classACG_1_1SceneGraph_1_1TransformNode_a2fcea3ece48d4987caae413e3546441e}} 
const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a2fcea3ece48d4987caae413e3546441e}{scale} () const
\begin{DoxyCompactList}\small\item\em return scale matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a393f6be99a4c43252d68bf91e4c7a5bb}\label{classACG_1_1SceneGraph_1_1TransformNode_a393f6be99a4c43252d68bf91e4c7a5bb}} 
const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \& \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a393f6be99a4c43252d68bf91e4c7a5bb}{inverse\+\_\+scale} () const
\begin{DoxyCompactList}\small\item\em return inverse scale matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ad64aa4ebd59cac0e431bd0dbbc33cc18}\label{classACG_1_1SceneGraph_1_1TransformNode_ad64aa4ebd59cac0e431bd0dbbc33cc18}} 
bool {\bfseries apply\+\_\+transformation} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a670084dc86799657818dc97aaba7496e}\label{classACG_1_1SceneGraph_1_1TransformNode_a670084dc86799657818dc97aaba7496e}} 
void {\bfseries apply\+\_\+transformation} (bool \+\_\+apply\+Transformation)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a21e32a56c9ed455e5ca485a1ce2206f0}\label{classACG_1_1SceneGraph_1_1TransformNode_a21e32a56c9ed455e5ca485a1ce2206f0}} 
bool {\bfseries is2D} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aaeb34cf45de0d3a60496aa050a4bc1a3}\label{classACG_1_1SceneGraph_1_1TransformNode_aaeb34cf45de0d3a60496aa050a4bc1a3}} 
void {\bfseries set2D} (bool \+\_\+2d)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a3aac4ee9acfa90e687358c2814c75793}\label{classACG_1_1SceneGraph_1_1TransformNode_a3aac4ee9acfa90e687358c2814c75793}} 
bool {\bfseries is\+Per\+Skeleton\+Object} ()
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a263d2a1a569509debf03187ced07eff7}\label{classACG_1_1SceneGraph_1_1TransformNode_a263d2a1a569509debf03187ced07eff7}} 
void {\bfseries set\+Per\+Skeleton\+Object} (bool \+\_\+is)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a13ed6e6fc821e22e6e41731ace915ba7}\label{classACG_1_1SceneGraph_1_1TransformNode_a13ed6e6fc821e22e6e41731ace915ba7}} 
void {\bfseries set\+Per\+Skeleton\+Model\+View} (\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \+\_\+is)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a683731afd0e96009f6ca5e0a2a8d3057}\label{classACG_1_1SceneGraph_1_1TransformNode_a683731afd0e96009f6ca5e0a2a8d3057}} 
void {\bfseries ortho2\+D\+Mode} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ad316cfe2f087370a754693328f095d66}\label{classACG_1_1SceneGraph_1_1TransformNode_ad316cfe2f087370a754693328f095d66}} 
void {\bfseries per\+Skeleton\+Mode} (\hyperlink{classACG_1_1GLState}{G\+L\+State} \&\+\_\+state)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a7f60b732158cf38c30a6d24b6e1e78dc}\label{classACG_1_1SceneGraph_1_1TransformNode_a7f60b732158cf38c30a6d24b6e1e78dc}} 
void {\bfseries update2\+D\+Offset} (\hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec2d} \+\_\+offset)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a30b97fc4121ca4737928ac77a2b05e01}\label{classACG_1_1SceneGraph_1_1TransformNode_a30b97fc4121ca4737928ac77a2b05e01}} 
void {\bfseries scale2D} (double \+\_\+scale)
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a875cac6f0c636d14ade25f781b999012}\label{classACG_1_1SceneGraph_1_1TransformNode_a875cac6f0c636d14ade25f781b999012}} 
void {\bfseries set\+Image\+Dimensions} (\hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec2i} \+\_\+dim)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aa837092409375c29edc21adf73d51d4f}\label{classACG_1_1SceneGraph_1_1TransformNode_aa837092409375c29edc21adf73d51d4f}} 
bool {\bfseries is2\+D\+Object\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a809e9787b83cbe8e8cc174701b178363}\label{classACG_1_1SceneGraph_1_1TransformNode_a809e9787b83cbe8e8cc174701b178363}} 
bool {\bfseries is\+Per\+Skeleton\+Object\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_abdffa0b1f6373f5df0e57c78e5325d63}\label{classACG_1_1SceneGraph_1_1TransformNode_abdffa0b1f6373f5df0e57c78e5325d63}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries per\+Skeleton\+Model\+View\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a80e45d56542c685cf3393ce32544682b}\label{classACG_1_1SceneGraph_1_1TransformNode_a80e45d56542c685cf3393ce32544682b}} 
double {\bfseries scale\+Factor2\+D\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aee681b61fcc385403134551ab54c3567}\label{classACG_1_1SceneGraph_1_1TransformNode_aee681b61fcc385403134551ab54c3567}} 
\hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec2i} {\bfseries image\+Dimensions\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ac6b5182a800d54f2ef53981839e4d898}\label{classACG_1_1SceneGraph_1_1TransformNode_ac6b5182a800d54f2ef53981839e4d898}} 
\hyperlink{classOpenMesh_1_1VectorT}{A\+C\+G\+::\+Vec2d} {\bfseries offset\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aaaf9345bbdcdbb13bf98e16ddd5f938d}\label{classACG_1_1SceneGraph_1_1TransformNode_aaaf9345bbdcdbb13bf98e16ddd5f938d}} 
void \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_aaaf9345bbdcdbb13bf98e16ddd5f938d}{update\+Matrix} ()
\begin{DoxyCompactList}\small\item\em update matrix \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a09ad60bc5f8b224a40b5414d31b1278e}\label{classACG_1_1SceneGraph_1_1TransformNode_a09ad60bc5f8b224a40b5414d31b1278e}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries matrix\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a94980aa0a7a2d22d80450e72d748f3de}\label{classACG_1_1SceneGraph_1_1TransformNode_a94980aa0a7a2d22d80450e72d748f3de}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries inverse\+\_\+matrix\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a26c650a87214bd9d7a3199722ab49f3e}\label{classACG_1_1SceneGraph_1_1TransformNode_a26c650a87214bd9d7a3199722ab49f3e}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries rotation\+\_\+matrix\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aa8108bdd93ae3ee56d83f102a598451b}\label{classACG_1_1SceneGraph_1_1TransformNode_aa8108bdd93ae3ee56d83f102a598451b}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries inverse\+\_\+rotation\+\_\+matrix\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a8da0af44e4ecb1a31bb3c6f089b3d098}\label{classACG_1_1SceneGraph_1_1TransformNode_a8da0af44e4ecb1a31bb3c6f089b3d098}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries scale\+\_\+matrix\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_aac5248a3880a27fe3d50e283161798a6}\label{classACG_1_1SceneGraph_1_1TransformNode_aac5248a3880a27fe3d50e283161798a6}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries inverse\+\_\+scale\+\_\+matrix\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ac2d9f02945f2571a61ab5e7f729c73fe}\label{classACG_1_1SceneGraph_1_1TransformNode_ac2d9f02945f2571a61ab5e7f729c73fe}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries center\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a4cdc390b1829f974bb9961abfeb4d74e}\label{classACG_1_1SceneGraph_1_1TransformNode_a4cdc390b1829f974bb9961abfeb4d74e}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries translation\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a006c5b66f2077286fc55e8c667223afa}\label{classACG_1_1SceneGraph_1_1TransformNode_a006c5b66f2077286fc55e8c667223afa}} 
\hyperlink{classACG_1_1QuaternionT}{Quaterniond} {\bfseries quaternion\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a8c02408f73488007a83739a9d8aee653}\label{classACG_1_1SceneGraph_1_1TransformNode_a8c02408f73488007a83739a9d8aee653}} 
bool {\bfseries apply\+Transformation\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
\hyperlink{classACG_1_1SceneGraph_1_1TransformNode}{Transform\+Node} -\/ general 3D geometric transformation node. Provides functionality to translate, scale or rotate around a specified center. This is the base class for e.\+g. the \hyperlink{classACG_1_1SceneGraph_1_1TrackballNode}{Trackball\+Node} and the \hyperlink{classACG_1_1SceneGraph_1_1ManipulatorNode}{Manipulator\+Node}, that only add a G\+UI for generating the transformations.

Note that in order for the transformations to apply in each traversal of the scenegraph, one has to call apply\+\_\+transformation(true) once. 

Definition at line 89 of file Transform\+Node.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a29d9dbfbaaf43140b9fb1eb121246af3}\label{classACG_1_1SceneGraph_1_1TransformNode_a29d9dbfbaaf43140b9fb1eb121246af3}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node}!load\+Identity@{load\+Identity}}
\index{load\+Identity@{load\+Identity}!A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node}}
\subsubsection{\texorpdfstring{load\+Identity()}{loadIdentity()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node\+::load\+Identity (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Reset transformation to identity, i.\+e. reset rotation, translating and scaling factor. 

Definition at line 91 of file Transform\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_ac5cf6af1fc3f73c1d27ec924462233ce}\label{classACG_1_1SceneGraph_1_1TransformNode_ac5cf6af1fc3f73c1d27ec924462233ce}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node}!rotate@{rotate}}
\index{rotate@{rotate}!A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node}}
\subsubsection{\texorpdfstring{rotate()}{rotate()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node\+::rotate (\begin{DoxyParamCaption}\item[{double}]{\+\_\+angle,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&}]{\+\_\+axis }\end{DoxyParamCaption})}

Add a rotation to the current Transformation. Assume angle in degree and axis normalized 

Definition at line 148 of file Transform\+Node.\+cc.

\mbox{\Hypertarget{classACG_1_1SceneGraph_1_1TransformNode_a03c77db3e04b239e622a4bc8dfb19c5e}\label{classACG_1_1SceneGraph_1_1TransformNode_a03c77db3e04b239e622a4bc8dfb19c5e}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node}!set\+Identity@{set\+Identity}}
\index{set\+Identity@{set\+Identity}!A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node}}
\subsubsection{\texorpdfstring{set\+Identity()}{setIdentity()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Transform\+Node\+::set\+Identity (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

set the current transformation to the identity transformation, i.\+e. change the \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_aa6f0f3c2bf7919e606044c4d4be7b9c8}{center()} to the transfomed center and \hyperlink{classACG_1_1SceneGraph_1_1TransformNode_a29d9dbfbaaf43140b9fb1eb121246af3}{load\+Identity()}. 

Reimplemented in \hyperlink{classACG_1_1SceneGraph_1_1TranslationManipulatorNode_a6cfe1fa784873832c7a6923ac6cc2ae8}{A\+C\+G\+::\+Scene\+Graph\+::\+Translation\+Manipulator\+Node}, \hyperlink{classACG_1_1SceneGraph_1_1TrackballNode_a3995a0cc54dc7c705b4bc238742f5b80}{A\+C\+G\+::\+Scene\+Graph\+::\+Trackball\+Node}, and \hyperlink{classACG_1_1SceneGraph_1_1ManipulatorNode_ac2a325cdedcdbac5aac7e452c9e74971}{A\+C\+G\+::\+Scene\+Graph\+::\+Manipulator\+Node}.



Definition at line 112 of file Transform\+Node.\+cc.



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