Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HBhvInterpolatorScale Class Reference

The HBhvInterpolatorScale class controls scaling. This class can be used for camera interpolation as well other targets. More...

#include <HBhvInterpolator.h>

List of all members.

Public Member Functions

virtual void CalculateAllTangents ()
virtual void CalculatePos (int keyframe, float fraction, HPoint &res)
virtual HBhvInterpolatorCreateInstance (HBhvAnimation *ainst)
void Evaluate (int keyframe, float fraction, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale)
const char * GetType ()
 HBhvInterpolatorScale (HBhvAnimation *animation=0, const char *name=0)
void Insert (HPoint pos, int l=0)
virtual void Interpolate (int keyframe, float fraction)
void Replace (HPoint pos, int l)
virtual void Reset ()
virtual void Serialize (HUtilityXMLGenerator *xmlgen)

Static Public Member Functions

static void * XMLCallback (HUtilityXMLTag *xt, bool open, void *m_pExtraData)

Protected Member Functions

virtual void InterpolateCamera (HPoint &Scale, bool simulate=false)
virtual void InterpolateCamera2 (HPoint &Scale, bool simulate=false)

Detailed Description

The HBhvInterpolatorScale class controls scaling. This class can be used for camera interpolation as well other targets.


Constructor & Destructor Documentation

HBhvInterpolatorScale::HBhvInterpolatorScale ( HBhvAnimation animation = 0,
const char *  name = 0 
)

Constructs an HBhvInterpolatorScale object.

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

Member Function Documentation

virtual void HBhvInterpolatorScale::CalculateAllTangents ( ) [virtual]

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.

virtual void HBhvInterpolatorScale::CalculatePos ( int  keyframe,
float  fraction,
HPoint res 
) [virtual]

Calculates the interpolated positional value given a keyframe and fraction to the next keyframe.

Parameters:
keyframeThe reference keyframe for this interpolation/
fractionThe fractional value from the specified keyframe to the next keyframe. This value is from 0 to 1.
resThe result of the interpolation.
virtual HBhvInterpolator* HBhvInterpolatorScale::CreateInstance ( HBhvAnimation ainst) [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:
ainstThe animation instance that this interpolator is associated with.
Returns:
The newly created interpolator that references this interpolator.

Implements HBhvInterpolator.

const char* HBhvInterpolatorScale::GetType ( ) [virtual]
Returns:
The type of this interpolator which is 'Scale'.

Implements HBhvInterpolator.

void HBhvInterpolatorScale::Insert ( HPoint  pos,
int  l = 0 
) [inline]

This method creates a new keyframe with the passed scaling factor and then inserts it after the given position l in the keyframe array.

Parameters:
posThe scale factors for the new keyframe.
lThe array position to insert item after.

References HKeyframeChannel::m_cp.

virtual void HBhvInterpolatorScale::Interpolate ( int  keyframe,
float  fraction 
) [virtual]

Performs an interpolation on the animation target.

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

virtual void HBhvInterpolatorScale::InterpolateCamera ( HPoint Scale,
bool  simulate = false 
) [protected, virtual]

Calculates the interpolated camera orientation and position for camera types that are position driven.

Parameters:
posNew Camera Position Reference
virtual void HBhvInterpolatorScale::InterpolateCamera2 ( HPoint Scale,
bool  simulate = false 
) [protected, virtual]

Calculates the interpolated camera orientation for camera types that are target driven.

Parameters:
posNew Camera Position Reference
void HBhvInterpolatorScale::Replace ( HPoint  pos,
int  l 
) [inline]

Replaces the item at the given position in the keyframe array with a new keyframe that was created with the passed scaling factors.

Parameters:
posThe scale factors for the replacement keyframe.
lThe array position to replace.

References HKeyframeChannel::m_cp.

virtual void HBhvInterpolatorScale::Reset ( ) [virtual]

Resets this interpolator instance.

Reimplemented from HBhvInterpolator.

virtual void HBhvInterpolatorScale::Serialize ( HUtilityXMLGenerator *  xmlgen) [virtual]

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

Reimplemented from HBhvInterpolator.

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