\hypertarget{a01183}{\section{Skeletal\+Animation\+Plugin Class Reference}
\label{a01183}\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
}


The skeletal animation plugin is used to interact with the skeleton.  




{\ttfamily \#include $<$Plugin-\/\+Skeletal\+Animation/\+Skeletal\+Animation\+Plugin.\+hh$>$}

Inheritance diagram for Skeletal\+Animation\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.212121cm]{a01183}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a01183_a835b6e78686f5f8e431bbfca0af4009b}{slot\+All\+Cleared} ()
\begin{DoxyCompactList}\small\item\em clear all occurred \end{DoxyCompactList}\item 
\hypertarget{a01183_a2037639646c43e30a4aec1cf04603aa5}{void \hyperlink{a01183_a2037639646c43e30a4aec1cf04603aa5}{slot\+Object\+Updated} (int \+\_\+id, const \hyperlink{a01393}{Update\+Type} \&\+\_\+type)}\label{a01183_a2037639646c43e30a4aec1cf04603aa5}

\begin{DoxyCompactList}\small\item\em Check active\+Pose if a skeleton was updated. \end{DoxyCompactList}\item 
void \hyperlink{a01183_a846b281b814d1901af6b71b773aa03ed}{slot\+Object\+Selection\+Changed} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em Update ui when the object selection changes. \end{DoxyCompactList}\item 
void \hyperlink{a01183_ac752dbfe88f57a316a46b3f9daeb6cc2}{file\+Opened} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em Update ui when the object is loaded. \end{DoxyCompactList}\item 
void \hyperlink{a01183_a338a6010ebeac300fa885900e25fcd23}{added\+Empty\+Object} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em Update ui when the object is added. \end{DoxyCompactList}\item 
void \hyperlink{a01183_ace2398fb405ca09c249f81e50ef65c47}{object\+Deleted} (int \+\_\+id)
\begin{DoxyCompactList}\small\item\em Update ui when the object is deleted. \end{DoxyCompactList}\item 
\hypertarget{a01183_a63076ca3f4e83ec3a3d4a894ad67dca9}{void \hyperlink{a01183_a63076ca3f4e83ec3a3d4a894ad67dca9}{Update\+U\+I} ()}\label{a01183_a63076ca3f4e83ec3a3d4a894ad67dca9}

\begin{DoxyCompactList}\small\item\em Called when the active object changes and the interface needs to be updated. \end{DoxyCompactList}\item 
\hypertarget{a01183_a9287aa1c420f5d96c71179791dc4f95e}{void \hyperlink{a01183_a9287aa1c420f5d96c71179791dc4f95e}{set\+Combo\+Box\+Position} (unsigned int \+\_\+animation\+Index)}\label{a01183_a9287aa1c420f5d96c71179791dc4f95e}

\begin{DoxyCompactList}\small\item\em Sets the animations combo box to the right entry. \end{DoxyCompactList}\item 
void \hyperlink{a01183_a95ab4626b01a541f95ecdbc00475528b}{check\+Object\+Selection} (const int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em Check source/target selection of objects. \end{DoxyCompactList}\item 
\hypertarget{a01183_a689559225e6f3f72c9c3afe4f39e136d}{void {\bfseries slot\+Animation\+Name\+Changed} ()}\label{a01183_a689559225e6f3f72c9c3afe4f39e136d}

\end{DoxyCompactItemize}
\begin{Indent}{\bf Scripting interface}\par
{\em Use these methods in the script editor. }\begin{DoxyCompactItemize}
\item 
\hypertarget{a01183_afef46e3a1c2974df6667ea948dfb5004}{int \hyperlink{a01183_afef46e3a1c2974df6667ea948dfb5004}{get\+Number\+Of\+Frames} ()}\label{a01183_afef46e3a1c2974df6667ea948dfb5004}

\begin{DoxyCompactList}\small\item\em Returns the number of frames in the currently active animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_ae2eb4b36b6eaddea4f025fcb56b698a5}{bool \hyperlink{a01183_ae2eb4b36b6eaddea4f025fcb56b698a5}{attach\+Skin} (int skeleton\+Id, int skin\+Id)}\label{a01183_ae2eb4b36b6eaddea4f025fcb56b698a5}

