The HBhvInterpolatorVertexMorph class performs interpolation by interpolating the individual vertex parameters of an object. The result of the animation is that object changes shape but retains the same set of vertices.
More...
#include <HBhvInterpolator.h>
|
virtual void | AddMorphData (HPoint *md, int pnum, HBaseModel *model, int pos=-1) |
|
virtual HBhvInterpolator * | CreateInstance (HBhvAnimation *ainst) |
|
VArray< void * > | GetMorphData () |
|
int | GetMorphDataLength () |
|
const char * | GetType () |
|
| HBhvInterpolatorVertexMorph (HBhvAnimation *animation=0, const char *name=0) |
|
void | Insert (char *mident, int l=0) |
|
void | InsertDiscrete (char *mident, int l=0) |
|
virtual void | Interpolate (int keyframe, float fraction) |
|
void | Replace (char *t, int l) |
|
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) |
|
virtual void | Evaluate (int keyframe, float fraction, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale) |
|
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) |
|
virtual void | Reset () |
|
void | SetAnimation (HBhvAnimation *animation) |
|
void | SetInstancedInterpolator (HBhvInterpolator *interpolator) |
|
|
static void * | XMLCallback (HUtilityXMLTag *xt, bool open, void *m_pExtraData) |
|
The HBhvInterpolatorVertexMorph class performs interpolation by interpolating the individual vertex parameters of an object. The result of the animation is that object changes shape but retains the same set of vertices.
HBhvInterpolatorVertexMorph::HBhvInterpolatorVertexMorph |
( |
HBhvAnimation * |
animation = 0 , |
|
|
const char * |
name = 0 |
|
) |
| |
Constructs an HBhvInterpolatorVertexMorph object.
- Parameters
-
animation | The animation that this interpolator belongs to. |
name | The name of the interpolator. |
virtual void HBhvInterpolatorVertexMorph::AddMorphData |
( |
HPoint * |
md, |
|
|
int |
pnum, |
|
|
HBaseModel * |
model, |
|
|
int |
pos = -1 |
|
) |
| |
|
virtual |
This method adds a point array to morph data array. Use this method to morph your data so that it can be added to the keyframe array for this interpolator. Note Insert() and Replace() take the morph data in the form of its indexed position in the Morph Data array.
- Parameters
-
md | Array of Points |
pnum | Number of points in array |
model | A pointer to the base model. The Point array is stored as a shell in a special MorphData segment underneath the model segment |
pos | Optional index into the Morph Data array which indicates where to put the point array |
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.
VArray< void *> HBhvInterpolatorVertexMorph::GetMorphData |
( |
| ) |
|
|
inline |
- Returns
- A pointer to the morph data array.
int HBhvInterpolatorVertexMorph::GetMorphDataLength |
( |
| ) |
|
|
inline |
- Returns
- The number of entries in the morph data array.
const char* HBhvInterpolatorVertexMorph::GetType |
( |
| ) |
|
|
virtual |
void HBhvInterpolatorVertexMorph::Insert |
( |
char * |
mident, |
|
|
int |
l = 0 |
|
) |
| |
|
inline |
This method creates a new keyframe with the passed Morph Data position index and then inserts it after the passed position l into the keyframe array. To use this method, you must first add your vertex position information to the Morph Data using AddMorphData(). Once you have done that, note the position index that your vertex information was added to the Morph Data array. This will be the value of the parameter mident.
- Parameters
-
mident | The Morph Data position index to your vertex array to use for the new keyframe. Note that although the index is an int, you can use itoa() to convert the index position. |
l | The array position to insert item after. |
References HKeyframeString::SetTarget().
virtual void HBhvInterpolatorVertexMorph::Interpolate |
( |
int |
keyframe, |
|
|
float |
fraction |
|
) |
| |
|
virtual |
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. |
Reimplemented from HBhvInterpolator.
void HBhvInterpolatorVertexMorph::Replace |
( |
char * |
t, |
|
|
int |
l |
|
) |
| |
|
inline |
Replaces the item at the given position in the keyframe array with a new keyframe that was created with the passed morph identifier. To use this method, you must first add your vertex position information to the Morph Data using AddMorphData(). Once you have done that, note the position index that your vertex information was added to the Morph Data array. This will be the value of the parameter t.
- Parameters
-
t | The Morph Data position index to your vertex array to use for the replace keyframe. Note that although the index is an int, you can use itoa() to convert the index position. |
l | The array position to replace. |
References HKeyframeString::SetTarget().
virtual void HBhvInterpolatorVertexMorph::Serialize |
( |
HUtilityXMLGenerator * |
xmlgen | ) |
|
|
virtual |
Writes XML data to a buffer using the passed XML generator.
Reimplemented from HBhvInterpolator.
static void* HBhvInterpolatorVertexMorph::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.
The documentation for this class was generated from the following file: