#include <HBhvInterpolator.h>
Public Member Functions | |
virtual HBhvInterpolator * | CreateInstance (HBhvAnimation *ainst) |
virtual void | Evaluate (int keyframe, float fraction, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale) |
void | GetAxis (HPoint &axis) |
const char * | GetType () |
HBhvInterpolatorAxisRotate (HBhvAnimation *animation=0, const char *name=0) | |
void | Insert (float angle, int l=0) |
virtual void | Interpolate (int keyframe, float fraction) |
void | Replace (float angle, int l) |
virtual void | Serialize (HUtilityXMLGenerator *xmlgen) |
void | SetAxis (float x, float y, float z) |
Static Public Member Functions | |
static void * | XMLCallback (HUtilityXMLTag *xt, bool open, void *m_pExtraData) |
Protected Attributes | |
HPoint | m_axis |
HBhvInterpolatorAxisRotate::HBhvInterpolatorAxisRotate | ( | HBhvAnimation * | animation = 0 , |
|
const char * | name = 0 | |||
) |
Constructs an HBhvInterpolatorAxisRotate object.
animation | The animation that this interpolator belongs to. | |
name | The name of of the interpolator. |
virtual HBhvInterpolator* HBhvInterpolatorAxisRotate::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.
void HBhvInterpolatorAxisRotate::GetAxis | ( | HPoint & | axis | ) | [inline] |
Returns the axis of rotation.
const char* HBhvInterpolatorAxisRotate::GetType | ( | ) | [virtual] |
void HBhvInterpolatorAxisRotate::Insert | ( | float | angle, | |
int | l = 0 | |||
) | [inline] |
This method creates a new axis rotation keyframe with the passed angle value and then inserts it after the passed position l into the keyframe array.
angle | The angle for the new keyframe. | |
l | The array position to insert new keyframe after. |
References HKeyframeAxisRotation::m_angle.
virtual void HBhvInterpolatorAxisRotate::Interpolate | ( | int | keyframe, | |
float | fraction | |||
) | [virtual] |
Performs 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 HBhvInterpolatorAxisRotate::Replace | ( | float | angle, | |
int | l | |||
) | [inline] |
Replaces the item at the given position in the keyframe array with a new axis rotation keyframe that was created with the passed angle value.
angle | The angle for the replacement keyframe. | |
l | The array position to replace. |
References HKeyframeAxisRotation::m_angle.
virtual void HBhvInterpolatorAxisRotate::Serialize | ( | HUtilityXMLGenerator * | xmlgen | ) | [virtual] |
Writes XML data to a buffer using the passed XML generator.
Reimplemented from HBhvInterpolator.
void HBhvInterpolatorAxisRotate::SetAxis | ( | float | x, | |
float | y, | |||
float | z | |||
) | [inline] |
Sets the axis of rotation.
static void* HBhvInterpolatorAxisRotate::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.
HPoint HBhvInterpolatorAxisRotate::m_axis [protected] |
For internal use only.