The HBhvInterpolatorMatrix class controls quaternion based rotation. This class can be used for camera interpolation as well other targets. More...
#include <HBhvInterpolator.h>
Public Member Functions | |
virtual HBhvInterpolator * | CreateInstance (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) |
The HBhvInterpolatorMatrix class controls quaternion based rotation. This class can be used for camera interpolation as well other targets.
HBhvInterpolatorMatrix::HBhvInterpolatorMatrix | ( | HBhvAnimation * | animation = 0 , |
const char * | name = 0 |
||
) |
Constructs an HBhvInterpolatorMatrix object.
animation | Animation that this interpolator belongs to |
name | Name of Interpolator |
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.
ainst | The animation instance that this interpolator is associated with. |
Implements HBhvInterpolator.
const char* HBhvInterpolatorMatrix::GetType | ( | ) | [virtual] |
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.
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.
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.
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.