Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HBhvInterpolatorAxisRotate Class Reference

The HBhvInterpolatorAxisRotate class controls rotation around an arbitrary axis. More...

#include <HBhvInterpolator.h>

List of all members.

Public Member Functions

virtual HBhvInterpolatorCreateInstance (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

Detailed Description

The HBhvInterpolatorAxisRotate class controls rotation around an arbitrary axis.


Constructor & Destructor Documentation

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

Constructs an HBhvInterpolatorAxisRotate object.

Parameters:
animationThe animation that this interpolator belongs to.
nameThe name of of the interpolator.

Member Function Documentation

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.

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

Implements HBhvInterpolator.

void HBhvInterpolatorAxisRotate::GetAxis ( HPoint axis) [inline]

Returns the axis of rotation.

const char* HBhvInterpolatorAxisRotate::GetType ( ) [virtual]
Returns:
The type of the interpolator which is 'AxisRot'.

Implements HBhvInterpolator.

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.

Parameters:
angleThe angle for the new keyframe.
lThe 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.

Parameters:
keyframeThe reference keyframe for this interpolation.
fractionThe 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.

Parameters:
angleThe angle for the replacement keyframe.
lThe 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.


Member Data Documentation

For internal use only.


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