Node animation.
More...
#include <common/common.hh>
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: