Developer Documentation
|
#include <Plugin-SkeletonEditing/SkeletonEditingPlugin.hh>
Public Slots | |
QString | version () |
Scriptable Functions | |
void | splitBone (int _objectId, int _tailJoint) |
insert a joint in the middle of a bone given by its (unique) tailJoint More... | |
void | addJoint (int _objectId, int _parent, Vector _position) |
add joint to the skeleton More... | |
void | deleteJoint (int _objectId, int _jointId) |
delete joint from the skeleton More... | |
void | transformJoint (int _objectId, int _jointId, Matrix4x4 _matrix) |
transform joint with given matrix More... | |
Matrix4x4 | globalMatrix (int _objectId, int _jointId) |
get global matrix of a joint in the active pose More... | |
Matrix4x4 | localMatrix (int _objectId, int _jointId) |
get local matrix of a joint in the active pose More... | |
Vector | globalTranslation (int _objectId, int _jointId) |
get global translation of a joint in the active pose More... | |
Vector | localTranslation (int _objectId, int _jointId) |
get local translation of a joint in the active pose More... | |
int | animationCount (int _objectId) |
get the number of animations More... | |
int | frameCount (int _objectId, int _animationIndex) |
get the number of frames More... | |
int | activeAnimation (int _objectId) |
get active animation More... | |
int | activeFrame (int _objectId) |
get active frame More... | |
void | setActivePose (int _objectId, int _animationIndex, int _frame) |
set active pose More... | |
void | addAnimation (int _objectId, QString _name, int _frames) |
add animation More... | |
void | splitJoint (QMouseEvent *_event) |
split selected Joint More... | |
Signals | |
void | updateView () |
void | updatedObject (int, const UpdateType &_type) |
void | nodeVisibilityChanged (int) |
void | setRenderer (unsigned int _viewer, QString _rendererName) |
void | getCurrentRenderer (unsigned int _viewer, QString &_rendererName) |
void | addPickMode (const std::string &_mode) |
void | addHiddenPickMode (const std::string &_mode) |
void | setPickModeMouseTracking (const std::string &_mode, bool _mouseTracking) |
void | setPickModeToolbar (const std::string &_mode, QToolBar *_toolbar) |
void | addContextMenuItem (QAction *_action, ContextMenuType _type) |
void | log (Logtype _type, QString _message) |
void | log (QString _message) |
void | scriptInfo (QString _functionName) |
void | setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions) |
void | addToolbar (QToolBar *_toolbar) |
void | getToolBar (QString _name, QToolBar *&_toolbar) |
void | registerKey (int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false) |
void | addToolbox (QString _name, QWidget *_widget) |
void | addEmptyObject (DataType _type, int &_id) |
void | deleteObject (int _id) |
void | createBackup (int _objectid, QString _name, UpdateType _type=UPDATE_ALL) |
![]() | |
virtual void | updateView () |
Update current view in Main Application. More... | |
virtual void | setSlotDescription (QString _slotName, QString _slotDescription, QStringList _parameters, QStringList _descriptions) |
Set a description for a public slot. More... | |
virtual void | setRenderer (unsigned int _viewer, QString _rendererName) |
Set a renderer for the given viewer. More... | |
![]() | |
virtual void | registerKey (int _key, Qt::KeyboardModifiers _modifiers, QString _description, bool _multiUse=false) |
Register a key-combination for your plugin. More... | |
![]() | |
virtual void | addPickMode (const std::string &_mode) |
Add a new picking mode to the examiner. More... | |
![]() | |
virtual void | addToolbox (QString _name, QWidget *_widget) |
Add a toolbox widget to the gui with the given name. More... | |
![]() | |
virtual void | log (Logtype _type, QString _message)=0 |
virtual void | log (QString _message)=0 |
![]() | |
virtual void | scriptInfo (QString _functionWithParameters) |
Emit this signal if a scriptable function is executed. More... | |
virtual void | getScriptingEngine (QScriptEngine *&_engine) |
virtual void | executeFileScript (QString _filename) |
virtual void | getAvailableFunctions (QStringList &_functions) |
![]() | |
virtual void | addToolbar (QToolBar *_toolbar) |
Adds a Toolbar to the main widget. More... | |
![]() | |
virtual void | addContextMenuItem (QAction *_action, ContextMenuType _type) |
Add an entry for a context Menu. More... | |
![]() | |
virtual void | save (int _id, QString _filename) |
Save object to a file. More... | |
virtual void | load (QString _filename, DataType _type, int &_id) |
Load object from file with a specific DataType. More... | |
![]() | |
virtual void | createBackup (int _objectid, QString _name, UpdateType _type=UPDATE_ALL) |
Tell Backup Plugin to create a backup. More... | |
virtual void | aboutToRestore (int _objectid) |
Backup Plugin tells other Plugins that a restore will happen. More... | |
virtual void | generateBackup (int _id, QString _name, UpdateType _type) |
This signal is emitted by a BackupPlugin and tells a TypePlugin to generate a backup. More... | |
![]() | |
virtual void | pluginExists (QString _pluginName, bool &_exists) |
Public Member Functions | |
SkeletonEditingPlugin () | |
Default Constructor. More... | |
~SkeletonEditingPlugin () | |
Destructor. More... | |
QString | name () |
Name of the Plugin. More... | |
QString | description () |
Description of the Plugin. More... | |
Private Slots | |
void | initializePlugin () |
void | pluginsInitialized () |
Initialization of the plugin when it is loaded by the core. More... | |
void | slotObjectUpdated (int _id, const UpdateType &_type) |
void | slotMouseWheelEvent (QWheelEvent *_event, const std::string &_mode) |
void | slotMouseEvent (QMouseEvent *_event) |
MousePress event occured. More... | |
void | slotKeyEvent (QKeyEvent *_event) |
void | slotKeyReleaseEvent (QKeyEvent *_event) |
void | slotPickModeChanged (const std::string &_mode) |
slot is called when the pickMode changed More... | |
void | slotSetEditingMode (QAction *_action) |
void | slotPickToolbarAction (QAction *_action) |
void | setDescriptions () |
Set Descriptions for Scripting Slots. More... | |
void | manipulatorMoved (QtTranslationManipulatorNode *_node, QMouseEvent *_event) |
move the object when its manipulator moves More... | |
void | ManipulatorPositionChanged (QtTranslationManipulatorNode *_node) |
update object when its manipulator changes position More... | |
void | slotRotateManipulator (bool _toggled) |
![]() | |
virtual void | exit () |
virtual QString | version () |
Return a version string for your plugin. More... | |
![]() | |
virtual void | slotKeyEvent (QKeyEvent *_event) |
Key Event from Main App. More... | |
Private Member Functions | |
void | moveJoint (QMouseEvent *_event) |
bool | canModify (QMouseEvent *_event) |
checks, if the skeleton can be modified. a skeleton can be modified, if the active pose is the reference pose More... | |
void | insertJoint (QMouseEvent *_event) |
void | cancelJointInsertion () |
void | deleteJoint (QMouseEvent *_event) |
void | selectJoint (QMouseEvent *_event) |
Skeleton::Pose * | activePose (SkeletonObject *_skeletonObj) |
void | setJointPosition (SkeletonObject *_skeletonObj, Skeleton::Joint *_joint, ACG::Vec3d &_position) |
OpenMesh::Vec3d | getNearestJoint (SkeletonObject *_skeletonObj, OpenMesh::Vec3d &_hitPoint, int &_bestJointID) |
Get nearest joint to hitPoint (used for snapping) More... | |
void | placeManip (QMouseEvent *_event) |
Place and show the Manipulator. More... | |
void | showManipulators () |
Show/Hide active manipulators. More... | |
void | updateManipulatorPosition (BaseObjectData *_skeletonObj) |
make sure the manipulator is positioned on a joint More... | |
void | inverseKinematic (ACG::Vec3d dest, Skeleton::Pose *currentPose, Skeleton::Joint *pickedJoint, std::vector< Skeleton::Joint * > rotatableJoints) |
function for computing the position of our joints using inverse Kinematic More... | |
![]() | |
virtual void | noguiSupported () |
virtual | ~BaseInterface () |
Destructor. More... | |
virtual void | blockScenegraphUpdates (bool _block) |
Tell the core to prevent scenegraph updates. More... | |
virtual void | updatedObject (int _objectId) |
An object has been changed or added by this plugin. More... | |
virtual void | updatedObject (int _identifier, const UpdateType &_type) |
An object has been changed or added by this plugin. More... | |
virtual void | nodeVisibilityChanged (int _identifier) |
A scenegraph node has been shown or hidden. More... | |
virtual void | getCurrentRenderer (unsigned int _viewer, QString &_rendererName) |
Get the current renderer for the given viewer. More... | |
![]() | |
virtual | ~MouseInterface () |
Destructor. More... | |
![]() | |
virtual void | slotKeyReleaseEvent (QKeyEvent *_event) |
Key Release Event from Main App. More... | |
virtual | ~KeyInterface () |
Destructor. More... | |
![]() | |
virtual void | addHiddenPickMode (const std::string &_mode) |
Add a new picking mode to the examiner which will be invisible. More... | |
virtual void | setPickModeCursor (const std::string &_mode, QCursor _cursor) |
Set the cursor of the given PickMode. More... | |
virtual void | setPickModeMouseTracking (const std::string &_mode, bool _mouseTracking) |
Set mouse tracking for the given PickMode. More... | |
virtual void | setPickModeToolbar (const std::string &_mode, QToolBar *_toolbar) |
Set the additional toolbar of the given PickMode. More... | |
virtual void | removePickModeToolbar (const std::string &_mode) |
Removes the additional toolbar of the given PickMode. More... | |
virtual | ~PickingInterface () |
Destructor. More... | |
![]() | |
virtual | ~ToolboxInterface () |
Destructor. More... | |
virtual void | addToolbox (QString _name, QWidget *_widget, QIcon *_icon) |
Add a toolbox widget to the gui with the given name and an icon. More... | |
virtual void | addToolbox (QString _name, QWidget *_widget, QIcon *_icon, QWidget *_headerAreaWidget) |
Add a toolbox widget to the gui with the given name, icon and header area widget. More... | |
![]() | |
virtual | ~LoggingInterface () |
Destructor. More... | |
![]() | |
virtual | ~ScriptInterface () |
Destructor. More... | |
virtual void | showScriptInEditor (QString _filename) |
virtual void | executeScript (QString _script) |
virtual void | getDescription (QString _function, QString &_description, QStringList &_parameters, QStringList &_descriptions) |
![]() | |
virtual | ~ToolbarInterface () |
Destructor. More... | |
virtual void | removeToolbar (QToolBar *_toolbar) |
Remove a Toolbar from the main widget. More... | |
virtual void | getToolBar (QString _name, QToolBar *&_toolbar) |
Get a pointer to a Toolbar of the given name or 0 if it does not exist. More... | |
![]() | |
virtual | ~ContextMenuInterface () |
Destructor. More... | |
virtual void | addContextMenuItem (QAction *_action, DataType _objectType, ContextMenuType _type) |
Add an entry for a context Menu. More... | |
virtual void | hideContextMenu () |
hide the main context menu More... | |
![]() | |
virtual | ~LoadSaveInterface () |
Destructor. More... | |
virtual void | addEmptyObject (DataType _type, int &_id) |
virtual void | copyObject (int _oldId, int &_newId) |
virtual void | emptyObjectAdded (int _id) |
DEPRECATED HERE (Moved to Type Interface)! Emit this signal if an empty object has been created. More... | |
virtual void | deleteObject (int _id) |
Delete an object This signal can be called from any thread. . More... | |
virtual void | deleteAllObjects () |
Delete all Objects. More... | |
virtual void | getAllFileFilters (QStringList &_filters) |
Get all file filters that are registered. More... | |
![]() | |
virtual void | createBackup (IdList _objectids, QString _name, std::vector< UpdateType > _types) |
Tell Backup Plugin to create a group backup. More... | |
virtual void | undo (int _objectid) |
Tell Backup Plugin to undo the last action of an object. More... | |
virtual void | redo (int _objectid) |
Tell Backup Plugin to redo the last action on an object. More... | |
virtual void | undo () |
Tell Backup Plugin to undo the last action. More... | |
virtual void | redo () |
Tell Backup Plugin to redo the last action. More... | |
virtual | ~BackupInterface () |
Destructor. More... | |
virtual void | restored (int _objectid) |
Backup Plugin tells other Plugins that a restore has happened. More... | |
![]() | |
virtual | ~RPCInterface () |
Destructor. More... | |
virtual void | functionExists (QString _pluginName, QString _functionName, bool &_exists) |
Private Attributes | |
QToolBar * | toolbar_ |
QActionGroup * | toolBarActions_ |
QAction * | skeletonEditingAction_ |
QToolBar * | pickToolbar_ |
QActionGroup * | pickToolBarActions_ |
QAction * | selectJointAction_ |
QAction * | insertJointAction_ |
QAction * | splitJointAction_ |
QAction * | deleteJointAction_ |
QAction * | moveJointAction_ |
QAction * | transformChildManipAction_ |
QAction * | transformAllManipAction_ |
QAction * | rotateManipAction_ |
QAction * | inverseKinematicAction_ |
int | currentSkeleton_ |
int | currentJoint_ |
bool | jointPreview_ |
bool | transformChildJoints_ |
bool | transformAllFrames_ |
bool | inverseKinematic_ |
bool | dblClick_ |
QString | lastRenderer_ |
Stores the last active renderer before we switched to skeleton editing mode. More... | |
bool | rendererChanged_ |
Remembers, if we changed the renderer. More... | |
std::vector< int > | activeManipulators_ |
double | manip_size_ |
double | manip_size_modifier_ |
SkeletonMarker | objectMarker_ |
ACG::Matrix4x4d | accumMatrix_ |
Plugin for creating and editing skeletons
Definition at line 71 of file SkeletonEditingPlugin.hh.
SkeletonEditingPlugin::SkeletonEditingPlugin | ( | ) |
Default Constructor.
Definition at line 61 of file SkeletonEditingPlugin.cc.
SkeletonEditingPlugin::~SkeletonEditingPlugin | ( | ) |
Destructor.
Definition at line 97 of file SkeletonEditingPlugin.cc.
|
slot |
get active animation
Definition at line 814 of file SkeletonEditingScripting.cc.
|
slot |
get active frame
Definition at line 841 of file SkeletonEditingScripting.cc.
|
private |
Definition at line 1271 of file SkeletonEditingPlugin.cc.
|
slot |
add animation
Definition at line 911 of file SkeletonEditingScripting.cc.
|
slot |
add joint to the skeleton
Definition at line 218 of file SkeletonEditingScripting.cc.
|
slot |
get the number of animations
Definition at line 753 of file SkeletonEditingScripting.cc.
|
private |
Definition at line 1329 of file SkeletonEditingPlugin.cc.
|
private |
checks, if the skeleton can be modified. a skeleton can be modified, if the active pose is the reference pose
_event | the event that occurred |
Definition at line 293 of file SkeletonEditingPlugin.cc.
|
slot |
delete joint from the skeleton
Definition at line 264 of file SkeletonEditingScripting.cc.
|
private |
Definition at line 901 of file SkeletonEditingPlugin.cc.
|
inlinevirtual |
Description of the Plugin.
Implements BaseInterface.
Definition at line 175 of file SkeletonEditingPlugin.hh.
|
slot |
get the number of frames
Definition at line 780 of file SkeletonEditingScripting.cc.
|
private |
Get nearest joint to hitPoint (used for snapping)
Definition at line 1417 of file SkeletonEditingPlugin.cc.
|
slot |
get global matrix of a joint in the active pose
Definition at line 578 of file SkeletonEditingScripting.cc.
|
slot |
get global translation of a joint in the active pose
Definition at line 665 of file SkeletonEditingScripting.cc.
|
privateslot |
Definition at line 260 of file SkeletonEditingPlugin.cc.
|
private |
Definition at line 1029 of file SkeletonEditingPlugin.cc.
|
private |
function for computing the position of our joints using inverse Kinematic
Definition at line 635 of file SkeletonEditingPlugin.cc.
|
slot |
get local matrix of a joint in the active pose
Definition at line 622 of file SkeletonEditingScripting.cc.
|
slot |
get local translation of a joint in the active pose
Definition at line 709 of file SkeletonEditingScripting.cc.
|
privateslot |
move the object when its manipulator moves
_node | the manipulator node |
_event | the mouse event |
Definition at line 716 of file SkeletonEditingPlugin.cc.
|
privateslot |
update object when its manipulator changes position
_node | the manipulator node |
Definition at line 845 of file SkeletonEditingPlugin.cc.
|
private |
Definition at line 1360 of file SkeletonEditingPlugin.cc.
|
inlinevirtual |
Name of the Plugin.
Implements BaseInterface.
Definition at line 172 of file SkeletonEditingPlugin.hh.
|
private |
Place and show the Manipulator.
_event | mouseEvent that occured |
Definition at line 539 of file SkeletonEditingPlugin.cc.
|
privateslot |
Initialization of the plugin when it is loaded by the core.
Definition at line 110 of file SkeletonEditingPlugin.cc.
|
private |
Definition at line 1375 of file SkeletonEditingPlugin.cc.
|
slot |
set active pose
Definition at line 867 of file SkeletonEditingScripting.cc.
|
privateslot |
Set Descriptions for Scripting Slots.
Definition at line 55 of file SkeletonEditingScripting.cc.
|
private |
Definition at line 1291 of file SkeletonEditingPlugin.cc.
|
private |
Show/Hide active manipulators.
Checks if the manipulators should be visible or not.
Definition at line 865 of file SkeletonEditingPlugin.cc.
|
privateslot |
Definition at line 369 of file SkeletonEditingPlugin.cc.
|
privateslot |
Definition at line 377 of file SkeletonEditingPlugin.cc.
|
privateslot |
MousePress event occured.
_event | the event that occured |
Definition at line 341 of file SkeletonEditingPlugin.cc.
|
privateslot |
Definition at line 270 of file SkeletonEditingPlugin.cc.
|
privateslot |
Definition at line 237 of file SkeletonEditingPlugin.cc.
|
privateslot |
slot is called when the pickMode changed
_mode | new pickMode |
Definition at line 391 of file SkeletonEditingPlugin.cc.
|
privateslot |
Definition at line 439 of file SkeletonEditingPlugin.cc.
|
privateslot |
Definition at line 503 of file SkeletonEditingPlugin.cc.
|
privateslot |
Definition at line 483 of file SkeletonEditingPlugin.cc.
|
slot |
insert a joint in the middle of a bone given by its (unique) tailJoint
Definition at line 146 of file SkeletonEditingScripting.cc.
|
slot |
split selected Joint
split the selected joint. selected joint will be child of new joint
_event | mouseEvent that occured |
Definition at line 989 of file SkeletonEditingPlugin.cc.
|
slot |
transform joint with given matrix
transform selected joint with given matrix
Definition at line 300 of file SkeletonEditingScripting.cc.
|
private |
make sure the manipulator is positioned on a joint
Definition at line 1448 of file SkeletonEditingPlugin.cc.
|
inlineslot |
Definition at line 232 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 284 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 275 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 259 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 258 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 266 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 251 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 249 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 264 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 256 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 260 of file SkeletonEditingPlugin.hh.
|
private |
Stores the last active renderer before we switched to skeleton editing mode.
Definition at line 269 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 277 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 279 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 252 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 282 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 246 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 247 of file SkeletonEditingPlugin.hh.
|
private |
Remembers, if we changed the renderer.
Definition at line 271 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 255 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 248 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 244 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 250 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 242 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 243 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 263 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 254 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 262 of file SkeletonEditingPlugin.hh.
|
private |
Definition at line 253 of file SkeletonEditingPlugin.hh.