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

Public Types

typedef std::vector
< MatrixOperationInit
OpVector
 

Public Member Functions

 MatrixOpArray (int expected_num_ops=kDefaultExpectedNumOps)
 
void Clear (int expected_num_ops=kDefaultExpectedNumOps)
 Remove all matrix operations from the sequence.
 
void AddOp (MatrixOpId id, MatrixOperationType type, float const_value)
 
void AddOp (MatrixOpId id, MatrixOperationType type, const MotivatorInit &init)
 
void AddOp (MatrixOpId id, MatrixOperationType type, const MotivatorInit &init, float initial_value)
 
void AddOp (MatrixOpId id, MatrixOperationType type, const MotivatorInit &init, const MotiveTarget1f &target)
 
void AddOp (MatrixOpId id, MatrixOperationType type, const MotivatorInit &init, const CompactSpline &spline)
 
MotiveTime EndTime () const
 
const OpVector & ops () const
 

Static Public Attributes

static const int kDefaultExpectedNumOps = 8
 

Constructor & Destructor Documentation

motive::MatrixOpArray::MatrixOpArray ( int  expected_num_ops = kDefaultExpectedNumOps)
inlineexplicit

By default expect a relatively high number of ops. Cost for allocating a bit too much temporary memory is small compared to cost of reallocating that memory.

Member Function Documentation

void motive::MatrixOpArray::AddOp ( MatrixOpId  id,
MatrixOperationType  type,
float  const_value 
)
inline

Operation is constant. For example, use to put something flat on the ground, with 'type' = kRotateAboutX and 'const_value' = pi/2.

void motive::MatrixOpArray::AddOp ( MatrixOpId  id,
MatrixOperationType  type,
const MotivatorInit init 
)
inline

Operation is driven by a one dimensional motivator. For example, you can control the face angle of a standing object with 'type' = kRotateAboutY and 'init' a curve specified by SplineInit.

void motive::MatrixOpArray::AddOp ( MatrixOpId  id,
MatrixOperationType  type,
const MotivatorInit init,
float  initial_value 
)
inline

Operation is driven by a one dimensional motivator, and initial value is specified.

void motive::MatrixOpArray::AddOp ( MatrixOpId  id,
MatrixOperationType  type,
const MotivatorInit init,
const MotiveTarget1f target 
)
inline

Operation is driven by a one dimensional motivator, which is initialized to traverse the key points specified in target.

void motive::MatrixOpArray::AddOp ( MatrixOpId  id,
MatrixOperationType  type,
const MotivatorInit init,
const CompactSpline spline 
)
inline

Operation is driven by a one dimensional motivator, which is initialized to follow the predefined curve specified in spline.


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