A skeleton, usually used for animation purposes. More...
#include <gz/common/Skeleton.hh>
Public Member Functions | |
Skeleton () | |
Constructor. | |
Skeleton (SkeletonNode *_root) | |
Constructor. | |
virtual | ~Skeleton () |
Destructor. | |
void | AddAnimation (SkeletonAnimation *_anim) |
Add an animation. The skeleton does not take ownership of the animation. | |
bool | AddBvhAnimation (const std::string &_bvhFile, double _scale) |
Add an animation from BVH file. | |
void | AddVertNodeWeight (const unsigned int _vertex, const std::string &_node, const double _weight) |
Add a new weight to a node (bone) | |
math::Matrix4d | AlignRotation (unsigned int _index, const std::string &_animNodeName) |
Get the transformation to align rotation from the animation skeleton to skin skeleton. | |
math::Matrix4d | AlignTranslation (unsigned int _index, const std::string &_animNodeName) |
Get the transformation to align translation from the animation skeleton to skin skeleton. | |
SkeletonAnimation * | Animation (const unsigned int _i) const |
Find animation. | |
unsigned int | AnimationCount () const |
Returns the number of animations. | |
math::Matrix4d | BindShapeTransform () const |
Return bind pose skeletal transform. | |
unsigned int | JointCount () const |
Returns the number of joints. | |
SkeletonNode * | NodeByHandle (const unsigned int _handle) const |
Find or create node with handle. | |
SkeletonNode * | NodeById (const std::string &_id) const |
Find node by index. | |
SkeletonNode * | NodeByName (const std::string &_name) const |
Find a node. | |
unsigned int | NodeCount () const |
Returns the node count. | |
std::string | NodeNameAnimToSkin (unsigned int _index, const std::string &_animNodeName) |
Finding the skin node name that corresponds to the given animation node name. | |
const SkeletonNodeMap & | Nodes () const |
Get a copy or the node dictionary. | |
void | PrintTransforms () const |
Outputs the transforms to standard out. | |
SkeletonNode * | RootNode () const |
Return the root. | |
void | RootNode (SkeletonNode *_node) |
Change the root node. | |
void | Scale (const double _scale) |
Scale all nodes, transforms and animation data. | |
void | SetBindShapeTransform (const math::Matrix4d &_trans) |
Set the bind pose skeletal transform. | |
void | SetNumVertAttached (const unsigned int _vertices) |
Resizes the raw node weight array. | |
std::pair< std::string, double > | VertNodeWeight (const unsigned int _v, const unsigned int _i) const |
Weight of a bone for a vertex. | |
unsigned int | VertNodeWeightCount (const unsigned int _vertex) const |
Returns the number of bone weights for a vertex. | |
Detailed Description
A skeleton, usually used for animation purposes.
Constructor & Destructor Documentation
◆ Skeleton() [1/2]
Skeleton | ( | ) |
Constructor.
◆ Skeleton() [2/2]
|
explicit |
Constructor.
- Parameters
-
[in] _root node
◆ ~Skeleton()
|
virtual |
Destructor.
Member Function Documentation
◆ AddAnimation()
void AddAnimation | ( | SkeletonAnimation * | _anim | ) |
Add an animation. The skeleton does not take ownership of the animation.
- Parameters
-
[in] _anim the animation to add
◆ AddBvhAnimation()
bool AddBvhAnimation | ( | const std::string & | _bvhFile, |
double | _scale | ||
) |
Add an animation from BVH file.
- Parameters
-
[in] _bvhFile the bvh file to load animation from [in] _scale the scale of the animation
- Returns
- True if the BVH animation is compatible with skeleton
◆ AddVertNodeWeight()
void AddVertNodeWeight | ( | const unsigned int | _vertex, |
const std::string & | _node, | ||
const double | _weight | ||
) |
Add a new weight to a node (bone)
- Parameters
-
[in] _vertex index of the vertex [in] _node name of the bone [in] _weight the new weight (range 0 to 1)
◆ AlignRotation()
math::Matrix4d AlignRotation | ( | unsigned int | _index, |
const std::string & | _animNodeName | ||
) |
Get the transformation to align rotation from the animation skeleton to skin skeleton.
- Parameters
-
[in] _index the animation index [in] _animNodeName the animation node name
- Returns
- The transformation to align rotation
◆ AlignTranslation()
math::Matrix4d AlignTranslation | ( | unsigned int | _index, |
const std::string & | _animNodeName | ||
) |
Get the transformation to align translation from the animation skeleton to skin skeleton.
- Parameters
-
[in] _index the animation index [in] _animNodeName the animation node name
- Returns
- The transformation to align translation
◆ Animation()
SkeletonAnimation * Animation | ( | const unsigned int | _i | ) | const |
Find animation.
- Parameters
-
[in] _i the animation index
- Returns
- the animation, or NULL if _i is out of bounds
◆ AnimationCount()
unsigned int AnimationCount | ( | ) | const |
Returns the number of animations.
- Returns
- the count
◆ BindShapeTransform()
math::Matrix4d BindShapeTransform | ( | ) | const |
Return bind pose skeletal transform.
- Returns
- A matrix
◆ JointCount()
unsigned int JointCount | ( | ) | const |
Returns the number of joints.
- Returns
- the count
◆ NodeByHandle()
SkeletonNode * NodeByHandle | ( | const unsigned int | _handle | ) | const |
Find or create node with handle.
- Parameters
-
[in] _handle
- Returns
- the node. A new node is created if it didn't exist
◆ NodeById()
SkeletonNode * NodeById | ( | const std::string & | _id | ) | const |
Find node by index.
- Parameters
-
[in] _id the index
- Returns
- the node, or NULL if not found
◆ NodeByName()
SkeletonNode * NodeByName | ( | const std::string & | _name | ) | const |
Find a node.
- Parameters
-
[in] _name the name of the node to look for
- Returns
- the node, or NULL if not found
◆ NodeCount()
unsigned int NodeCount | ( | ) | const |
Returns the node count.
- Returns
- the count
◆ NodeNameAnimToSkin()
std::string NodeNameAnimToSkin | ( | unsigned int | _index, |
const std::string & | _animNodeName | ||
) |
Finding the skin node name that corresponds to the given animation node name.
- Parameters
-
[in] _index the animation index [in] _animNodeName the given animation node name
- Returns
- The corresponding skin node name in the skeleton
◆ Nodes()
const SkeletonNodeMap & Nodes | ( | ) | const |
Get a copy or the node dictionary.
- Returns
- A copy of the nodes.
◆ PrintTransforms()
void PrintTransforms | ( | ) | const |
Outputs the transforms to standard out.
◆ RootNode() [1/2]
SkeletonNode * RootNode | ( | ) | const |
Return the root.
- Returns
- the root
◆ RootNode() [2/2]
void RootNode | ( | SkeletonNode * | _node | ) |
Change the root node.
- Parameters
-
[in] _node the new node
◆ Scale()
void Scale | ( | const double | _scale | ) |
Scale all nodes, transforms and animation data.
- Parameters
-
[in] the scaling factor
◆ SetBindShapeTransform()
void SetBindShapeTransform | ( | const math::Matrix4d & | _trans | ) |
Set the bind pose skeletal transform.
- Parameters
-
[in] _trans the transform
◆ SetNumVertAttached()
void SetNumVertAttached | ( | const unsigned int | _vertices | ) |
Resizes the raw node weight array.
- Parameters
-
[in] _vertices the new size
◆ VertNodeWeight()
std::pair< std::string, double > VertNodeWeight | ( | const unsigned int | _v, |
const unsigned int | _i | ||
) | const |
Weight of a bone for a vertex.
- Parameters
-
[in] _v the index of the vertex [in] _i the index of the weight for that vertex
- Returns
- a pair containing the name of the node and the weight
◆ VertNodeWeightCount()
unsigned int VertNodeWeightCount | ( | const unsigned int | _vertex | ) | const |
Returns the number of bone weights for a vertex.
- Parameters
-
[in] _vertex the index of the vertex
- Returns
- the count
The documentation for this class was generated from the following file: