Motive Animation System
An open source project by FPL.
 All Classes Functions Variables Typedefs Friends Pages
motive::MatrixProcessor4f Class Referenceabstract

Interface for motivator types that drive a 4x4 float matrix. That is, for MotiveProcessors that interface with MatrixMotivator4f's. More...

#include <processor.h>

Inheritance diagram for motive::MatrixProcessor4f:
motive::MotiveProcessor

Detailed Description

Interface for motivator types that drive a 4x4 float matrix. That is, for MotiveProcessors that interface with MatrixMotivator4f's.

Public Member Functions

virtual const mathfu::mat4 & Value (MotiveIndex index) const =0
 Get the current matrix value from the processor.
 
virtual int NumChildren (MotiveIndex index) const =0
 Get the number of matrix operations performed by this motivator.
 
virtual void ChildValues (MotiveIndex index, MotiveChildIndex child_index, MotiveChildIndex count, float *values) const =0
 Get current values of the components that create the matrix.
 
virtual const MotivatorChildMotivator1f (MotiveIndex index, MotiveChildIndex child_index) const =0
 
virtual void SetChildTarget1f (MotiveIndex, MotiveChildIndex, const MotiveTarget1f &)
 Set child values. Matrices are composed from child components.
 
virtual void SetChildValues (MotiveIndex index, MotiveChildIndex child_index, MotiveChildIndex count, const float *values)=0
 
virtual void BlendToOps (MotiveIndex, const MatrixOpArray &, const motive::SplinePlayback &)
 Smoothly transition to the operations specified in ops.
 
virtual void SetPlaybackRate (MotiveIndex index, float playback_rate)=0
 Instantly change the playback speed of this animation.
 
- Public Member Functions inherited from motive::MotiveProcessor
void InitializeMotivator (const MotivatorInit &init, MotiveEngine *engine, Motivator *motivator, MotiveDimension dimensions)
 
void RemoveMotivator (MotiveIndex index)
 
void TransferMotivator (MotiveIndex index, Motivator *new_motivator)
 
bool IsMotivatorIndex (MotiveIndex index) const
 
bool ValidIndex (MotiveIndex index) const
 
bool ValidMotivatorIndex (MotiveIndex index) const
 
bool ValidMotivator (MotiveIndex index, const Motivator *motivator) const
 
virtual void AdvanceFrame (MotiveTime delta_time)=0
 
virtual MotivatorType Type () const =0
 
virtual int Priority () const =0
 
MotiveDimension Dimensions (MotiveIndex index) const
 
void VerifyInternalState () const
 
void RegisterBenchmarks ()
 
int benchmark_id_for_advance_frame () const
 
int benchmark_id_for_init () const
 

Additional Inherited Members

- Protected Member Functions inherited from motive::MotiveProcessor
virtual void InitializeIndices (const MotivatorInit &init, MotiveIndex index, MotiveDimension dimensions, MotiveEngine *engine)=0
 
virtual void RemoveIndices (MotiveIndex index, MotiveDimension dimensions)=0
 
virtual void MoveIndices (MotiveIndex old_index, MotiveIndex new_index, MotiveDimension dimensions)=0
 
virtual void SetNumIndices (MotiveIndex num_indices)=0
 
void Defragment ()
 

Member Function Documentation

virtual const Motivator* motive::MatrixProcessor4f::ChildMotivator1f ( MotiveIndex  index,
MotiveChildIndex  child_index 
) const
pure virtual

Get the Motivator1f driving this child, if this child is driven by a Motivator1f, or nullptr otherwise.


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