\hypertarget{a10616}{}\section{Skeleton\+Editing\+Plugin Class Reference}
\label{a10616}\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}


{\ttfamily \#include $<$Plugin-\/\+Skeleton\+Editing/\+Skeleton\+Editing\+Plugin.\+hh$>$}

Inheritance diagram for Skeleton\+Editing\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=12.000000cm]{a10616}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10616_a29098145c2a2e57aec76f7680bd5b76f}\label{a10616_a29098145c2a2e57aec76f7680bd5b76f}} 
Q\+String {\bfseries version} ()
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Scriptable Functions}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10616_a74fd5dac813f99aa4434ea4d4506b0eb}\label{a10616_a74fd5dac813f99aa4434ea4d4506b0eb}} 
void \hyperlink{a10616_a74fd5dac813f99aa4434ea4d4506b0eb}{split\+Bone} (int \+\_\+object\+Id, int \+\_\+tail\+Joint)
\begin{DoxyCompactList}\small\item\em insert a joint in the middle of a bone given by its (unique) tail\+Joint \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a1711684e761076fc160ff62c8647819f}\label{a10616_a1711684e761076fc160ff62c8647819f}} 
void \hyperlink{a10616_a1711684e761076fc160ff62c8647819f}{add\+Joint} (int \+\_\+object\+Id, int \+\_\+parent, \hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} \+\_\+position)
\begin{DoxyCompactList}\small\item\em add joint to the skeleton \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a0eba4a9631d930d0850e5fafa665392f}\label{a10616_a0eba4a9631d930d0850e5fafa665392f}} 
void \hyperlink{a10616_a0eba4a9631d930d0850e5fafa665392f}{delete\+Joint} (int \+\_\+object\+Id, int \+\_\+joint\+Id)
\begin{DoxyCompactList}\small\item\em delete joint from the skeleton \end{DoxyCompactList}\item 
void \hyperlink{a10616_a06b115d257287180782a8f33db1acf74}{transform\+Joint} (int \+\_\+object\+Id, int \+\_\+joint\+Id, \hyperlink{a00188_a2c834138d15bf416d68149d639c97ed8}{Matrix4x4} \+\_\+matrix)
\begin{DoxyCompactList}\small\item\em transform joint with given matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a6030ff062241f32fe0045c4cddef30ad}\label{a10616_a6030ff062241f32fe0045c4cddef30ad}} 
\hyperlink{a00188_a2c834138d15bf416d68149d639c97ed8}{Matrix4x4} \hyperlink{a10616_a6030ff062241f32fe0045c4cddef30ad}{global\+Matrix} (int \+\_\+object\+Id, int \+\_\+joint\+Id)
\begin{DoxyCompactList}\small\item\em get global matrix of a joint in the active pose \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a82d96e27e1f2ec819772156baf743493}\label{a10616_a82d96e27e1f2ec819772156baf743493}} 
\hyperlink{a00188_a2c834138d15bf416d68149d639c97ed8}{Matrix4x4} \hyperlink{a10616_a82d96e27e1f2ec819772156baf743493}{local\+Matrix} (int \+\_\+object\+Id, int \+\_\+joint\+Id)
\begin{DoxyCompactList}\small\item\em get local matrix of a joint in the active pose \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_ab1f5aeca76d807f1003daa0027f4564e}\label{a10616_ab1f5aeca76d807f1003daa0027f4564e}} 
\hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} \hyperlink{a10616_ab1f5aeca76d807f1003daa0027f4564e}{global\+Translation} (int \+\_\+object\+Id, int \+\_\+joint\+Id)
\begin{DoxyCompactList}\small\item\em get global translation of a joint in the active pose \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_ad09a1f5bad93479472e98f231dad54a5}\label{a10616_ad09a1f5bad93479472e98f231dad54a5}} 
\hyperlink{a00188_a7932a926ab17fabe9f4a0ee1b498526c}{Vector} \hyperlink{a10616_ad09a1f5bad93479472e98f231dad54a5}{local\+Translation} (int \+\_\+object\+Id, int \+\_\+joint\+Id)
\begin{DoxyCompactList}\small\item\em get local translation of a joint in the active pose \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a203f5b2d91d3f81fd38735ada1a8dc07}\label{a10616_a203f5b2d91d3f81fd38735ada1a8dc07}} 
int \hyperlink{a10616_a203f5b2d91d3f81fd38735ada1a8dc07}{animation\+Count} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em get the number of animations \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a75ae942e546a17a066a27e720c983a65}\label{a10616_a75ae942e546a17a066a27e720c983a65}} 
int \hyperlink{a10616_a75ae942e546a17a066a27e720c983a65}{frame\+Count} (int \+\_\+object\+Id, int \+\_\+animation\+Index)
\begin{DoxyCompactList}\small\item\em get the number of frames \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_af9fd3ef632e8ee3d031574c48b1db6e0}\label{a10616_af9fd3ef632e8ee3d031574c48b1db6e0}} 
int \hyperlink{a10616_af9fd3ef632e8ee3d031574c48b1db6e0}{active\+Animation} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em get active animation \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a10ef110cfa7fc600f4e7b472e95f5824}\label{a10616_a10ef110cfa7fc600f4e7b472e95f5824}} 
int \hyperlink{a10616_a10ef110cfa7fc600f4e7b472e95f5824}{active\+Frame} (int \+\_\+object\+Id)
\begin{DoxyCompactList}\small\item\em get active frame \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a9a9ae8febb7f72e9bde2329877339f95}\label{a10616_a9a9ae8febb7f72e9bde2329877339f95}} 
void \hyperlink{a10616_a9a9ae8febb7f72e9bde2329877339f95}{set\+Active\+Pose} (int \+\_\+object\+Id, int \+\_\+animation\+Index, int \+\_\+frame)
\begin{DoxyCompactList}\small\item\em set active pose \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a5f4bef026d7603125b929e561f6c1084}\label{a10616_a5f4bef026d7603125b929e561f6c1084}} 
void \hyperlink{a10616_a5f4bef026d7603125b929e561f6c1084}{add\+Animation} (int \+\_\+object\+Id, Q\+String \+\_\+name, int \+\_\+frames)
\begin{DoxyCompactList}\small\item\em add animation \end{DoxyCompactList}\item 
void \hyperlink{a10616_a7f93274971aaea12d4e0df80b84aed4f}{split\+Joint} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em split selected Joint \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10616_ad9df65dfd781e9c919a0c1817cecfcda}\label{a10616_ad9df65dfd781e9c919a0c1817cecfcda}} 
void {\bfseries update\+View} ()
\item 
\mbox{\Hypertarget{a10616_a963f75f8386525fc96dc716650f84c3d}\label{a10616_a963f75f8386525fc96dc716650f84c3d}} 
void {\bfseries updated\+Object} (int, const \hyperlink{a07096}{Update\+Type} \&\+\_\+type)
\item 
\mbox{\Hypertarget{a10616_a5eb79492cae471bc17d7e20b617bedb3}\label{a10616_a5eb79492cae471bc17d7e20b617bedb3}} 
void {\bfseries node\+Visibility\+Changed} (int)
\item 
\mbox{\Hypertarget{a10616_a574a10363851053400398662a64d54d8}\label{a10616_a574a10363851053400398662a64d54d8}} 
void {\bfseries set\+Renderer} (unsigned int \+\_\+viewer, Q\+String \+\_\+renderer\+Name)
\item 
\mbox{\Hypertarget{a10616_aeb1bd3c97e67912d6203467e74285310}\label{a10616_aeb1bd3c97e67912d6203467e74285310}} 
void {\bfseries get\+Current\+Renderer} (unsigned int \+\_\+viewer, Q\+String \&\+\_\+renderer\+Name)
\item 
\mbox{\Hypertarget{a10616_aa92193f375a5bf9b8f4b525a7687e5a4}\label{a10616_aa92193f375a5bf9b8f4b525a7687e5a4}} 
void {\bfseries add\+Pick\+Mode} (const std\+::string \&\+\_\+mode)
\item 
\mbox{\Hypertarget{a10616_a2d5746b6cc0d460184886e0627249100}\label{a10616_a2d5746b6cc0d460184886e0627249100}} 
void {\bfseries add\+Hidden\+Pick\+Mode} (const std\+::string \&\+\_\+mode)
\item 
\mbox{\Hypertarget{a10616_a3f6cacc92723d32b4ef4c66f6a650d56}\label{a10616_a3f6cacc92723d32b4ef4c66f6a650d56}} 
void {\bfseries set\+Pick\+Mode\+Mouse\+Tracking} (const std\+::string \&\+\_\+mode, bool \+\_\+mouse\+Tracking)
\item 
\mbox{\Hypertarget{a10616_acd65514cc23e8d7757419df26a39ac41}\label{a10616_acd65514cc23e8d7757419df26a39ac41}} 
void {\bfseries set\+Pick\+Mode\+Toolbar} (const std\+::string \&\+\_\+mode, Q\+Tool\+Bar $\ast$\+\_\+toolbar)
\item 
\mbox{\Hypertarget{a10616_a77437bb3f74e45c1d18fc505a0966b9e}\label{a10616_a77437bb3f74e45c1d18fc505a0966b9e}} 
void {\bfseries add\+Context\+Menu\+Item} (Q\+Action $\ast$\+\_\+action, \hyperlink{a00017_a238952a111d7daede783625350d7b287}{Context\+Menu\+Type} \+\_\+type)
\item 
\mbox{\Hypertarget{a10616_a45e42e6330a45d1257f1e3804b242c2e}\label{a10616_a45e42e6330a45d1257f1e3804b242c2e}} 
void {\bfseries log} (\hyperlink{a00035_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a10616_ad979655957fad3aadfb8d281da658807}\label{a10616_ad979655957fad3aadfb8d281da658807}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a10616_a238f13893ea34738263fbf104d32eef0}\label{a10616_a238f13893ea34738263fbf104d32eef0}} 
void {\bfseries script\+Info} (Q\+String \+\_\+function\+Name)
\item 
\mbox{\Hypertarget{a10616_a90f46f2159d395e4b5335473181b77c3}\label{a10616_a90f46f2159d395e4b5335473181b77c3}} 
void {\bfseries set\+Slot\+Description} (Q\+String \+\_\+slot\+Name, Q\+String \+\_\+slot\+Description, Q\+String\+List \+\_\+parameters, Q\+String\+List \+\_\+descriptions)
\item 
\mbox{\Hypertarget{a10616_a289dcf1a225ecb5e6292eed9e7129226}\label{a10616_a289dcf1a225ecb5e6292eed9e7129226}} 
void {\bfseries add\+Toolbar} (Q\+Tool\+Bar $\ast$\+\_\+toolbar)
\item 
\mbox{\Hypertarget{a10616_ab89a19fad88ea7bad975d46cff651a36}\label{a10616_ab89a19fad88ea7bad975d46cff651a36}} 
void {\bfseries get\+Tool\+Bar} (Q\+String \+\_\+name, Q\+Tool\+Bar $\ast$\&\+\_\+toolbar)
\item 
\mbox{\Hypertarget{a10616_a53878808ad762a9b65d766fe408a511e}\label{a10616_a53878808ad762a9b65d766fe408a511e}} 
void {\bfseries register\+Key} (int \+\_\+key, Qt\+::\+Keyboard\+Modifiers \+\_\+modifiers, Q\+String \+\_\+description, bool \+\_\+multi\+Use=false)
\item 
\mbox{\Hypertarget{a10616_a5ccc745298563c7148e1808befb261c8}\label{a10616_a5ccc745298563c7148e1808befb261c8}} 
void {\bfseries add\+Toolbox} (Q\+String \+\_\+name, Q\+Widget $\ast$\+\_\+widget)
\item 
\mbox{\Hypertarget{a10616_a6acef61dca849b373673a074e3d2366a}\label{a10616_a6acef61dca849b373673a074e3d2366a}} 
void {\bfseries add\+Empty\+Object} (\hyperlink{a07048}{Data\+Type} \+\_\+type, int \&\+\_\+id)
\item 
\mbox{\Hypertarget{a10616_a61a867be2374ab091c18c1d720bcc641}\label{a10616_a61a867be2374ab091c18c1d720bcc641}} 
void {\bfseries delete\+Object} (int \+\_\+id)
\item 
\mbox{\Hypertarget{a10616_a93d876a403a265fa4ee2997fdf7c5ef5}\label{a10616_a93d876a403a265fa4ee2997fdf7c5ef5}} 
void {\bfseries create\+Backup} (int \+\_\+objectid, Q\+String \+\_\+name, \hyperlink{a07096}{Update\+Type} \+\_\+type=\hyperlink{a06166_ga4ce39b8d60eb78ada5080d032c9463a8}{U\+P\+D\+A\+T\+E\+\_\+\+A\+LL})
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a10616_aefb8cabec5cd630d2156b8f668207398}{Skeleton\+Editing\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Default Constructor. \end{DoxyCompactList}\item 
\hyperlink{a10616_af268faae4a67bf7457396b21a121b01d}{$\sim$\+Skeleton\+Editing\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_aff1264a3135488e2100001f0c77685d5}\label{a10616_aff1264a3135488e2100001f0c77685d5}} 
Q\+String \hyperlink{a10616_aff1264a3135488e2100001f0c77685d5}{name} ()
\begin{DoxyCompactList}\small\item\em Name of the Plugin. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a6d0daf61b383840cb6654357436e67cf}\label{a10616_a6d0daf61b383840cb6654357436e67cf}} 
Q\+String \hyperlink{a10616_a6d0daf61b383840cb6654357436e67cf}{description} ()
\begin{DoxyCompactList}\small\item\em Description of the Plugin. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10616_a8d9993b2bb07dcff2d10cb975fc9f631}\label{a10616_a8d9993b2bb07dcff2d10cb975fc9f631}} 
void {\bfseries initialize\+Plugin} ()
\item 
void \hyperlink{a10616_a2bcc06da65cd7ba4c59ddc105dd4631a}{plugins\+Initialized} ()
\begin{DoxyCompactList}\small\item\em Initialization of the plugin when it is loaded by the core. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a5590aa3933300ce62be33516808d81be}\label{a10616_a5590aa3933300ce62be33516808d81be}} 
void {\bfseries slot\+Object\+Updated} (int \+\_\+id, const \hyperlink{a07096}{Update\+Type} \&\+\_\+type)
\item 
\mbox{\Hypertarget{a10616_a156a76725c38f5585ba6a0bda6725966}\label{a10616_a156a76725c38f5585ba6a0bda6725966}} 
void {\bfseries slot\+Mouse\+Wheel\+Event} (Q\+Wheel\+Event $\ast$\+\_\+event, const std\+::string \&\+\_\+mode)
\item 
void \hyperlink{a10616_a099da51787ae10142caba409e641f996}{slot\+Mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Mouse\+Press event occured. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a5c80ff2430c23271c559167868400d6f}\label{a10616_a5c80ff2430c23271c559167868400d6f}} 
void {\bfseries slot\+Key\+Event} (Q\+Key\+Event $\ast$\+\_\+event)
\item 
\mbox{\Hypertarget{a10616_a9e85625fc0fab99271e3b1107f56772a}\label{a10616_a9e85625fc0fab99271e3b1107f56772a}} 
void {\bfseries slot\+Key\+Release\+Event} (Q\+Key\+Event $\ast$\+\_\+event)
\item 
void \hyperlink{a10616_a5ca2dcbd0d42e64c6a731fd292b4c186}{slot\+Pick\+Mode\+Changed} (const std\+::string \&\+\_\+mode)
\begin{DoxyCompactList}\small\item\em slot is called when the pick\+Mode changed \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_ae28b998349bf1d901e492b7e0a887082}\label{a10616_ae28b998349bf1d901e492b7e0a887082}} 
void {\bfseries slot\+Set\+Editing\+Mode} (Q\+Action $\ast$\+\_\+action)
\item 
\mbox{\Hypertarget{a10616_a3701aeefeb864bebdf7aadb0737bedb0}\label{a10616_a3701aeefeb864bebdf7aadb0737bedb0}} 
void {\bfseries slot\+Pick\+Toolbar\+Action} (Q\+Action $\ast$\+\_\+action)
\item 
void \hyperlink{a10616_ad872640b513031c735e9d9c224f66ec3}{set\+Descriptions} ()
\begin{DoxyCompactList}\small\item\em Set Descriptions for Scripting Slots. \end{DoxyCompactList}\item 
void \hyperlink{a10616_a0179dcf3fa806111a6465f269a433681}{manipulator\+Moved} (\hyperlink{a00182_af3661d1854c63aa68ed6f3f61bbbd9f5}{Qt\+Translation\+Manipulator\+Node} $\ast$\+\_\+node, Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em move the object when its manipulator moves \end{DoxyCompactList}\item 
void \hyperlink{a10616_a212555fb01f7cd286f43b00064b5f4a7}{Manipulator\+Position\+Changed} (\hyperlink{a00182_af3661d1854c63aa68ed6f3f61bbbd9f5}{Qt\+Translation\+Manipulator\+Node} $\ast$\+\_\+node)
\begin{DoxyCompactList}\small\item\em update object when its manipulator changes position \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a075cf305ff8e072d5e6ac800292e7d03}\label{a10616_a075cf305ff8e072d5e6ac800292e7d03}} 
void {\bfseries slot\+Rotate\+Manipulator} (bool \+\_\+toggled)
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10616_a606eb246219c08edf96ff9643ef09648}\label{a10616_a606eb246219c08edf96ff9643ef09648}} 
void {\bfseries move\+Joint} (Q\+Mouse\+Event $\ast$\+\_\+event)
\item 
bool \hyperlink{a10616_a3e855990e1d97764ace2699bbbfb8ffc}{can\+Modify} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em checks, if the skeleton can be modified. a skeleton can be modified, if the active pose is the reference pose \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a09fed5b86c97a40d235c96305b75a462}\label{a10616_a09fed5b86c97a40d235c96305b75a462}} 
void {\bfseries insert\+Joint} (Q\+Mouse\+Event $\ast$\+\_\+event)
\item 
\mbox{\Hypertarget{a10616_adf6c6d4ba2b89e00207b9e42ba66b2ff}\label{a10616_adf6c6d4ba2b89e00207b9e42ba66b2ff}} 
void {\bfseries cancel\+Joint\+Insertion} ()
\item 
\mbox{\Hypertarget{a10616_a1b47c83c72cd54625903d130b0710f7d}\label{a10616_a1b47c83c72cd54625903d130b0710f7d}} 
void {\bfseries delete\+Joint} (Q\+Mouse\+Event $\ast$\+\_\+event)
\item 
\mbox{\Hypertarget{a10616_a9c3f4e4ca3d303905db648cb3d91835b}\label{a10616_a9c3f4e4ca3d303905db648cb3d91835b}} 
void {\bfseries select\+Joint} (Q\+Mouse\+Event $\ast$\+\_\+event)
\item 
\mbox{\Hypertarget{a10616_afbf0b14755f4cf143fcee6f799130986}\label{a10616_afbf0b14755f4cf143fcee6f799130986}} 
\hyperlink{a11920}{Skeleton\+::\+Pose} $\ast$ {\bfseries active\+Pose} (\hyperlink{a11944}{Skeleton\+Object} $\ast$\+\_\+skeleton\+Obj)
\item 
\mbox{\Hypertarget{a10616_a2c4e324866ba62ac830c18c8fd6c73df}\label{a10616_a2c4e324866ba62ac830c18c8fd6c73df}} 
void {\bfseries set\+Joint\+Position} (\hyperlink{a11944}{Skeleton\+Object} $\ast$\+\_\+skeleton\+Obj, \hyperlink{a11916}{Skeleton\+::\+Joint} $\ast$\+\_\+joint, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+position)
\item 
\mbox{\Hypertarget{a10616_ade11b053e0e53121f3ee5673305ebd34}\label{a10616_ade11b053e0e53121f3ee5673305ebd34}} 
\hyperlink{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}{Open\+Mesh\+::\+Vec3d} \hyperlink{a10616_ade11b053e0e53121f3ee5673305ebd34}{get\+Nearest\+Joint} (\hyperlink{a11944}{Skeleton\+Object} $\ast$\+\_\+skeleton\+Obj, \hyperlink{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}{Open\+Mesh\+::\+Vec3d} \&\+\_\+hit\+Point, int \&\+\_\+best\+Joint\+ID)
\begin{DoxyCompactList}\small\item\em Get nearest joint to hit\+Point (used for snapping) \end{DoxyCompactList}\item 
void \hyperlink{a10616_a069938eb3ac9db75a2411ba7141ddb51}{place\+Manip} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Place and show the Manipulator. \end{DoxyCompactList}\item 
void \hyperlink{a10616_a2f45f994554a26f4241974fcf692429a}{show\+Manipulators} ()
\begin{DoxyCompactList}\small\item\em Show/\+Hide active manipulators. \end{DoxyCompactList}\item 
void \hyperlink{a10616_a896a664ae4ed07bc29982b79e7761e30}{update\+Manipulator\+Position} (\hyperlink{a07044}{Base\+Object\+Data} $\ast$\+\_\+skeleton\+Obj)
\begin{DoxyCompactList}\small\item\em make sure the manipulator is positioned on a joint \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_abee8276800615feb5d0b6299a31f4710}\label{a10616_abee8276800615feb5d0b6299a31f4710}} 
void \hyperlink{a10616_abee8276800615feb5d0b6299a31f4710}{inverse\+Kinematic} (\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} dest, \hyperlink{a11920}{Skeleton\+::\+Pose} $\ast$current\+Pose, \hyperlink{a11916}{Skeleton\+::\+Joint} $\ast$picked\+Joint, std\+::vector$<$ \hyperlink{a11916}{Skeleton\+::\+Joint} $\ast$$>$ rotatable\+Joints)
\begin{DoxyCompactList}\small\item\em function for computing the position of our joints using inverse Kinematic \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a10616_adcbeb723d3d21609d9de0580a4fa76f8}\label{a10616_adcbeb723d3d21609d9de0580a4fa76f8}} 
Q\+Tool\+Bar $\ast$ {\bfseries toolbar\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a7039cf2302478242bb44d655d908bb14}\label{a10616_a7039cf2302478242bb44d655d908bb14}} 
Q\+Action\+Group $\ast$ {\bfseries tool\+Bar\+Actions\+\_\+}
\item 
\mbox{\Hypertarget{a10616_abfbef79325b6261c960b246f301e4c82}\label{a10616_abfbef79325b6261c960b246f301e4c82}} 
Q\+Action $\ast$ {\bfseries skeleton\+Editing\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_aa495c08bb1e2185e8c0c43d8e3cd2744}\label{a10616_aa495c08bb1e2185e8c0c43d8e3cd2744}} 
Q\+Tool\+Bar $\ast$ {\bfseries pick\+Toolbar\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a808454642a965eca4862feffb1ddbeeb}\label{a10616_a808454642a965eca4862feffb1ddbeeb}} 
Q\+Action\+Group $\ast$ {\bfseries pick\+Tool\+Bar\+Actions\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a136016194d97d9a269ede85017fe97e0}\label{a10616_a136016194d97d9a269ede85017fe97e0}} 
Q\+Action $\ast$ {\bfseries select\+Joint\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a73c5f86b1bd35ea9e0695050c1f59b5c}\label{a10616_a73c5f86b1bd35ea9e0695050c1f59b5c}} 
Q\+Action $\ast$ {\bfseries insert\+Joint\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a99b6c6685178ad7ef7a30d92d20ead23}\label{a10616_a99b6c6685178ad7ef7a30d92d20ead23}} 
Q\+Action $\ast$ {\bfseries split\+Joint\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_adcbf6e1aac1baf715756d622c0a2cebb}\label{a10616_adcbf6e1aac1baf715756d622c0a2cebb}} 
Q\+Action $\ast$ {\bfseries delete\+Joint\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a332c63733adca33217cfb1ea4a1ed51b}\label{a10616_a332c63733adca33217cfb1ea4a1ed51b}} 
Q\+Action $\ast$ {\bfseries move\+Joint\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a54cef2c0c4ec7438f6e21172f7c62b24}\label{a10616_a54cef2c0c4ec7438f6e21172f7c62b24}} 
Q\+Action $\ast$ {\bfseries transform\+Child\+Manip\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a133ad1c689fabc8961f41ce21c0c830f}\label{a10616_a133ad1c689fabc8961f41ce21c0c830f}} 
Q\+Action $\ast$ {\bfseries transform\+All\+Manip\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a95b98829e8cf8021ea8a5f08925c6675}\label{a10616_a95b98829e8cf8021ea8a5f08925c6675}} 
Q\+Action $\ast$ {\bfseries rotate\+Manip\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a3f25add7c825ee85a35a6fa18ab54444}\label{a10616_a3f25add7c825ee85a35a6fa18ab54444}} 
Q\+Action $\ast$ {\bfseries inverse\+Kinematic\+Action\+\_\+}
\item 
\mbox{\Hypertarget{a10616_ab210d9ae4a943f2fc4b297ea39d9fb2e}\label{a10616_ab210d9ae4a943f2fc4b297ea39d9fb2e}} 
int {\bfseries current\+Skeleton\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a09a50e47806f832c3c73ac224d3c74a3}\label{a10616_a09a50e47806f832c3c73ac224d3c74a3}} 
int {\bfseries current\+Joint\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a9a9ada3fda1c0f3da1a824accae48f86}\label{a10616_a9a9ada3fda1c0f3da1a824accae48f86}} 
bool {\bfseries joint\+Preview\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a8a225abf4abbe467cfbd41cd64a716ed}\label{a10616_a8a225abf4abbe467cfbd41cd64a716ed}} 
bool {\bfseries transform\+Child\+Joints\+\_\+}
\item 
\mbox{\Hypertarget{a10616_ac53dd68d6d1949e9e6bc162a7b2ae904}\label{a10616_ac53dd68d6d1949e9e6bc162a7b2ae904}} 
bool {\bfseries transform\+All\+Frames\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a7f773c5acc0245fe5629053357cb8e6d}\label{a10616_a7f773c5acc0245fe5629053357cb8e6d}} 
bool {\bfseries inverse\+Kinematic\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a32795a50a58fc4f41b6bca8ea3114edd}\label{a10616_a32795a50a58fc4f41b6bca8ea3114edd}} 
bool {\bfseries dbl\+Click\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a99039e12de6207651ea6dcb8befd3bb2}\label{a10616_a99039e12de6207651ea6dcb8befd3bb2}} 
Q\+String \hyperlink{a10616_a99039e12de6207651ea6dcb8befd3bb2}{last\+Renderer\+\_\+}
\begin{DoxyCompactList}\small\item\em Stores the last active renderer before we switched to skeleton editing mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a8b95987bfe9b0d5de2ad12dcf4bd90ce}\label{a10616_a8b95987bfe9b0d5de2ad12dcf4bd90ce}} 
bool \hyperlink{a10616_a8b95987bfe9b0d5de2ad12dcf4bd90ce}{renderer\+Changed\+\_\+}
\begin{DoxyCompactList}\small\item\em Remembers, if we changed the renderer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a10616_a8e4104d54c2cfec14238c039979521c6}\label{a10616_a8e4104d54c2cfec14238c039979521c6}} 
std\+::vector$<$ int $>$ {\bfseries active\+Manipulators\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a6bb7ba616d19e393d39258ae14aaaab3}\label{a10616_a6bb7ba616d19e393d39258ae14aaaab3}} 
double {\bfseries manip\+\_\+size\+\_\+}
\item 
\mbox{\Hypertarget{a10616_af970f611290aed0af9ad6b5af17daa9b}\label{a10616_af970f611290aed0af9ad6b5af17daa9b}} 
double {\bfseries manip\+\_\+size\+\_\+modifier\+\_\+}
\item 
\mbox{\Hypertarget{a10616_ac09dc468da9a63e98a2f5e45f5c0e6ff}\label{a10616_ac09dc468da9a63e98a2f5e45f5c0e6ff}} 
\hyperlink{a10620}{Skeleton\+Marker} {\bfseries object\+Marker\+\_\+}
\item 
\mbox{\Hypertarget{a10616_a709b10235eeddfcb18b06fd78eda1eba}\label{a10616_a709b10235eeddfcb18b06fd78eda1eba}} 
\hyperlink{a06176_a7f5dece6cb3955c9847f5455509f6147}{A\+C\+G\+::\+Matrix4x4d} {\bfseries accum\+Matrix\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Plugin for creating and editing skeletons 

Definition at line 71 of file Skeleton\+Editing\+Plugin.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a10616_aefb8cabec5cd630d2156b8f668207398}\label{a10616_aefb8cabec5cd630d2156b8f668207398}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{Skeleton\+Editing\+Plugin()}{SkeletonEditingPlugin()}}
{\footnotesize\ttfamily Skeleton\+Editing\+Plugin\+::\+Skeleton\+Editing\+Plugin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Default Constructor. 



Definition at line 58 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_af268faae4a67bf7457396b21a121b01d}\label{a10616_af268faae4a67bf7457396b21a121b01d}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!````~Skeleton\+Editing\+Plugin@{$\sim$\+Skeleton\+Editing\+Plugin}}
\index{````~Skeleton\+Editing\+Plugin@{$\sim$\+Skeleton\+Editing\+Plugin}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{$\sim$\+Skeleton\+Editing\+Plugin()}{~SkeletonEditingPlugin()}}
{\footnotesize\ttfamily Skeleton\+Editing\+Plugin\+::$\sim$\+Skeleton\+Editing\+Plugin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Destructor. 



Definition at line 94 of file Skeleton\+Editing\+Plugin.\+cc.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a10616_a3e855990e1d97764ace2699bbbfb8ffc}\label{a10616_a3e855990e1d97764ace2699bbbfb8ffc}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!can\+Modify@{can\+Modify}}
\index{can\+Modify@{can\+Modify}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{can\+Modify()}{canModify()}}
{\footnotesize\ttfamily bool Skeleton\+Editing\+Plugin\+::can\+Modify (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



checks, if the skeleton can be modified. a skeleton can be modified, if the active pose is the reference pose 


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & the event that occurred \\
\hline
\end{DoxyParams}


Definition at line 290 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a0179dcf3fa806111a6465f269a433681}\label{a10616_a0179dcf3fa806111a6465f269a433681}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!manipulator\+Moved@{manipulator\+Moved}}
\index{manipulator\+Moved@{manipulator\+Moved}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{manipulator\+Moved}{manipulatorMoved}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::manipulator\+Moved (\begin{DoxyParamCaption}\item[{\hyperlink{a00182_af3661d1854c63aa68ed6f3f61bbbd9f5}{Qt\+Translation\+Manipulator\+Node} $\ast$}]{\+\_\+node,  }\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



move the object when its manipulator moves 


\begin{DoxyParams}{Parameters}
{\em \+\_\+node} & the manipulator node \\
\hline
{\em \+\_\+event} & the mouse event \\
\hline
\end{DoxyParams}


Definition at line 713 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a212555fb01f7cd286f43b00064b5f4a7}\label{a10616_a212555fb01f7cd286f43b00064b5f4a7}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!Manipulator\+Position\+Changed@{Manipulator\+Position\+Changed}}
\index{Manipulator\+Position\+Changed@{Manipulator\+Position\+Changed}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{Manipulator\+Position\+Changed}{ManipulatorPositionChanged}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::\+Manipulator\+Position\+Changed (\begin{DoxyParamCaption}\item[{\hyperlink{a00182_af3661d1854c63aa68ed6f3f61bbbd9f5}{Qt\+Translation\+Manipulator\+Node} $\ast$}]{\+\_\+node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



update object when its manipulator changes position 


\begin{DoxyParams}{Parameters}
{\em \+\_\+node} & the manipulator node \\
\hline
\end{DoxyParams}


Definition at line 842 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a069938eb3ac9db75a2411ba7141ddb51}\label{a10616_a069938eb3ac9db75a2411ba7141ddb51}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!place\+Manip@{place\+Manip}}
\index{place\+Manip@{place\+Manip}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{place\+Manip()}{placeManip()}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::place\+Manip (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Place and show the Manipulator. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse\+Event that occured \\
\hline
\end{DoxyParams}


Definition at line 536 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a2bcc06da65cd7ba4c59ddc105dd4631a}\label{a10616_a2bcc06da65cd7ba4c59ddc105dd4631a}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!plugins\+Initialized@{plugins\+Initialized}}
\index{plugins\+Initialized@{plugins\+Initialized}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{plugins\+Initialized}{pluginsInitialized}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::plugins\+Initialized (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Initialization of the plugin when it is loaded by the core. 



Definition at line 107 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_ad872640b513031c735e9d9c224f66ec3}\label{a10616_ad872640b513031c735e9d9c224f66ec3}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!set\+Descriptions@{set\+Descriptions}}
\index{set\+Descriptions@{set\+Descriptions}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{set\+Descriptions}{setDescriptions}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::set\+Descriptions (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Set Descriptions for Scripting Slots. 



Definition at line 55 of file Skeleton\+Editing\+Scripting.\+cc.

\mbox{\Hypertarget{a10616_a2f45f994554a26f4241974fcf692429a}\label{a10616_a2f45f994554a26f4241974fcf692429a}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!show\+Manipulators@{show\+Manipulators}}
\index{show\+Manipulators@{show\+Manipulators}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{show\+Manipulators()}{showManipulators()}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::show\+Manipulators (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Show/\+Hide active manipulators. 

Checks if the manipulators should be visible or not.

Definition at line 862 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a099da51787ae10142caba409e641f996}\label{a10616_a099da51787ae10142caba409e641f996}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!slot\+Mouse\+Event@{slot\+Mouse\+Event}}
\index{slot\+Mouse\+Event@{slot\+Mouse\+Event}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Mouse\+Event}{slotMouseEvent}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::slot\+Mouse\+Event (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



Mouse\+Press event occured. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & the event that occured \\
\hline
\end{DoxyParams}


Definition at line 338 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a5ca2dcbd0d42e64c6a731fd292b4c186}\label{a10616_a5ca2dcbd0d42e64c6a731fd292b4c186}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!slot\+Pick\+Mode\+Changed@{slot\+Pick\+Mode\+Changed}}
\index{slot\+Pick\+Mode\+Changed@{slot\+Pick\+Mode\+Changed}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{slot\+Pick\+Mode\+Changed}{slotPickModeChanged}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::slot\+Pick\+Mode\+Changed (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{\+\_\+mode }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



slot is called when the pick\+Mode changed 


\begin{DoxyParams}{Parameters}
{\em \+\_\+mode} & new pick\+Mode \\
\hline
\end{DoxyParams}


Definition at line 388 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a7f93274971aaea12d4e0df80b84aed4f}\label{a10616_a7f93274971aaea12d4e0df80b84aed4f}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!split\+Joint@{split\+Joint}}
\index{split\+Joint@{split\+Joint}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{split\+Joint}{splitJoint}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::split\+Joint (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



split selected Joint 

split the selected joint. selected joint will be child of new joint


\begin{DoxyParams}{Parameters}
{\em \+\_\+event} & mouse\+Event that occured \\
\hline
\end{DoxyParams}


Definition at line 986 of file Skeleton\+Editing\+Plugin.\+cc.

\mbox{\Hypertarget{a10616_a06b115d257287180782a8f33db1acf74}\label{a10616_a06b115d257287180782a8f33db1acf74}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!transform\+Joint@{transform\+Joint}}
\index{transform\+Joint@{transform\+Joint}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{transform\+Joint}{transformJoint}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::transform\+Joint (\begin{DoxyParamCaption}\item[{int}]{\+\_\+object\+Id,  }\item[{int}]{\+\_\+joint\+Id,  }\item[{\hyperlink{a00188_a2c834138d15bf416d68149d639c97ed8}{Matrix4x4}}]{\+\_\+matrix }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}



transform joint with given matrix 

transform selected joint with given matrix 

Definition at line 300 of file Skeleton\+Editing\+Scripting.\+cc.

\mbox{\Hypertarget{a10616_a896a664ae4ed07bc29982b79e7761e30}\label{a10616_a896a664ae4ed07bc29982b79e7761e30}} 
\index{Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}!update\+Manipulator\+Position@{update\+Manipulator\+Position}}
\index{update\+Manipulator\+Position@{update\+Manipulator\+Position}!Skeleton\+Editing\+Plugin@{Skeleton\+Editing\+Plugin}}
\subsubsection{\texorpdfstring{update\+Manipulator\+Position()}{updateManipulatorPosition()}}
{\footnotesize\ttfamily void Skeleton\+Editing\+Plugin\+::update\+Manipulator\+Position (\begin{DoxyParamCaption}\item[{\hyperlink{a07044}{Base\+Object\+Data} $\ast$}]{\+\_\+skeleton\+Obj }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



make sure the manipulator is positioned on a joint 



Definition at line 1445 of file Skeleton\+Editing\+Plugin.\+cc.



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