HBhvInterpolatorQuatSquad
Functions
HBhvInterpolatorQuatSquad |
|
| char const * | GetType |
| HBhvInterpolator * | CreateInstance |
| void | Insert |
| void | InsertLinear |
| void | Replace |
| void | ReplaceLinear |
| void | AdjustQuaternions |
| void | Serialize |
| void | Interpolate |
| void | Evaluate |
| void | CalculateQuat |
| void * | XMLCallback |
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.
-