Motive Animation System
An open source project by FPL.
 All Classes Functions Variables Typedefs Friends Pages
motive::RigMotivator Class Reference
Inheritance diagram for motive::RigMotivator:
motive::Motivator

Public Member Functions

 RigMotivator (const MotivatorInit &init, MotiveEngine *engine)
 
void Initialize (const MotivatorInit &init, MotiveEngine *engine)
 
void BlendToAnim (const RigAnim &anim, const SplinePlayback &playback)
 
void SetPlaybackRate (float playback_rate)
 
const mathfu::AffineTransform * GlobalTransforms () const
 
const RigAnimDefiningAnim () const
 
MotiveTime TimeRemaining () const
 
std::string CsvHeaderForDebugging () const
 
std::string CsvValuesForDebugging () const
 
std::string LocalTransformsForDebugging (BoneIndex bone) const
 
- Public Member Functions inherited from motive::Motivator
 Motivator (const Motivator &original)
 
Motivatoroperator= (const Motivator &original)
 
 ~Motivator ()
 Remove ourselves from the MotiveProcessor when we're deleted.
 
void Invalidate ()
 
bool Valid () const
 
bool Sane () const
 
MotivatorType Type () const
 
MotiveDimension Dimensions () const
 

Additional Inherited Members

- Protected Member Functions inherited from motive::Motivator
 Motivator (const MotivatorInit &init, MotiveEngine *engine, MotiveDimension dimensions)
 
void InitializeWithDimension (const MotivatorInit &init, MotiveEngine *engine, MotiveDimension dimensions)
 
void Init (MotiveProcessor *processor, MotiveIndex index)
 These should only be called by MotiveProcessor!
 
void Reset ()
 
const MotiveProcessorProcessor () const
 
- Protected Attributes inherited from motive::Motivator
MotiveProcessorprocessor_
 
MotiveIndex index_
 

Member Function Documentation

void motive::RigMotivator::BlendToAnim ( const RigAnim anim,
const SplinePlayback playback 
)
inline

Blend from the current state to the animation specified in anim. Blend time is specified in anim itself. If the current state is unspecified because no animation has yet been played, snap to anim.

const RigAnim* motive::RigMotivator::DefiningAnim ( ) const
inline

Returns the shell aniamtion that defines this rig. It contains all the bones and operations-on-those-bones that can be animated.

Distinction, Rig: defines the bone heirarchy. Defining animation: defines the bone heirarchy + operations on each bone. Operations-on-bone: one of MatrixOperationType, for example, a rotation about the x-axis, or a translation along the y-axis. Animations are composed of several such operations on each bone. Not every animation has all the operations, however. The defining animation is the union of all possible operations on each bone.

const mathfu::AffineTransform* motive::RigMotivator::GlobalTransforms ( ) const
inline

Returns array of matricies: one for each bone position. The matrices are all in the space of the root bones. That is, the bone hierarchy has been flattened.

void motive::RigMotivator::Initialize ( const MotivatorInit init,
MotiveEngine engine 
)
inline

Initialize to the type specified by init. The only type defined within Motive for init is RigInit, but you can register your own RigProcessor classes if you like.

MotiveTime motive::RigMotivator::TimeRemaining ( ) const
inline

Return the time remaining in the current spline animation. Time units are defined by the user.


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