\begin{DoxyCompactList}\small\item\em Returns the number of frames in the currently active animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_ad1534126ee39db387dde29bca5e6fe0b}{bool \hyperlink{a01183_ad1534126ee39db387dde29bca5e6fe0b}{detach\+Skin} (int skeleton\+Id, int skin\+Id)}\label{a01183_ad1534126ee39db387dde29bca5e6fe0b}

\begin{DoxyCompactList}\small\item\em Returns the number of frames in the currently active animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_a61db2b468eeecc4df3171eb776b1e943}{bool \hyperlink{a01183_a61db2b468eeecc4df3171eb776b1e943}{clear\+Skins} (int skeleton\+Id)}\label{a01183_a61db2b468eeecc4df3171eb776b1e943}

\begin{DoxyCompactList}\small\item\em Returns the number of frames in the currently active animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_a2d0f51dc9c8c64c8b42022261b8a369d}{void \hyperlink{a01183_a2d0f51dc9c8c64c8b42022261b8a369d}{set\+Frame} (int \+\_\+i\+Frame)}\label{a01183_a2d0f51dc9c8c64c8b42022261b8a369d}

\begin{DoxyCompactList}\small\item\em Displays the given frame from the current animation and updates the view. \end{DoxyCompactList}\item 
\hypertarget{a01183_a0ee919428738b6f840695be90093806f}{int \hyperlink{a01183_a0ee919428738b6f840695be90093806f}{get\+Frame} ()}\label{a01183_a0ee919428738b6f840695be90093806f}

\begin{DoxyCompactList}\small\item\em Gets the current frame number. \end{DoxyCompactList}\item 
\hypertarget{a01183_ac6af7c5a96d7c6b679ebd0b62cd4a783}{void \hyperlink{a01183_ac6af7c5a96d7c6b679ebd0b62cd4a783}{change\+F\+P\+S} (int \+\_\+fps)}\label{a01183_ac6af7c5a96d7c6b679ebd0b62cd4a783}

\begin{DoxyCompactList}\small\item\em Change the frames per second (F\+P\+S) \end{DoxyCompactList}\item 
\hypertarget{a01183_a0d2caabc76b3510bef988c4b4673a72b}{void \hyperlink{a01183_a0d2caabc76b3510bef988c4b4673a72b}{play\+Animation} ()}\label{a01183_a0d2caabc76b3510bef988c4b4673a72b}

\begin{DoxyCompactList}\small\item\em Called by the ui and starts an automatic animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_a2fd1fe55a93026781e6196fc86552a5f}{void \hyperlink{a01183_a2fd1fe55a93026781e6196fc86552a5f}{pause\+Animation} ()}\label{a01183_a2fd1fe55a93026781e6196fc86552a5f}

\begin{DoxyCompactList}\small\item\em Called by the ui and stops the current animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_a2cabd50468853b9eeba8c3bdef20cc38}{void \hyperlink{a01183_a2cabd50468853b9eeba8c3bdef20cc38}{stop\+Animation} ()}\label{a01183_a2cabd50468853b9eeba8c3bdef20cc38}

\begin{DoxyCompactList}\small\item\em Called by the ui and stops the current animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_af2d7a8c07cafcd9c60bf82afe7d5a8dd}{void \hyperlink{a01183_af2d7a8c07cafcd9c60bf82afe7d5a8dd}{next\+Frame} ()}\label{a01183_af2d7a8c07cafcd9c60bf82afe7d5a8dd}

\begin{DoxyCompactList}\small\item\em Called by the ui and goes to next frame of the current animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_a98bbee901cd21c70d0f2fe6ae6a629bd}{void \hyperlink{a01183_a98bbee901cd21c70d0f2fe6ae6a629bd}{prev\+Frame} ()}\label{a01183_a98bbee901cd21c70d0f2fe6ae6a629bd}

