HBhvInterpolatorQuatSquad
Functions
char const * |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void |
|
void * |
Detailed Description
-
class HBhvInterpolatorQuatSquad : public HBhvInterpolator
The HBhvInterpolatorQuatSquad class controls quaternion based rotation. This class can be used for camera interpolation as well other targets.
Public Functions
-
HBhvInterpolatorQuatSquad(HBhvAnimation *animation = 0, char const *name = 0)
Constructs an HBhvInterpolatorQuatSquad object.
- Parameters:
animation – Animation that this interpolator belongs to
name – Name of Interpolator
-
virtual char const *GetType()
- Returns:
The type of the interpolator which is ‘QuatRot’.
-
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(HQuat q, int l = 0)
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.
-
inline void InsertLinear(HQuat q, int l = 0)
This method creates a new linear 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.
-
inline void Replace(HQuat q, int l)
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.
-
inline void ReplaceLinear(HQuat q, int l)
Replaces the item at the given position in the keyframe array with a new linear 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.
-
void AdjustQuaternions()
Recalculates the quaternion array to ensure shortest rotation path.
-
virtual void Serialize(HUtilityXMLGenerator *xmlgen)
Writes XML data to a buffer using the passed XML generator.
-
virtual void Interpolate(int keyframe, float fraction)
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.
-
virtual void Evaluate(int keyframe, float fraction, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale)
-
virtual void CalculateQuat(int keyframe, float fraction, HQuat &res)
Calculates the quaternion interpolation given a reference keyframe and a fraction.
- 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.
res – Returns the result of the calculation.
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.
-
HBhvInterpolatorQuatSquad(HBhvAnimation *animation = 0, char const *name = 0)