SkeletonNode Class Reference

A skeleton node. More...

#include <common/common.hh>

Public Types

enum  SkeletonNodeType { NODE, JOINT }
 enumeration of node types More...
 

Public Member Functions

 SkeletonNode (SkeletonNode *_parent)
 Constructor. More...
 
 SkeletonNode (SkeletonNode *_parent, std::string _name, std::string _id, SkeletonNodeType _type=JOINT)
 Constructor. More...
 
virtual ~SkeletonNode ()
 Destructor. More...
 
void AddChild (SkeletonNode *_child)
 Add a new child. More...
 
void AddRawTransform (NodeTransform _t)
 Add a raw transform. More...
 
SkeletonNodeGetChild (unsigned int _index)
 Find a child by index. More...
 
SkeletonNodeGetChildById (std::string _id)
 Get child by string id. More...
 
SkeletonNodeGetChildByName (std::string _name)
 Get child by name. More...
 
unsigned int GetChildCount ()
 Returns the children count. More...
 
unsigned int GetHandle ()
 Get the handle index. More...
 
std::string GetId ()
 Returns the index. More...
 
std::string GetName ()
 Returns the name. More...
 
unsigned int GetNumRawTrans ()
 Return the raw transformations count. More...
 
SkeletonNodeGetParent ()
 Returns the parent node. More...
 
NodeTransform GetRawTransform (unsigned int _i)
 Find a raw transformation. More...
 
std::vector< NodeTransformGetRawTransforms ()
 Retrieve the raw transformations. More...
 
std::vector< NodeTransformGetTransforms ()
 Returns a copy of the array of transformations. More...
 
ignition::math::Matrix4d InverseBindTransform ()
 Retrieve the inverse of the bind pose skeletal transform. More...
 
bool IsJoint ()
 Is a joint query. More...
 
bool IsRootNode ()
 Queries wether a node has no parent parent. More...
 
ignition::math::Matrix4d ModelTransform () const
 Retrieve the model transform. More...
 
void Reset (bool _resetChildren)
 Reset the transformation to the initial transformation. More...
 
void SetHandle (unsigned int _h)
 Assign a handle number. More...
 
void SetId (std::string _id)
 Change the id string. More...
 
void SetInitialTransform (const ignition::math::Matrix4d &_tras)
 Sets the initial transformation. More...
 
void SetInverseBindTransform (const ignition::math::Matrix4d &_invBM)
 Assign the inverse of the bind pose skeletal transform. More...
 
void SetModelTransform (const ignition::math::Matrix4d &_trans, bool _updateChildren=true)
 Set the model transformation. More...
 
void SetName (std::string _name)
 Change the name. More...
 
void SetParent (SkeletonNode *_parent)
 Set the parent node. More...
 
void SetTransform (const ignition::math::Matrix4d &_trans, bool _updateChildren=true)
 Set a transformation. More...
 
void SetType (SkeletonNodeType _type)
 Change the skeleton node type. More...
 
ignition::math::Matrix4d Transform ()
 Get transform relative to parent. More...
 
void UpdateChildrenTransforms ()
 Apply model transformations in order for each node in the tree. More...
 

Protected Attributes

std::vector< SkeletonNode * > children
 the children nodes More...
 
unsigned int handle
 handle index number More...
 
std::string id
 a string identifier More...
 
ignition::math::Matrix4d initialTransform
 the initial transformation More...
 
ignition::math::Matrix4d invBindTransform
 the inverse of the bind pose skeletal transform More...
 
ignition::math::Matrix4d modelTransform
 the model transformation More...
 
std::string name
 the name of the skeletal node More...
 
SkeletonNodeparent
 the parent node More...
 
std::vector< NodeTransformrawTransforms
 the raw transformation More...
 
ignition::math::Matrix4d transform
 the transform More...
 
SkeletonNodeType type
 the type fo node More...
 

Detailed Description

A skeleton node.

Member Enumeration Documentation

enumeration of node types

Enumerator
NODE 
JOINT 

Constructor & Destructor Documentation

SkeletonNode ( SkeletonNode _parent)

Constructor.

Parameters
[in]_parentThe parent node
SkeletonNode ( SkeletonNode _parent,
std::string  _name,
std::string  _id,
SkeletonNodeType  _type = JOINT 
)

Constructor.

Parameters
[in]_parentthe parent node
[in]_namename of node
[in]_idId of node
[in]_typeThe type of this node
virtual ~SkeletonNode ( )
virtual

Destructor.

Member Function Documentation

void AddChild ( SkeletonNode _child)