\begin{DoxyCompactList}\small\item\em Called by the ui and goes to previous frame of the current animation. \end{DoxyCompactList}\item 
\hypertarget{a01183_af65867562c4cc9d4ee53e53026fef86d}{void \hyperlink{a01183_af65867562c4cc9d4ee53e53026fef86d}{update\+Skins} ()}\label{a01183_af65867562c4cc9d4ee53e53026fef86d}

\begin{DoxyCompactList}\small\item\em Returns the number of frames in the currently active animation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01183_a3075d30d9c14b71235a25020382fdf45}{void {\bfseries update\+View} ()}\label{a01183_a3075d30d9c14b71235a25020382fdf45}

\item 
\hypertarget{a01183_abd69f90238741e85c34dd2bee0829f1d}{void {\bfseries log} (\hyperlink{a02444_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)}\label{a01183_abd69f90238741e85c34dd2bee0829f1d}

\item 
\hypertarget{a01183_afa1830c927fc95404467ac93137288f5}{void {\bfseries log} (Q\+String \+\_\+message)}\label{a01183_afa1830c927fc95404467ac93137288f5}

\item 
\hypertarget{a01183_acd11c1f911c50ddd03a2bf63582cff50}{void {\bfseries add\+Empty\+Object} (\hyperlink{a00477}{Data\+Type} \+\_\+type, int \&\+\_\+id)}\label{a01183_acd11c1f911c50ddd03a2bf63582cff50}

\item 
\hypertarget{a01183_a2665adbafd80ed415ea1ba2c18f7b520}{void {\bfseries updated\+Object} (int \+\_\+id, const \hyperlink{a01393}{Update\+Type} \&\+\_\+type)}\label{a01183_a2665adbafd80ed415ea1ba2c18f7b520}

\item 
\hypertarget{a01183_a655c9d2f69b169036fb39e35215875c9}{void {\bfseries plugin\+Exists} (Q\+String \+\_\+plugin\+Name, bool \&\+\_\+exists)}\label{a01183_a655c9d2f69b169036fb39e35215875c9}

\item 
\hypertarget{a01183_a5a85ab415435115a44c3c3b1e11907d0}{void {\bfseries function\+Exists} (Q\+String \+\_\+plugin\+Name, Q\+String \+\_\+function\+Name, bool \&\+\_\+exists)}\label{a01183_a5a85ab415435115a44c3c3b1e11907d0}

\item 
\hypertarget{a01183_a309760c20809280a85d8c3df5cac6d9d}{void {\bfseries add\+Toolbox} (Q\+String \+\_\+name, Q\+Widget $\ast$\+\_\+widget, Q\+Icon $\ast$\+\_\+icon)}\label{a01183_a309760c20809280a85d8c3df5cac6d9d}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a01183_aaf7d858de88883df609860f22fa818d0}{Skeletal\+Animation\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
Q\+String \hyperlink{a01183_a228a18ef37d3664a1dd05fae084e6147}{name} ()
\begin{DoxyCompactList}\small\item\em returns the plugin name \end{DoxyCompactList}\item 
Q\+String \hyperlink{a01183_ae7f2563114d0c28bac1ca9cae700b9f4}{description} ()
\begin{DoxyCompactList}\small\item\em returns a plugin description \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00286}{Animation\+Handle} \hyperlink{a01183_acbeff696c62addd75f261dfd5cb72f8a}{current\+Animation\+Handle} ()
\begin{DoxyCompactList}\small\item\em Returns a handle describing the current frame in the active animation. \end{DoxyCompactList}\item 
void \hyperlink{a01183_a868dd19955b227552ec3d81942547ddd}{Update\+Skins} (\hyperlink{a00330}{Base\+Object\+Data} $\ast$\+\_\+p\+Skeleton\+Object, \hyperlink{a00286}{Animation\+Handle} \&\+\_\+h\+Ani)
\begin{DoxyCompactList}\small\item\em Changes the mesh's pose to represent the frame given by the animation handle. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01183_aecd94277f45c4f490a08e081809de331}{\hyperlink{a00290}{Animation\+Toolbox\+Widget} $\ast$ \hyperlink{a01183_aecd94277f45c4f490a08e081809de331}{p\+Toolbox\+\_\+}}\label{a01183_aecd94277f45c4f490a08e081809de331}

