V-ART
Public Types | Public Member Functions | List of all members
VART::Interpolator Class Referenceabstract

Interpolator representation. More...

#include <interpolator.h>

Inheritance diagram for VART::Interpolator:
VART::HermiteInterpolator VART::LinearInterpolator VART::SineInterpolator VART::NaturalInterpolator VART::RangeSineInterpolator

Public Types

enum  TypeID { LINEAR, EASE_IN_EASE_OUT, RANGED, HERMITE }
 

Public Member Functions

 Interpolator ()
 
virtual ~Interpolator ()
 
virtual float GetValue (float linearIndex, float initialPos, float range) const =0
 Evaluates a goal position for DOF interpolation. More...
 
virtual TypeID GetID () const =0
 

Detailed Description

Interpolator representation.

A interpolator is a function whose domain is [0..1] and range is [0..1]. It is used to describe how a DOF (see Dof) should be changed in time inside an animation (see Action).

Definition at line 17 of file interpolator.h.

Member Enumeration Documentation

Enumerator
LINEAR 
EASE_IN_EASE_OUT 
RANGED 
HERMITE 

Definition at line 20 of file interpolator.h.

Constructor & Destructor Documentation

VART::Interpolator::Interpolator ( )
inline

Definition at line 22 of file interpolator.h.

virtual VART::Interpolator::~Interpolator ( )
inlinevirtual

Definition at line 23 of file interpolator.h.

Member Function Documentation

virtual TypeID VART::Interpolator::GetID ( ) const
pure virtual
virtual float VART::Interpolator::GetValue ( float  linearIndex,
float  initialPos,
float  range 
) const
pure virtual

Evaluates a goal position for DOF interpolation.

Parameters
linearIndex[in] A number in range [0..1]. Usually related to a linear time function.
initialPos[in] A number in range [0..1]. DOF's initial movement position.
range[in] DOF's position range on movement.
Returns
DOF's current position. An interpolator basically converts a linear interpolation (GetValue input) into other, more sophisticated interpolation (GetValue output). Each derived class implents a specific mapping.

Implemented in VART::NaturalInterpolator, VART::HermiteInterpolator, VART::RangeSineInterpolator, VART::SineInterpolator, and VART::LinearInterpolator.


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