SkeletonAnimation Class Reference

Skeleton animation. More...

#include <SkeletonAnimation.hh>

Public Member Functions

 SkeletonAnimation (const std::string &_name)
 The Constructor. More...
 
 ~SkeletonAnimation ()
 The destructor. More...
 
void AddKeyFrame (const std::string &_node, const double _time, const ignition::math::Matrix4d &_mat)
 Adds or replaces a named key frame at a specific time. More...
 
void AddKeyFrame (const std::string &_node, const double _time, const ignition::math::Pose3d &_pose)
 Adds or replaces a named key frame at a specific time. More...
 
double GetLength () const
 Returns the duration of the animations. More...
 
std::string GetName () const
 Returns the name. More...
 
unsigned int GetNodeCount () const
 Returns the number of animation nodes. More...
 
bool HasNode (const std::string &_node) const
 Looks for a node with a specific name in the animations. More...
 
ignition::math::Matrix4d NodePoseAt (const std::string &_node, const double _time, const bool _loop=true)
 Returns the key frame transformation for a named animation at a specific time if a node does not exist at that time (with tolerance of 1e-6 sec), the transformation is interpolated. More...
 
std::map< std::string, ignition::math::Matrix4d > PoseAt (const double _time, const bool _loop=true) const
 Returns a dictionary of transformations indexed by name at a specific time if a node does not exist at that specific time (with tolerance of 1e-6 sec), the transformation is interpolated. More...
 
std::map< std::string, ignition::math::Matrix4d > PoseAtX (const double _x, const std::string &_node, const bool _loop=true) const
 Returns a dictionary of transformations indexed by name where a named node transformation's translational value along the X axis is equal to _x. More...
 
void Scale (const double _scale)
 Scales every animation in the animations list. More...
 
void SetName (const std::string &_name)
 Changes the name. More...
 

Protected Attributes

std::map< std::string, NodeAnimation * > animations
 a dictionary of node animations More...
 
double length
 the duration of the longest animation More...
 
std::string name
 the node name More...
 

Detailed Description

Skeleton animation.

Constructor & Destructor Documentation

◆ SkeletonAnimation()

SkeletonAnimation ( const std::string &  _name)
explicit

The Constructor.

Parameters
[in]_namethe name of the animation

◆ ~SkeletonAnimation()

The destructor.

Clears the list without destroying the animations

Member Function Documentation

◆ AddKeyFrame() [1/2]

void AddKeyFrame ( const std::string &  _node,
const double  _time,
const ignition::math::Matrix4d &  _mat 
)

Adds or replaces a named key frame at a specific time.

Parameters
[in]_nodethe name of the new or existing node
[in]_timethe time
[in]_matthe key frame transformation

◆ AddKeyFrame() [2/2]

void AddKeyFrame ( const std::string &  _node,
const double  _time,
const ignition::math::Pose3d &  _pose 
)

Adds or replaces a named key frame at a specific time.

Parameters
[in]_nodethe name of the new or existing node
[in]_timethe time
[in]_posethe key frame transformation as a ignition::math::Pose3d

◆ GetLength()

double GetLength ( ) const

Returns the duration of the animations.

Returns
the duration in seconds

◆ GetName()

std::string GetName ( ) const

Returns the name.

Returns
the name

◆ GetNodeCount()

unsigned int GetNodeCount ( ) const

Returns the number of animation nodes.

Returns
the count

◆ HasNode()

bool HasNode ( const std::string &  _node) const

Looks for a node with a specific name in the animations.

Parameters
[in]_nodethe name of the node
Returns
true if the node exits

◆ NodePoseAt()

ignition::math::Matrix4d NodePoseAt ( const std::string &  _node,
const double  _time,
const bool  _loop = true 
)

Returns the key frame transformation for a named animation at a specific time if a node does not exist at that time (with tolerance of 1e-6 sec), the transformation is interpolated.

Parameters
[in]_nodethe name of the animation node
[in]_timethe time
[in]_loopwhen true, the time is divided by the duration (see GetLength)
Returns
the transformation

◆ PoseAt()

std::map<std::string, ignition::math::Matrix4d> PoseAt ( const double  _time,
const bool  _loop = true 
) const

Returns a dictionary of transformations indexed by name at a specific time if a node does not exist at that specific time (with tolerance of 1e-6 sec), the transformation is interpolated.

Parameters
[in]_timethe time
[in]_loopwhen true, the time is divided by the duration (see GetLength)
Returns
the transformation for every node

◆ PoseAtX()

std::map<std::string, ignition::math::Matrix4d> PoseAtX ( const double  _x,
const std::string &  _node,
const bool  _loop = true 
) const

Returns a dictionary of transformations indexed by name where a named node transformation's translational value along the X axis is equal to _x.

Parameters
[in]_xthe value along x. You must ensure that _x is within a valid range.
[in]_nodethe name of the animation node
[in]_loopwhen true, the time is divided by the duration (see GetLength)

◆ Scale()

void Scale ( const double  _scale)

Scales every animation in the animations list.

Parameters
[in]_scalethe scaling factor

◆ SetName()

void SetName ( const std::string &  _name)

Changes the name.

Parameters
[in]_namethe new name

Member Data Documentation

◆ animations

std::map<std::string, NodeAnimation*> animations
protected

a dictionary of node animations

◆ length

double length
protected

the duration of the longest animation

◆ name

std::string name
protected

the node name


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