\begin{DoxyCompactList}\small\item\em A pointer to the toolbox widget. \end{DoxyCompactList}\item 
\hypertarget{a01183_afea5212532b3eac8120856e389e3ed33}{Q\+Icon $\ast$ {\bfseries tool\+Icon\+\_\+}}\label{a01183_afea5212532b3eac8120856e389e3ed33}

\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01183_ae149d45f162ff10168eadb501c67d69f}{typedef \hyperlink{a00996}{Pose\+T}$<$ Skeleton\+::\+Point $>$ \hyperlink{a01183_ae149d45f162ff10168eadb501c67d69f}{Pose}}\label{a01183_ae149d45f162ff10168eadb501c67d69f}

\begin{DoxyCompactList}\small\item\em Pose typedef. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01183_a69a51327ad2fa63bf3b9e49771819739}{void {\bfseries set\+Descriptions} ()}\label{a01183_a69a51327ad2fa63bf3b9e49771819739}

\item 
void \hyperlink{a01183_a5ef34d68bad25467ed4bd19c10e2eea9}{initialize\+Plugin} ()
\begin{DoxyCompactList}\small\item\em initialize the plugin \end{DoxyCompactList}\item 
void \hyperlink{a01183_a658fdca844228500ea22b35a7d47334f}{plugins\+Initialized} ()
\begin{DoxyCompactList}\small\item\em final initializations \end{DoxyCompactList}\item 
void \hyperlink{a01183_a0368e08b942f3df1a90ce0b2f29b46dc}{exit} ()
\begin{DoxyCompactList}\small\item\em Plugin gets closed. \end{DoxyCompactList}\item 
\hypertarget{a01183_a4338bbb3f2ba6e2570301dc24e261679}{void \hyperlink{a01183_a4338bbb3f2ba6e2570301dc24e261679}{slot\+Attach\+Skin} ()}\label{a01183_a4338bbb3f2ba6e2570301dc24e261679}

\begin{DoxyCompactList}\small\item\em Called by Qt as the user is trying to connect a mesh to a skeleton. \end{DoxyCompactList}\item 
\hypertarget{a01183_a9615063d1732ad8ecdd1ab4cdd742f20}{void \hyperlink{a01183_a9615063d1732ad8ecdd1ab4cdd742f20}{slot\+Clear\+Skins} ()}\label{a01183_a9615063d1732ad8ecdd1ab4cdd742f20}

\begin{DoxyCompactList}\small\item\em Called by Qt as the user is trying to unbind a mesh from as a skeleton. \end{DoxyCompactList}\item 
void \hyperlink{a01183_a6ef2de353521f5cd6db075d8eeb2f947}{slot\+Method\+Changed} (int \+\_\+index)
\begin{DoxyCompactList}\small\item\em Called as the skin deformation method changed. \end{DoxyCompactList}\item 
\hypertarget{a01183_afbc9cdfb289ae8f7a68508af606d40b2}{void \hyperlink{a01183_afbc9cdfb289ae8f7a68508af606d40b2}{slot\+Animation\+Index\+Changed} (int)}\label{a01183_afbc9cdfb289ae8f7a68508af606d40b2}

\begin{DoxyCompactList}\small\item\em Called by the framework when the animation index changed. \end{DoxyCompactList}\item 
\hypertarget{a01183_afc945258dd88a4e212e18caac4d30f43}{void \hyperlink{a01183_afc945258dd88a4e212e18caac4d30f43}{slot\+Frame\+Changed} (int)}\label{a01183_afc945258dd88a4e212e18caac4d30f43}

\begin{DoxyCompactList}\small\item\em Called by the framework when a different frame was selected. \end{DoxyCompactList}\item 
void \hyperlink{a01183_a4de8143f2ab36fbb2f4be563cad0c339}{slot\+Skip\+Frames\+Changed} (int \+\_\+state)
\begin{DoxyCompactList}\small\item\em Called as the skip frames check box changes state. \end{DoxyCompactList}\item 
\hypertarget{a01183_a08cf5771f677d8899a45b55bf46f59c7}{void {\bfseries slot\+Add\+Animation} ()}\label{a01183_a08cf5771f677d8899a45b55bf46f59c7}