Add a new child.

Parameters
[in]_childa child
void AddRawTransform ( NodeTransform  _t)

Add a raw transform.

Parameters
[in]_tthe transform
SkeletonNode* GetChild ( unsigned int  _index)

Find a child by index.

Parameters
[in]_indexthe index
Returns
the child skeleton. NO BOUNDS CHECKING
SkeletonNode* GetChildById ( std::string  _id)

Get child by string id.

Parameters
[in]_idthe string id
Returns
the child skeleton or nullptr if not found
SkeletonNode* GetChildByName ( std::string  _name)

Get child by name.

Parameters
[in]_namethe name of the child skeleton
Returns
the skeleton, or nullptr if not found
unsigned int GetChildCount ( )

Returns the children count.

Returns
the count
unsigned int GetHandle ( )

Get the handle index.

Returns
the handle index
std::string GetId ( )

Returns the index.

Returns
the id string
std::string GetName ( )

Returns the name.

Returns
the name
unsigned int GetNumRawTrans ( )

Return the raw transformations count.

Returns
the count
SkeletonNode* GetParent ( )

Returns the parent node.

Returns
the parent
NodeTransform GetRawTransform ( unsigned int  _i)

Find a raw transformation.

Parameters
[in]_ithe index of the transformation
Returns
the node transform. NO BOUNDS CHECKING PERFORMED
std::vector<NodeTransform> GetRawTransforms ( )

Retrieve the raw transformations.

Returns
an array of transformations
std::vector<NodeTransform> GetTransforms ( )

Returns a copy of the array of transformations.

Returns
the array of transform (These are the same as the raw trans)
ignition::math::Matrix4d InverseBindTransform ( )

Retrieve the inverse of the bind pose skeletal transform.

Returns
the transform
bool IsJoint ( )

Is a joint query.

Returns
true if the skeleton type is a joint, false otherwise
bool IsRootNode ( )

Queries wether a node has no parent parent.

Returns
true if the node has no parent, fasle otherwise
ignition::math::Matrix4d ModelTransform ( ) const

Retrieve the model transform.

Returns
the transform
void Reset ( bool  _resetChildren)

Reset the transformation to the initial transformation.

Parameters
[in]_resetChildrenwhen true, performs the operation for every node in the tree
void SetHandle ( unsigned int  _h)

Assign a handle number.

Parameters
[in]_hthe handle
void SetId ( std::string  _id)

Change the id string.

Parameters
[in]_idthe new id string
void SetInitialTransform ( const ignition::math::Matrix4d &  _tras)

Sets the initial transformation.

Parameters
[in]_trasthe transfromation matrix
void SetInverseBindTransform ( const ignition::math::Matrix4d &  _invBM)

Assign the inverse of the bind pose skeletal transform.

Parameters
[in]_invBMthe transform
void SetModelTransform ( const ignition::math::Matrix4d &  _trans,
bool  _updateChildren = true 
)

Set the model transformation.

Parameters
[in]_transthe transformation
[in]_updateChildrenwhen true the UpdateChildrenTransforms operation is performed
void SetName ( std::string  _name)

Change the name.

Parameters
[in]_namethe new name
void SetParent ( SkeletonNode _parent)

Set the parent node.

Parameters
[in]_parentthe new parent
void SetTransform ( const ignition::math::Matrix4d &  _trans,
bool  _updateChildren = true 
)

Set a transformation.

Parameters
[in]_transthe transformation
[in]_updateChildrenwhen true the UpdateChildrenTransforms operation is performed
void SetType ( SkeletonNodeType  _type)

Change the skeleton node type.

Parameters
[in]_typethe new type
ignition::math::Matrix4d Transform ( )

Get transform relative to parent.

Returns
Transform relative to parent
void UpdateChildrenTransforms ( )

Apply model transformations in order for each node in the tree.

Member Data Documentation

std::vector<SkeletonNode*> children
protected

the children nodes

unsigned int handle
protected

handle index number

std::string id
protected

a string identifier

ignition::math::Matrix4d initialTransform
protected

the initial transformation

ignition::math::Matrix4d invBindTransform
protected

the inverse of the bind pose skeletal transform

ignition::math::Matrix4d modelTransform
protected

the model transformation

std::string name
protected

the name of the skeletal node

SkeletonNode* parent
protected

the parent node

std::vector<NodeTransform> rawTransforms
protected

the raw transformation

ignition::math::Matrix4d transform
protected

the transform

SkeletonNodeType type
protected

the type fo node


The documentation for this class was generated from the following file: