The HBhvInterpolatorPosition class controls positional interpolation. More...
#include <HBhvInterpolator.h>
Public Member Functions | |
virtual void | CalculatePos (int keyframe, float fraction, HPoint &res) |
virtual HBhvInterpolator * | CreateInstance (HBhvAnimation *ainst) |
virtual void | Evaluate (int keyframe, float fraction, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale) |
const char * | GetType () |
HBhvInterpolatorPosition (HBhvAnimation *animation=0, const char *name=0) | |
void | InsertCurve (HPoint pos, int l=0) |
void | InsertDiscrete (HPoint pos, int l=0) |
void | InsertLinear (HPoint pos, int l=0) |
virtual void | Interpolate (int keyframe, float fraction) |
void | ReplaceCurve (HPoint pos, int l) |
void | ReplaceLinear (HPoint pos, int l) |
virtual void | Reset () |
virtual void | Serialize (HUtilityXMLGenerator *xmlgen) |
![]() | |
void | Append (HKeyframe *piece) |
void | Copy (int pos, int adpos, bool replace) |
void | Duplicate (int pos, bool replace, bool next) |
HBhvAnimation * | GetAnimation () |
HKeyframe ** | GetArray () |
virtual int | GetArrayLength () |
virtual HKeyframe * | GetAt (int pos) |
const char * | GetName () |
void | GetRotationFromMatrix (HQuat &rotation) |
void | GetTranslationFromMatrix (HPoint &translation) |
HBhvInterpolator (HBhvAnimation *animation=0, const char *name=0) | |
void | Insert (HKeyframe *piece, int pos=0) |
void | Remove (int pos) |
void | Replace (HKeyframe *c, int pos) |
void | SetAnimation (HBhvAnimation *animation) |
void | SetInstancedInterpolator (HBhvInterpolator *interpolator) |
Static Public Member Functions | |
static void * | XMLCallback (HUtilityXMLTag *xt, bool open, void *m_pExtraData) |
Protected Member Functions | |
virtual void | CalculateAllTangents () |
virtual void | InterpolateCamera (HPoint &pos, bool simulate=false) |
virtual void | InterpolateCamera2 (HPoint &pos, bool simulate=false) |
![]() | |
void | AddPositionToMatrix (HPoint &trans) |
void | AddRotationToMatrix (float rot[16]) |
void | AddScaleToMatrix (HPoint &scale) |
void | SetTarget () |
Additional Inherited Members | |
![]() | |
char | m_Name [BHV_MAX_NAME_LENGTH] |
HBhvAnimation * | m_pAnimation |
VArray< HKeyframe * > | m_pArray |
HBhvInterpolator * | m_pInterpolatorInstance |
HC_KEY | m_pTarget |
Detailed Description
The HBhvInterpolatorPosition class controls positional interpolation.
HBhvInterpolatorPosition allows for either linear or spline based movement. This class can be used for camera interpolation as well other targets.
Constructor & Destructor Documentation
◆ HBhvInterpolatorPosition()
HBhvInterpolatorPosition::HBhvInterpolatorPosition | ( | HBhvAnimation * | animation = 0 , |
const char * | name = 0 |
||
) |
Constructs an HBhvInterpolatorPosition object.
- Parameters
-
animation The animation that this interpolator belongs to. name The name of the interpolator.
Member Function Documentation
◆ CalculateAllTangents()
|
protectedvirtual |
This is a helper method that calculates the tangents for all the entries in the keyframe array. You can call this method before doing an interpolation.
◆ CalculatePos()
|
virtual |
Calculates the interpolated positional value given a keyframe and fraction to the next keyframe.
- Parameters
-
keyframe The reference keyframe for this interpolation. fraction The fractional value from the specified keyframe to the next keyframe. This value is from 0 to 1. res The result of the interpolation.
◆ CreateInstance()
|
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
-
ainst The animation instance that this interpolator is associated with.
- Returns
- The newly created interpolator that references this interpolator.
Implements HBhvInterpolator.
Reimplemented in HBhvInterpolatorTrail.
◆ GetType()
|
virtual |
- Returns
- Type of the interpolator which is 'Pos'.
Implements HBhvInterpolator.
Reimplemented in HBhvInterpolatorTrail.
◆ InsertCurve()
|
inline |
This method creates a new non-linear positional keyframe with the passed pos value and then inserts it after the passed position l into the keyframe array.
- Parameters
-
pos The position value for the keyframe to be insert. l The array position to insert item after.
References HKeyframeChannel::m_cp.
◆ InsertDiscrete()
|
inline |
This method creates a new discrete positional keyframe with the passed pos value and then inserts it after the passed position l into the keyframe array.
- Parameters
-
pos The position value for the new keyframe to be inserted. l The array position to insert item after.
References HKeyframeChannel::m_cp.
◆ InsertLinear()
|
inline |
This method creates a new linear positional keyframe with the passed pos value and then inserts it after the passed position l into the keyframe array.
- Parameters
-
pos The position value for the keyframe to be inserted. l The position in the array to insert the item after.
References HKeyframeChannel::m_cp.
◆ Interpolate()
|
virtual |
Performs an interpolation on this interpolator's 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.
Reimplemented from HBhvInterpolator.
Reimplemented in HBhvInterpolatorTrail.
◆ InterpolateCamera()
|
protectedvirtual |
Calculates the interpolated camera orientation and position for camera types that are position driven.
- Parameters
-
pos New Camera Position Reference
◆ InterpolateCamera2()
|
protectedvirtual |
Calculates the interpolated camera orientation for camera types that are target driven.
- Parameters
-
pos New Camera Position Reference
◆ ReplaceCurve()
|
inline |
Replaces the item at the given position in the keyframe array with a new non-linear positional keyframe that was created with the passed pos value.
- Parameters
-
pos The position value for the new replacement keyframe. l The array position to replace.
References HKeyframeChannel::m_cp.
◆ ReplaceLinear()
|
inline |
Replaces the item at the given position in the keyframe array with a new linear positional keyframe that was created with the passed pos value.
- Parameters
-
pos The position value for the new replacement keyframe. l The array position to replace.
References HKeyframeChannel::m_cp.
◆ Reset()
|
virtual |
Resets the interpolator instance.
Reimplemented from HBhvInterpolator.
Reimplemented in HBhvInterpolatorTrail.
◆ Serialize()
|
virtual |
Writes XML data to a buffer using the passed XML generator.
Reimplemented from HBhvInterpolator.
Reimplemented in HBhvInterpolatorTrail.
◆ XMLCallback()
|
static |
This is XML read callback which parses XML data and then populates the member variables with the associated values.
The documentation for this class was generated from the following file: