HBhvInterpolatorSegSwitch Class Reference

The HBhvInterpolatorSegSwitch performs animation by switching on and off the visibility of segments. More...

#include <HBhvInterpolator.h>

Public Member Functions

virtual HBhvInterpolatorCreateInstance (HBhvAnimation *ainst)
const char * GetType ()
 HBhvInterpolatorSegSwitch (HBhvAnimation *animation=0, const char *name=0)
void Insert (char *t, int l=0)
virtual void Interpolate (int keyframe, float fraction)
void Replace (char *spath, int l)
virtual void Reset ()
virtual void Serialize (HUtilityXMLGenerator *xmlgen)
- Public Member Functions inherited from HBhvInterpolator
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)
HBhvAnimationGetAnimation ()
HKeyframe ** GetArray ()
virtual int GetArrayLength ()
virtual HKeyframeGetAt (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)

Additional Inherited Members

- Protected Member Functions inherited from HBhvInterpolator
void AddPositionToMatrix (HPoint &trans)
void AddRotationToMatrix (float rot[16])
void AddScaleToMatrix (HPoint &scale)
void SetTarget ()
- Protected Attributes inherited from HBhvInterpolator
VArray< HKeyframe * > m_pArray
HC_KEY m_pTarget

Detailed Description

The HBhvInterpolatorSegSwitch performs animation by switching on and off the visibility of segments.

Constructor & Destructor Documentation

◆ HBhvInterpolatorSegSwitch()

HBhvInterpolatorSegSwitch::HBhvInterpolatorSegSwitch ( HBhvAnimation animation = 0,
const char *  name = 0 

Constructs an HBhvInterpolatorSegSwitch object.

animationThe animation that this interpolator belongs to.
nameThe name of the interpolator.

Member Function Documentation

◆ CreateInstance()

virtual HBhvInterpolator* HBhvInterpolatorSegSwitch::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.

ainstThe animation instance that this interpolator is associated with.
The newly created interpolator that references this interpolator.

Implements HBhvInterpolator.

◆ GetType()

const char* HBhvInterpolatorSegSwitch::GetType ( )
The type of the interpolator which is 'SegSwitch'.

Implements HBhvInterpolator.

◆ Insert()

void HBhvInterpolatorSegSwitch::Insert ( char *  t,
int  l = 0 

This method creates a new keyframe with the passed segment path t and then inserts it after the passed position l into the keyframe array.

tSegment path to insert
larray position to insert item after

References HKeyframeString::SetTarget().

◆ Interpolate()

virtual void HBhvInterpolatorSegSwitch::Interpolate ( int  keyframe,
float  fraction 

Performs an interpolation on the animation target.

keyframeThe reference keyframe for this interpolation.
fractionThe fraction value from the specified keyframe to the next keyframe. The value is from 0 to 1/

Reimplemented from HBhvInterpolator.

◆ Replace()

void HBhvInterpolatorSegSwitch::Replace ( char *  spath,
int  l 

Replaces the item at the given position in the keyframe array with a new keyframe that was created with the passed segment path t.

spathSegment path to replace with
larray position to replace

References HKeyframeString::SetTarget().

◆ Reset()

virtual void HBhvInterpolatorSegSwitch::Reset ( )

Resets the interpolator instance by turning off the visibility of all segments in the keyframe list.

Reimplemented from HBhvInterpolator.

◆ Serialize()

virtual void HBhvInterpolatorSegSwitch::Serialize ( HUtilityXMLGenerator *  xmlgen)

Writes XML data to a buffer using the passed XML generator.

Reimplemented from HBhvInterpolator.

◆ XMLCallback()

static void* HBhvInterpolatorSegSwitch::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.

The documentation for this class was generated from the following file: