Animation Class Reference

Manages an animation, which is a collection of keyframes and the ability to interpolate between the keyframes. More...

#include <common/common.hh>

Inherited by NumericAnimation, and PoseAnimation.

Public Member Functions

 Animation (const std::string &_name, double _length, bool _loop)
 Constructor. More...
 
virtual ~Animation ()
 Destructor. More...
 
void AddTime (double _time)
 Add time to the animation. More...
 
KeyFrameGetKeyFrame (unsigned int _index) const
 Get a key frame using an index value. More...
 
unsigned int GetKeyFrameCount () const
 Return the number of key frames in the animation. More...
 
double GetLength () const
 Return the duration of the animation. More...
 
double GetTime () const
 Return the current time position. More...
 
void SetLength (double _len)
 Set the duration of the animation. More...
 
void SetTime (double _time)
 Set the current time position of the animation. More...
 

Protected Types

typedef std::vector< KeyFrame * > KeyFrame_V
 array of keyframe type alias More...
 

Protected Member Functions

double GetKeyFramesAtTime (double _time, KeyFrame **_kf1, KeyFrame **_kf2, unsigned int &_firstKeyIndex) const
 Get the two key frames that bound a time value. More...
 

Protected Attributes

bool build
 determines if the interpolation splines need building More...
 
KeyFrame_V keyFrames
 array of key frames More...
 
double length
 animation duration More...
 
bool loop
 true if animation repeats More...
 
std::string name
 animation name More...
 
double timePos
 current time position More...
 

Detailed Description

Manages an animation, which is a collection of keyframes and the ability to interpolate between the keyframes.

Member Typedef Documentation

typedef std::vector<KeyFrame*> KeyFrame_V
protected

array of keyframe type alias

Constructor & Destructor Documentation

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

Constructor.

Parameters
[in]_nameName of the animation, should be unique
[in]_lengthDuration of the animation in seconds
[in]_loopSet to true if the animation should repeat
virtual ~Animation ( )
virtual

Destructor.

Member Function Documentation

void AddTime ( double  _time)

Add time to the animation.

Parameters
[in]_timeThe amount of time to add in seconds
KeyFrame* GetKeyFrame ( unsigned int  _index) const

Get a key frame using an index value.

Parameters
[in]_indexThe index of the key frame
Returns
A pointer the keyframe, nullptr if the _index is invalid
unsigned int GetKeyFrameCount ( ) const

Return the number of key frames in the animation.

Returns
The number of keyframes
double GetKeyFramesAtTime ( double  _time,
KeyFrame **  _kf1,
KeyFrame **  _kf2,
unsigned int &  _firstKeyIndex 
) const
protected

Get the two key frames that bound a time value.

Parameters
[in]_timeThe time in seconds
[out]_kf1Lower bound keyframe that is returned
[out]_kf2Upper bound keyframe that is returned
[out]_firstKeyIndexIndex of the lower bound key frame
Returns
The time between the two keyframe
double GetLength ( ) const

Return the duration of the animation.

Returns
Duration of the animation in seconds
double GetTime ( ) const

Return the current time position.

Returns
The time position in seconds
void SetLength ( double  _len)

Set the duration of the animation.

Parameters
[in]_lenThe length of the animation in seconds
void SetTime ( double  _time)

Set the current time position of the animation.

Parameters
[in]_timeThe time position in seconds

Member Data Documentation

bool build
mutableprotected

determines if the interpolation splines need building

KeyFrame_V keyFrames
protected

array of key frames

double length
protected

animation duration

bool loop
protected

true if animation repeats

std::string name
protected

animation name

double timePos
protected

current time position


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