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.
-