\item 
\hypertarget{a01183_a7be9bb9b6eb11c705a885bd9d537bba0}{void {\bfseries slot\+Delete\+Animation} ()}\label{a01183_a7be9bb9b6eb11c705a885bd9d537bba0}

\item 
void \hyperlink{a01183_aca1f5a6b33b3a980dc3ef69b3fad0a65}{animate} ()
\begin{DoxyCompactList}\small\item\em Iterates the animation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{Indent}{\bf Skin management}\par
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01183_abd34e51736b5371d7568ddb7c94335e7}{void {\bfseries attach\+Skin} (\hyperlink{a00330}{Base\+Object\+Data} $\ast$p\+Skin, \hyperlink{a00330}{Base\+Object\+Data} $\ast$p\+Skeleton)}\label{a01183_abd34e51736b5371d7568ddb7c94335e7}

\item 
\hypertarget{a01183_aa0a05528459dd428d6beda5a9e4a7663}{void {\bfseries detach\+Skin} (\hyperlink{a00330}{Base\+Object\+Data} $\ast$p\+Skin, \hyperlink{a00330}{Base\+Object\+Data} $\ast$p\+Skeleton)}\label{a01183_aa0a05528459dd428d6beda5a9e4a7663}

\item 
\hypertarget{a01183_a2d496ce57c5e27009f087ed53935995a}{void {\bfseries clear\+Skins} (\hyperlink{a00330}{Base\+Object\+Data} $\ast$\+\_\+p\+Skeleton)}\label{a01183_a2d496ce57c5e27009f087ed53935995a}

\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01183_ab90d32a9cc4ae78b09d3085becad38fe}{\hyperlink{a00343_aa6b6b207875c07b72cc4100e6559aed1}{Base\+Skin\+::\+Method} \hyperlink{a01183_ab90d32a9cc4ae78b09d3085becad38fe}{method\+\_\+}}\label{a01183_ab90d32a9cc4ae78b09d3085becad38fe}

\begin{DoxyCompactList}\small\item\em The current blending method for the skin. \end{DoxyCompactList}\item 
\hypertarget{a01183_a06903672deb03a6a02fc180447cf7c7d}{bool \hyperlink{a01183_a06903672deb03a6a02fc180447cf7c7d}{b\+Gui\+Updating\+\_\+}}\label{a01183_a06903672deb03a6a02fc180447cf7c7d}

\begin{DoxyCompactList}\small\item\em Used to drop a few messages while the gui is being updated. \end{DoxyCompactList}\item 
\hypertarget{a01183_ae413b37aa24ebc8cf73f998752893dd1}{Q\+Timer \hyperlink{a01183_ae413b37aa24ebc8cf73f998752893dd1}{animation\+Timer\+\_\+}}\label{a01183_ae413b37aa24ebc8cf73f998752893dd1}

\begin{DoxyCompactList}\small\item\em Timer used to control animations. \end{DoxyCompactList}\item 
\hypertarget{a01183_adfc65ad8a2a611a87acd6998b1fc3ae4}{Q\+Time \hyperlink{a01183_adfc65ad8a2a611a87acd6998b1fc3ae4}{animation\+Time\+\_\+}}\label{a01183_adfc65ad8a2a611a87acd6998b1fc3ae4}

\begin{DoxyCompactList}\small\item\em Time since the animation was started, used to meet the given fps. \end{DoxyCompactList}\item 
\hypertarget{a01183_a121cf1bdb2f19ee34c036c119b73ec55}{int \hyperlink{a01183_a121cf1bdb2f19ee34c036c119b73ec55}{animation\+Offset\+\_\+}}\label{a01183_a121cf1bdb2f19ee34c036c119b73ec55}

\begin{DoxyCompactList}\small\item\em This frame was selected as the animation was started. \end{DoxyCompactList}\item 
\hypertarget{a01183_a1cce275c2d6fb216f1d8e274c368e88c}{std\+::vector$<$ int $>$ {\bfseries active\+Skeletons\+\_\+}}\label{a01183_a1cce275c2d6fb216f1d8e274c368e88c}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The skeletal animation plugin is used to interact with the skeleton. 

