Ignition Common

API Reference

4.5.0

A pose animation. More...

#include <Animation.hh>

Public Member Functions

 PoseAnimation (const std::string &_name, const double _length, const bool _loop)
 Constructor. More...
 
 PoseAnimation (const std::string &_name, const double _length, const bool _loop, double _tension)
 Constructor. More...
 
PoseKeyFrameCreateKeyFrame (const double _time)
 Create a pose keyframe at the given time. More...
 
void InterpolatedKeyFrame (PoseKeyFrame &_kf)
 Get a keyframe using the animation's current time. More...
 
- Public Member Functions inherited from Animation
 Animation (const std::string &_name, const double _length, const bool _loop)
 Constructor. More...
 
void AddTime (const double _time)
 Add time to the animation. More...
 
bool InterpolateX () const
 Return the interpolateX value. More...
 
common::KeyFrameKeyFrame (const unsigned int _index) const
 Get a key frame using an index value. More...
 
unsigned int KeyFrameCount () const
 Return the number of key frames in the animation. More...
 
double Length () const
 Return the duration of the animation. More...
 
void Length (const double _len)
 Set the duration of the animation. More...
 
void SetInterpolateX (const bool _interpolateX)
 Set the interpolateX value. More...
 
void Time (const double _time)
 Set the current time position of the animation. More...
 
double Time () const
 Return the current time position. More...
 

Protected Member Functions

void BuildInterpolationSplines ()
 Update the pose splines. More...
 
void InterpolatedKeyFrame (const double _time, PoseKeyFrame &_kf)
 Get a keyframe using a passed in time. More...
 
- Protected Member Functions inherited from Animation
template<typename KeyFrameType >
KeyFrameType * CreateKeyFrame (const double _time)
 Create a keyframe at the given time. More...
 
double KeyFramesAtTime (double _time, common::KeyFrame **_kf1, common::KeyFrame **_kf2, unsigned int &_firstKeyIndex) const
 Get the two key frames that bound a time value. More...
 

Detailed Description

A pose animation.

Constructor & Destructor Documentation

◆ PoseAnimation() [1/2]

PoseAnimation ( const std::string _name,
const double  _length,
const bool  _loop 
)

Constructor.

Parameters
[in]_nameString name of the animation. This should be unique.
[in]_lengthLength of the animation in seconds
[in]_loopTrue == loop the animation

◆ PoseAnimation() [2/2]

PoseAnimation ( const std::string _name,
const double  _length,
const bool  _loop,
double  _tension 
)

Constructor.

Parameters
[in]_nameString name of the animation. This should be unique.
[in]_lengthLength of the animation in seconds
[in]_loopTrue == loop the animation
[in]_tensionThe tension of the trajectory spline. The default value of zero equates to a Catmull-Rom spline, which may also cause the animation to overshoot keyframes. A value of one will cause the animation to stick to the keyframes. This value should be in the range 0..1.
Todo:
(nkoenig) Remove this in ign-common5, and use a single consutrctory with a default _tension of 0.

Member Function Documentation

◆ BuildInterpolationSplines()

void BuildInterpolationSplines ( )
protected

Update the pose splines.

◆ CreateKeyFrame()

PoseKeyFrame* CreateKeyFrame ( const double  _time)

Create a pose keyframe at the given time.

Parameters
[in]_timeTime at which to create the keyframe
Returns
Pointer to the new keyframe

◆ InterpolatedKeyFrame() [1/2]

void InterpolatedKeyFrame ( PoseKeyFrame _kf)

Get a keyframe using the animation's current time.

Parameters
[out]_kfPoseKeyFrame reference to hold the interpolated result

◆ InterpolatedKeyFrame() [2/2]

void InterpolatedKeyFrame ( const double  _time,
PoseKeyFrame _kf 
)
protected

Get a keyframe using a passed in time.

Parameters
[in]_timeTime in seconds
[out]_kfPoseKeyFrame reference to hold the interpolated result

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