##

SkeletonNode Class Reference
Common

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...
SkeletonNode * | GetChild (unsigned int _index)
| Find a child by index. More...
SkeletonNode * | GetChildById (std::string _id)
| Get child by string id. More...
SkeletonNode * | GetChildByName (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...
SkeletonNode * | GetParent ()
| Returns the parent node. More...
NodeTransform | GetRawTransform (unsigned int _i)
| Find a raw transformation. More...
std::vector< NodeTransform > | GetRawTransforms ()
| Retrieve the raw transformations. More...
std::vector< NodeTransform > | GetTransforms ()
| Returns a copy of the array of transformations. More...
bool | HasInvBindTransform ()
| returns true if the node has inv bind transform. 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...
std::string | Name () const
| Returns the name. 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...
SkeletonNode * | parent
| the parent node More...
std::vector< NodeTransform > | rawTransforms
| 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

## SkeletonNodeType

enum SkeletonNodeType

enumeration of node types

Enumerator
NODE |
JOINT |

## Constructor & Destructor Documentation

## SkeletonNode() [1/2]

SkeletonNode | ( | SkeletonNode * | _parent | ) |

explicit

Constructor.

Parameters

  [in] | _parent | The parent node

## SkeletonNode() [2/2]

SkeletonNode | ( | SkeletonNode * | _parent,
|  | std::string | _name,
|  | std::string | _id,
|  | SkeletonNodeType | _type = `JOINT`
| ) |  |

Constructor.

Parameters

  [in] | _parent | the parent node
  [in] | _name | name of node
  [in] | _id | Id of node
  [in] | _type | The type of this node

## ~SkeletonNode()

virtual ~SkeletonNode | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## AddChild()

void AddChild | ( | SkeletonNode * | _child | ) |

Add a new child.

Parameters

  [in] | _child | a child

## AddRawTransform()

void AddRawTransform | ( | NodeTransform | _t | ) |

Add a raw transform.

Parameters

  [in] | _t | the transform

## GetChild()

SkeletonNode* GetChild | ( | unsigned int | _index | ) |

Find a child by index.

Parameters

  [in] | _index | the index

Returns
  the child skeleton. NO BOUNDS CHECKING

## GetChildById()

SkeletonNode* GetChildById | ( | std::string | _id | ) |

Get child by string id.

Parameters

  [in] | _id | the string id

Returns
  the child skeleton or nullptr if not found

## GetChildByName()

SkeletonNode* GetChildByName | ( | std::string | _name | ) |

Get child by name.

Parameters

  [in] | _name | the name of the child skeleton

Returns
  the skeleton, or nullptr if not found

## GetChildCount()

unsigned int GetChildCount | ( |  | ) |

Returns the children count.

Returns
  the count

## GetHandle()

unsigned int GetHandle | ( |  | ) |

Get the handle index.

Returns
  the handle index

## GetId()

std::string GetId | ( |  | ) |

Returns the index.

Returns
  the id string

## GetName()

std::string GetName | ( |  | ) |

Returns the name.

Remarks
  not normally needed but it is included to satisfy ABI compatibility.

Returns
  the name

## GetNumRawTrans()

unsigned int GetNumRawTrans | ( |  | ) |

Return the raw transformations count.

Returns
  the count

## GetParent()

SkeletonNode* GetParent | ( |  | ) |

Returns the parent node.

Returns
  the parent

## GetRawTransform()

NodeTransform GetRawTransform | ( | unsigned int | _i | ) |

Find a raw transformation.

Parameters

  [in] | _i | the index of the transformation

Returns
  the node transform. NO BOUNDS CHECKING PERFORMED

## GetRawTransforms()

std::vector<NodeTransform> GetRawTransforms | ( |  | ) |

Retrieve the raw transformations.

Returns
  an array of transformations

## GetTransforms()

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)

## HasInvBindTransform()

bool HasInvBindTransform | ( |  | ) |

returns true if the node has inv bind transform.

\detail to keep ABI compatibility, it checks if the inv bind transform is the default value of zero.

Returns
  true if the node has inv bind transform

## InverseBindTransform()

ignition::math::Matrix4d InverseBindTransform | ( |  | ) |

Retrieve the inverse of the bind pose skeletal transform.

Returns
  the transform

## IsJoint()

bool IsJoint | ( |  | ) |

Is a joint query.

Returns
  true if the skeleton type is a joint, false otherwise

## IsRootNode()

bool IsRootNode | ( |  | ) |

Queries wether a node has no parent parent.

Returns
  true if the node has no parent, fasle otherwise

## ModelTransform()

ignition::math::Matrix4d ModelTransform | ( |  | ) | const

Retrieve the model transform.

Returns
  the transform

## Name()

std::string Name | ( |  | ) | const

Returns the name.

Remarks
  this should have been called `GetName` to be inline with the non-const version, however, it is decided that it should be called `Name` as `GetName` is being deprecated.

Returns
  the name

## Reset()

void Reset | ( | bool | _resetChildren | ) |

Reset the transformation to the initial transformation.

Parameters

  [in] | _resetChildren | when true, performs the operation for every node in the tree

## SetHandle()

void SetHandle | ( | unsigned int | _h | ) |

Assign a handle number.

Parameters

  [in] | _h | the handle

## SetId()

void SetId | ( | std::string | _id | ) |

Change the id string.

Parameters

  [in] | _id | the new id string

## SetInitialTransform()

void SetInitialTransform | ( | const ignition::math::Matrix4d & | _tras | ) |

Sets the initial transformation.

Parameters

  [in] | _tras | the transfromation matrix

## SetInverseBindTransform()

void SetInverseBindTransform | ( | const ignition::math::Matrix4d & | _invBM | ) |

Assign the inverse of the bind pose skeletal transform.

Parameters

  [in] | _invBM | the transform

## SetModelTransform()

void SetModelTransform | ( | const ignition::math::Matrix4d & | _trans,
|  | bool | _updateChildren = `true`
| ) |  |

Set the model transformation.

Parameters

  [in] | _trans | the transformation
  [in] | _updateChildren | when true the UpdateChildrenTransforms operation is performed

## SetName()

void SetName | ( | std::string | _name | ) |

Change the name.

Parameters

  [in] | _name | the new name

## SetParent()

void SetParent | ( | SkeletonNode * | _parent | ) |

Set the parent node.

Parameters

  [in] | _parent | the new parent

## SetTransform()

void SetTransform | ( | const ignition::math::Matrix4d & | _trans,
|  | bool | _updateChildren = `true`
| ) |  |

Set a transformation.

Parameters

  [in] | _trans | the transformation
  [in] | _updateChildren | when true the UpdateChildrenTransforms operation is performed

## SetType()

void SetType | ( | SkeletonNodeType | _type | ) |

Change the skeleton node type.

Parameters

  [in] | _type | the new type

## Transform()

ignition::math::Matrix4d Transform | ( |  | ) |

Get transform relative to parent.

Returns
  Transform relative to parent

## UpdateChildrenTransforms()

void UpdateChildrenTransforms | ( |  | ) |

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

## Member Data Documentation

## children

std::vector<SkeletonNode*> children

protected

the children nodes

## handle

unsigned int handle

protected

handle index number

## id

std::string id

protected

a string identifier

## initialTransform

ignition::math::Matrix4d initialTransform

protected

the initial transformation

## invBindTransform

ignition::math::Matrix4d invBindTransform

protected

the inverse of the bind pose skeletal transform

## modelTransform

ignition::math::Matrix4d modelTransform

protected

the model transformation

## name

std::string name

protected

the name of the skeletal node

## parent

SkeletonNode* parent

protected

the parent node

## rawTransforms

std::vector<NodeTransform> rawTransforms

protected

the raw transformation

## transform

ignition::math::Matrix4d transform

protected

the transform

## type

SkeletonNodeType type

protected

the type fo node

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

- Skeleton.hh