this plugin controls the playback of skeletal animations 

Definition at line 72 of file Skeletal\+Animation\+Plugin.\+hh.



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a01183_aaf7d858de88883df609860f22fa818d0}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{Skeletal\+Animation\+Plugin}]{\setlength{\rightskip}{0pt plus 5cm}Skeletal\+Animation\+Plugin\+::\+Skeletal\+Animation\+Plugin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a01183_aaf7d858de88883df609860f22fa818d0}


Constructor. 



Definition at line 66 of file Skeletal\+Animation\+Plugin.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a01183_a338a6010ebeac300fa885900e25fcd23}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!added\+Empty\+Object@{added\+Empty\+Object}}
\index{added\+Empty\+Object@{added\+Empty\+Object}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{added\+Empty\+Object}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::added\+Empty\+Object (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01183_a338a6010ebeac300fa885900e25fcd23}


Update ui when the object is added. 



Definition at line 193 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_aca1f5a6b33b3a980dc3ef69b3fad0a65}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!animate@{animate}}
\index{animate@{animate}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{animate}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::animate (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01183_aca1f5a6b33b3a980dc3ef69b3fad0a65}


Iterates the animation. 

If frame skipping is disabled, the next frame will be drawn. Otherwise, the next frame is determined by the time that passed since the last call. 

Definition at line 595 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a95ab4626b01a541f95ecdbc00475528b}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!check\+Object\+Selection@{check\+Object\+Selection}}
\index{check\+Object\+Selection@{check\+Object\+Selection}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{check\+Object\+Selection}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::check\+Object\+Selection (
\begin{DoxyParamCaption}
\item[{const int}]{\+\_\+object\+Id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01183_a95ab4626b01a541f95ecdbc00475528b}


Check source/target selection of objects. 



Definition at line 238 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_acbeff696c62addd75f261dfd5cb72f8a}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!current\+Animation\+Handle@{current\+Animation\+Handle}}
\index{current\+Animation\+Handle@{current\+Animation\+Handle}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{current\+Animation\+Handle}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Animation\+Handle} Skeletal\+Animation\+Plugin\+::current\+Animation\+Handle (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a01183_acbeff696c62addd75f261dfd5cb72f8a}


Returns a handle describing the current frame in the active animation. 

This information is derived from the corresponding combo box and slider. 

Definition at line 1042 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_ae7f2563114d0c28bac1ca9cae700b9f4}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!description@{description}}
\index{description@{description}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{description}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Skeletal\+Animation\+Plugin\+::description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a01183_ae7f2563114d0c28bac1ca9cae700b9f4}


returns a plugin description 



Implements \hyperlink{a00322_a43f0d3612695b53c848c14f48fea9a7a}{Base\+Interface}.



Definition at line 89 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a0368e08b942f3df1a90ce0b2f29b46dc}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!exit@{exit}}
\index{exit@{exit}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{exit}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::exit (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01183_a0368e08b942f3df1a90ce0b2f29b46dc}


Plugin gets closed. 



Definition at line 153 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_ac752dbfe88f57a316a46b3f9daeb6cc2}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!file\+Opened@{file\+Opened}}
\index{file\+Opened@{file\+Opened}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{file\+Opened}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::file\+Opened (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01183_ac752dbfe88f57a316a46b3f9daeb6cc2}


Update ui when the object is loaded. 



Definition at line 184 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a5ef34d68bad25467ed4bd19c10e2eea9}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!initialize\+Plugin@{initialize\+Plugin}}
\index{initialize\+Plugin@{initialize\+Plugin}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{initialize\+Plugin}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::initialize\+Plugin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01183_a5ef34d68bad25467ed4bd19c10e2eea9}


initialize the plugin 



