All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
gazebo::common::SkeletonAnimation Class Reference

Skeleton animation. More...

#include <SkeletonAnimation.hh>

Public Member Functions

 SkeletonAnimation (const std::string &_name)
 The Constructor.
 
 ~SkeletonAnimation ()
 The destructor.
 
void AddKeyFrame (const std::string &_node, const double _time, const math::Matrix4 _mat)
 Adds or replaces a named key frame at a specific time.
 
void AddKeyFrame (const std::string &_node, const double _time, const math::Pose _pose)
 Adds or replaces a named key frame at a specific time.
 
double GetLength () const
 Returns the duration of the animations.
 
std::string GetName () const
 Returns the name.
 
unsigned int GetNodeCount () const
 Returns the number of animation nodes.
 
math::Matrix4 GetNodePoseAt (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.
 
std::map< std::string,
math::Matrix4
GetPoseAt (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.
 
std::map< std::string,
math::Matrix4
GetPoseAtX (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.
 
bool HasNode (const std::string &_node) const
 Looks for a node with a specific name in the animations.
 
void Scale (const double _scale)
 Scales every animation in the animations list.
 
void SetName (const std::string &_name)
 Changes the name.
 

Protected Attributes

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

Detailed Description

Skeleton animation.

Constructor & Destructor Documentation

gazebo::common::SkeletonAnimation::SkeletonAnimation ( const std::string &  _name)

The Constructor.

Parameters
[in]_namethe name of the animation
gazebo::common::SkeletonAnimation::~SkeletonAnimation ( )

The destructor.

Clears the list without destroying the animations

Member Function Documentation

void gazebo::common::SkeletonAnimation::AddKeyFrame ( const std::string &  _node,
const double  _time,
const math::Matrix4  _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
void gazebo::common::SkeletonAnimation::AddKeyFrame ( const std::string &  _node,
const double  _time,
const math::Pose  _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 math::Pose
double gazebo::common::SkeletonAnimation::GetLength ( ) const

Returns the duration of the animations.

Returns
the duration in seconds
std::string gazebo::common::SkeletonAnimation::GetName ( ) const

Returns the name.

Returns
the name
unsigned int gazebo::common::SkeletonAnimation::GetNodeCount ( ) const

Returns the number of animation nodes.

Returns
the count
math::Matrix4 gazebo::common::SkeletonAnimation::GetNodePoseAt ( 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
std::map<std::string, math::Matrix4> gazebo::common::SkeletonAnimation::GetPoseAt ( 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
std::map<std::string, math::Matrix4> gazebo::common::SkeletonAnimation::GetPoseAtX ( 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)
bool gazebo::common::SkeletonAnimation::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
void gazebo::common::SkeletonAnimation::Scale ( const double  _scale)

Scales every animation in the animations list.

Parameters
[in]_scalethe scaling factor
void gazebo::common::SkeletonAnimation::SetName ( const std::string &  _name)

Changes the name.

Parameters
[in]_namethe new name

Member Data Documentation

std::map<std::string, NodeAnimation*> gazebo::common::SkeletonAnimation::animations
protected

a dictionary of node animations

double gazebo::common::SkeletonAnimation::length
protected

the duration of the longest animation

std::string gazebo::common::SkeletonAnimation::name
protected

the node name


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