Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HBhvInterpolatorMatrix Class Reference

The HBhvInterpolatorMatrix class controls quaternion based rotation. This class can be used for camera interpolation as well other targets. More...

#include <HBhvInterpolator.h>

Inheritance diagram for HBhvInterpolatorMatrix:

HBhvInterpolator

List of all members.

Public Member Functions

virtual HBhvInterpolatorCreateInstance (HBhvAnimation *ainst)
const char * GetType ()
 HBhvInterpolatorMatrix (HBhvAnimation *animation=0, const char *name=0)
void Insert (float *mat, int l=0)
virtual void Interpolate (int keyframe, float fraction)
void Replace (float *q, int l)
virtual void Serialize (HUtilityXMLGenerator *xmlgen)

Static Public Member Functions

static void * XMLCallback (HUtilityXMLTag *xt, bool open, void *m_pExtraData)


Detailed Description

The HBhvInterpolatorMatrix class controls quaternion based rotation. This class can be used for camera interpolation as well other targets.

Constructor & Destructor Documentation

HBhvInterpolatorMatrix::HBhvInterpolatorMatrix ( HBhvAnimation animation = 0,
const char *  name = 0 
)

Constructs an HBhvInterpolatorMatrix object.

Parameters:
animation Animation that this interpolator belongs to
name Name of Interpolator


Member Function Documentation

virtual HBhvInterpolator* HBhvInterpolatorMatrix::CreateInstance ( HBhvAnimation ainst  )  [virtual]

In special cases, you may want an interpolator that references this interpolator without changing it. Use this method to create the new interpolator passing a pointer to the animation that you want it to be associated with.

Parameters:
ainst The animation instance that this interpolator is associated with.
Returns:
The newly created interpolator that references this interpolator.

Implements HBhvInterpolator.

const char* HBhvInterpolatorMatrix::GetType (  )  [virtual]

Returns:
The type of the interpolator which is 'QuatRot'.

Implements HBhvInterpolator.

void HBhvInterpolatorMatrix::Insert ( float *  mat,
int  l = 0 
) [inline]

This method creates a new quaternion rotation keyframe with the passed q value and then inserts it after the passed position l into the keyframe array.

Parameters:
q The quaternion to use for new keyframe.
l The array position to insert item after.

References HKeyframeMatrix::m_matrix.

virtual void HBhvInterpolatorMatrix::Interpolate ( int  keyframe,
float  fraction 
) [virtual]

Performs an interpolation on the animation target.

Parameters:
keyframe The reference keyframe for this interpolation.
fraction The fraction value from the specified keyframe to the next keyframe. The value is from 0 to 1.

Reimplemented from HBhvInterpolator.

void HBhvInterpolatorMatrix::Replace ( float *  q,
int  l 
) [inline]

Replaces the item at the given position in the keyframe array with a new quaternion rotation keyframe that was created with the passed q value.

Parameters:
q The quaternion to use for the replace keyframe
l The array position to replace.

References HKeyframeMatrix::m_matrix.

virtual void HBhvInterpolatorMatrix::Serialize ( HUtilityXMLGenerator *  xmlgen  )  [virtual]

Writes XML data to a buffer using the passed XML generator.

Reimplemented from HBhvInterpolator.

static void* HBhvInterpolatorMatrix::XMLCallback ( HUtilityXMLTag *  xt,
bool  open,
void *  m_pExtraData 
) [static]

This is XML read callback which parses XML data and then populates the member variables with the associated values.


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