Definition at line 99 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a228a18ef37d3664a1dd05fae084e6147}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!name@{name}}
\index{name@{name}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String Skeletal\+Animation\+Plugin\+::name (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a01183_a228a18ef37d3664a1dd05fae084e6147}


returns the plugin name 



Implements \hyperlink{a00322_a2b351aa6ef0eb368bce735e243235958}{Base\+Interface}.



Definition at line 79 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_ace2398fb405ca09c249f81e50ef65c47}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!object\+Deleted@{object\+Deleted}}
\index{object\+Deleted@{object\+Deleted}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{object\+Deleted}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::object\+Deleted (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01183_ace2398fb405ca09c249f81e50ef65c47}


Update ui when the object is deleted. 



Definition at line 203 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a658fdca844228500ea22b35a7d47334f}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!plugins\+Initialized@{plugins\+Initialized}}
\index{plugins\+Initialized@{plugins\+Initialized}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{plugins\+Initialized}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::plugins\+Initialized (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01183_a658fdca844228500ea22b35a7d47334f}


final initializations 



Definition at line 143 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a835b6e78686f5f8e431bbfca0af4009b}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!slot\+All\+Cleared@{slot\+All\+Cleared}}
\index{slot\+All\+Cleared@{slot\+All\+Cleared}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{slot\+All\+Cleared}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::slot\+All\+Cleared (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01183_a835b6e78686f5f8e431bbfca0af4009b}


clear all occurred 



Definition at line 162 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a6ef2de353521f5cd6db075d8eeb2f947}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!slot\+Method\+Changed@{slot\+Method\+Changed}}
\index{slot\+Method\+Changed@{slot\+Method\+Changed}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{slot\+Method\+Changed}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::slot\+Method\+Changed (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+index}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01183_a6ef2de353521f5cd6db075d8eeb2f947}


Called as the skin deformation method changed. 

The spherical skin blending appears to be buggy, so it is recommended not to use it. 

Definition at line 642 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a846b281b814d1901af6b71b773aa03ed}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!slot\+Object\+Selection\+Changed@{slot\+Object\+Selection\+Changed}}
\index{slot\+Object\+Selection\+Changed@{slot\+Object\+Selection\+Changed}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{slot\+Object\+Selection\+Changed}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::slot\+Object\+Selection\+Changed (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01183_a846b281b814d1901af6b71b773aa03ed}


Update ui when the object selection changes. 



Definition at line 174 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a4de8143f2ab36fbb2f4be563cad0c339}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!slot\+Skip\+Frames\+Changed@{slot\+Skip\+Frames\+Changed}}
\index{slot\+Skip\+Frames\+Changed@{slot\+Skip\+Frames\+Changed}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{slot\+Skip\+Frames\+Changed}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::slot\+Skip\+Frames\+Changed (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+state}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}}\label{a01183_a4de8143f2ab36fbb2f4be563cad0c339}


Called as the skip frames check box changes state. 

To prevent the animation playback from jumping, the animation timer is restarted here. 

Definition at line 623 of file Skeletal\+Animation\+Plugin.\+cc.

\hypertarget{a01183_a868dd19955b227552ec3d81942547ddd}{\index{Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}!Update\+Skins@{Update\+Skins}}
\index{Update\+Skins@{Update\+Skins}!Skeletal\+Animation\+Plugin@{Skeletal\+Animation\+Plugin}}
\subsubsection[{Update\+Skins}]{\setlength{\rightskip}{0pt plus 5cm}void Skeletal\+Animation\+Plugin\+::\+Update\+Skins (
\begin{DoxyParamCaption}
\item[{{\bf Base\+Object\+Data} $\ast$}]{\+\_\+skeleton\+Object, }
\item[{{\bf Animation\+Handle} \&}]{\+\_\+h\+Ani}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{a01183_a868dd19955b227552ec3d81942547ddd}


Changes the mesh's pose to represent the frame given by the animation handle. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+skeleton\+Object} & The object holding the skeleton, it is holding the pointer to the skin object \\
\hline
{\em \+\_\+h\+Ani} & A handle of the new animation/pose \\
\hline
\end{DoxyParams}


Definition at line 376 of file Skeletal\+Animation\+Plugin.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin-\/\+Skeletal\+Animation/Skeletal\+Animation\+Plugin.\+hh\item 
Plugin-\/\+Skeletal\+Animation/Skeletal\+Animation\+Plugin.\+cc\item 
Plugin-\/\+Skeletal\+Animation/Skeletal\+Animation\+Scripting.\+cc\end{DoxyCompactItemize}
