Node animation.
More...
#include <common/common.hh>
|
| NodeAnimation (const std::string &_name) |
| constructor
|
|
| ~NodeAnimation () |
| Destructor. It empties the key frames list.
|
|
void | AddKeyFrame (const double _time, const math::Matrix4 _trans) |
| Adds a key frame at a specific time.
|
|
void | AddKeyFrame (const double _time, const math::Pose _pose) |
| Adds a key fram at a specific time.
|
|
math::Matrix4 | GetFrameAt (double _time, bool _loop=true) const |
| Returns a frame transformation at a specific time if a node does not exist at that time (with tolerance of 1e-6 sec), the transformation is interpolated.
|
|
unsigned int | GetFrameCount () const |
| Returns the number of key frames.
|
|
void | GetKeyFrame (const unsigned int _i, double &_time, math::Matrix4 &_trans) const |
| Finds a key frame using the index.
|
|
std::pair< double, math::Matrix4 > | GetKeyFrame (const unsigned int _i) const |
| Returns a key frame using the index.
|
|
double | GetLength () const |
| Returns the duration of the animations.
|
|
std::string | GetName () const |
| Returns the name.
|
|
double | GetTimeAtX (const double _x) const |
| Returns the time where a transformation's translational value along the X axis is equal to _x.
|
|
void | Scale (const double _scale) |
| Scales each transformation in the key frames.
|
|
void | SetName (const std::string &_name) |
| Changes the name of the animation.
|
|
|
std::map< double, math::Matrix4 > | keyFrames |
| the dictionary of key frames, indexed by time
|
|
double | length |
| the duration of the animations (time of last key frame)
|
|
std::string | name |
| the name of the animation
|
|
gazebo::common::NodeAnimation::NodeAnimation |
( |
const std::string & |
_name | ) |
|
constructor
- Parameters
-
[in] | _name | the name of the node |
gazebo::common::NodeAnimation::~NodeAnimation |
( |
| ) |
|
Destructor. It empties the key frames list.
void gazebo::common::NodeAnimation::AddKeyFrame |
( |
const double |
_time, |
|
|
const math::Matrix4 |
_trans |
|
) |
| |
Adds a key frame at a specific time.
- Parameters
-
[in] | _time | the time of the key frame |
[in] | _trans | the transformation |
void gazebo::common::NodeAnimation::AddKeyFrame |
( |
const double |
_time, |
|
|
const math::Pose |
_pose |
|
) |
| |
Adds a key fram at a specific time.
- Parameters
-
[in] | _time | the tiem of the key frame |
[in] | _pose | the pose |
math::Matrix4 gazebo::common::NodeAnimation::GetFrameAt |
( |
double |
_time, |
|
|
bool |
_loop = true |
|
) |
| const |
Returns a frame transformation 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] | _time | the time |
[in] | _loop | when true, the time is divided by the duration (see GetLength) |
unsigned int gazebo::common::NodeAnimation::GetFrameCount |
( |
| ) |
const |
Returns the number of key frames.
- Returns
- the count
void gazebo::common::NodeAnimation::GetKeyFrame |
( |
const unsigned int |
_i, |
|
|
double & |
_time, |
|
|
math::Matrix4 & |
_trans |
|
) |
| const |
Finds a key frame using the index.
Note the index of a key frame can change as frames are added.
- Parameters
-
[in] | _i | the index |
[out] | _time | the time of the frame, or -1 if the index id is out of bounds |
[out] | _trans | the transformation for this key frame |
std::pair<double, math::Matrix4> gazebo::common::NodeAnimation::GetKeyFrame |
( |
const unsigned int |
_i | ) |
const |
Returns a key frame using the index.
Note the index of a key frame can change as frames are added.
- Parameters
-
- Returns
- a pair that contains the time and transformation. Time is -1 if the index is out of bounds
double gazebo::common::NodeAnimation::GetLength |
( |
| ) |
const |
Returns the duration of the animations.
- Returns
- the time of the last animation
std::string gazebo::common::NodeAnimation::GetName |
( |
| ) |
const |
Returns the name.
- Returns
- the name
double gazebo::common::NodeAnimation::GetTimeAtX |
( |
const double |
_x | ) |
const |
Returns the time where a transformation's translational value along the X axis is equal to _x.
When no transformation is found (within a tolerance of 1e-6), the time is interpolated.
- Parameters
-
[in] | _x | the value along x. You must ensure that _x is within a valid range. |
void gazebo::common::NodeAnimation::Scale |
( |
const double |
_scale | ) |
|
Scales each transformation in the key frames.
This only affects the translational values.
- Parameters
-
[in] | _scale | the scaling factor |
void gazebo::common::NodeAnimation::SetName |
( |
const std::string & |
_name | ) |
|
Changes the name of the animation.
- Parameters
-
std::map<double, math::Matrix4> gazebo::common::NodeAnimation::keyFrames |
|
protected |
the dictionary of key frames, indexed by time
double gazebo::common::NodeAnimation::length |
|
protected |
the duration of the animations (time of last key frame)
std::string gazebo::common::NodeAnimation::name |
|
protected |
the name of the animation
The documentation for this class was generated from the following file: