Node animation. More...
#include <gz/common/NodeAnimation.hh>
Public Member Functions | |
NodeAnimation (const std::string &_name) | |
constructor | |
~NodeAnimation () | |
Destructor. | |
void | AddKeyFrame (const double _time, const math::Matrix4d &_trans) |
Adds a key frame at a specific time. | |
void | AddKeyFrame (const double _time, const math::Pose3d &_pose) |
Adds a key frame at a specific time. | |
gz::math::Matrix4d | FrameAt (const double _time, const 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 | FrameCount () const |
Returns the number of key frames. | |
std::pair< double, math::Matrix4d > | KeyFrame (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. | |
void | KeyFrame (const unsigned int _i, double &_time, math::Matrix4d &_trans) const |
Finds a key frame using the index. Note the index of a key frame can change as frames are added. | |
double | Length () const |
Returns the duration of the animations. | |
std::string | Name () const |
Returns the name. | |
void | Scale (const double _scale) |
Scales each transformation in the key frames. This only affects the translational values. | |
void | SetName (const std::string &_name) |
Changes the name of the animation. | |
double | TimeAtX (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. | |
Detailed Description
Node animation.
Constructor & Destructor Documentation
◆ NodeAnimation()
|
explicit |
constructor
- Parameters
-
[in] _name the name of the node
◆ ~NodeAnimation()
~NodeAnimation | ( | ) |
Destructor.
Member Function Documentation
◆ AddKeyFrame() [1/2]
void AddKeyFrame | ( | const double | _time, |
const math::Matrix4d & | _trans | ||
) |
Adds a key frame at a specific time.
- Parameters
-
[in] _time the time of the key frame [in] _trans the transformation
◆ AddKeyFrame() [2/2]
void AddKeyFrame | ( | const double | _time, |
const math::Pose3d & | _pose | ||
) |
Adds a key frame at a specific time.
- Parameters
-
[in] _time the tiem of the key frame [in] _pose the pose
◆ FrameAt()
gz::math::Matrix4d FrameAt | ( | const double | _time, |
const 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)
◆ FrameCount()
unsigned int FrameCount | ( | ) | const |
Returns the number of key frames.
- Returns
- the count
◆ KeyFrame() [1/2]
std::pair< double, math::Matrix4d > KeyFrame | ( | 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
-
[in] _i the index
- Returns
- a pair that contains the time and transformation. Time is -1 if the index is out of bounds
◆ KeyFrame() [2/2]
void KeyFrame | ( | const unsigned int | _i, |
double & | _time, | ||
math::Matrix4d & | _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
◆ Length()
double Length | ( | ) | const |
Returns the duration of the animations.
- Returns
- the time of the last animation
◆ Name()
std::string Name | ( | ) | const |
Returns the name.
- Returns
- the name
◆ Scale()
void Scale | ( | const double | _scale | ) |
Scales each transformation in the key frames. This only affects the translational values.
- Parameters
-
[in] _scale the scaling factor
◆ SetName()
void SetName | ( | const std::string & | _name | ) |
Changes the name of the animation.
- Parameters
-
[in] the new name
◆ TimeAtX()
double TimeAtX | ( | 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.
The documentation for this class was generated from the following file: