HBhvInterpolatorAxisRotate

Detailed Description

class HBhvInterpolatorAxisRotate : public HBhvInterpolator

The HBhvInterpolatorAxisRotate class controls rotation around an arbitrary axis.

Public Functions

HBhvInterpolatorAxisRotate(HBhvAnimation *animation = 0, char const *name = 0)

Constructs an HBhvInterpolatorAxisRotate object.

Parameters:
  • animation – The animation that this interpolator belongs to.
  • name – The name of of the interpolator.
inline void SetAxis(float x, float y, float z)

Sets the axis of rotation.

inline void GetAxis(HPoint &axis)

Returns the axis of rotation.

virtual char const *GetType()
Returns:The type of the interpolator which is ‘AxisRot’.
virtual HBhvInterpolator *CreateInstance(HBhvAnimation *ainst)

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.
inline void Insert(float angle, int l = 0)

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.

Parameters:
  • angle – The angle for the new keyframe.
  • l – The array position to insert new keyframe after.
inline void Replace(float angle, int l)

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.

Parameters:
  • angle – The angle for the replacement keyframe.
  • l – The array position to replace.
virtual void Serialize(HUtilityXMLGenerator *xmlgen)

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

virtual void Interpolate(int keyframe, float fraction)

Performs 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.
virtual void Evaluate(int keyframe, float fraction, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale)

Public Static Functions

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

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