Alphabetical Class Index  Class Hierarchy   File Members   Compound Members   File List  

HKeyframeChannelCurve Class Reference

The HKeyframeChannelCurve class is used for spline based interpolation of positional values. More...

#include <HBhvUtility.h>

Inheritance diagram for HKeyframeChannelCurve:

HKeyframeChannel HKeyframe HKeyframeChannelFollowPath

List of all members.

Public Member Functions

void CalculateCurveFactor (HBhvTimeline *timeline, int keyframe)
void CalculateCurveLength (HPoint p2)
void CalculateHermiteTangents (HPoint p0, HPoint p2, HPoint p3, float a=0.5f)
virtual HKeyframeClone ()
void DrawTangents (HPoint p2)
 HKeyframeChannelCurve (float x=0, float y=0, float z=0)
virtual void Interpolate (HKeyframeChannel **posarray, int keyframe, float fraction, int length, HPoint &res)
HPoint InterpolateHermiteSpline (float fraction, HPoint p1, HPoint p2)
virtual void Serialize (HUtilityXMLTag *xmlgen)

Public Attributes

float b
float c
HPointcontrol_polygon
float ItemType
float m_curvelength
float m_factor1
float m_factor2
HPoint m_tangent1
HPoint m_tangent2


Detailed Description

The HKeyframeChannelCurve class is used for spline based interpolation of positional values.

Constructor & Destructor Documentation

HKeyframeChannelCurve::HKeyframeChannelCurve ( float  x = 0,
float  y = 0,
float  z = 0 
) [inline]

Constructs a HKeyframeChannelCurve Object.

References HANIHermiteSpline.


Member Function Documentation

void HKeyframeChannelCurve::CalculateCurveFactor ( HBhvTimeline timeline,
int  keyframe 
)

This method is a helper function for CalculateHermiteTangents(). Call this method to precalculate curve factors before calling CalculateHermiteTangents().

Parameters:
timeline Timeline array necessary to calculate correct curve factors
keyframe Current Keyframe

void HKeyframeChannelCurve::CalculateCurveLength ( HPoint  p2  ) 

This method calculates the length of this curve between this keyframe and a given point.

Parameters:
p2 The point to calculate the length with.

void HKeyframeChannelCurve::CalculateHermiteTangents ( HPoint  p0,
HPoint  p2,
HPoint  p3,
float  a = 0.5f 
)

Use this method to precalculate tangents for the hermite spline. This method can be usef as a helper function for interpolation.

Parameters:
p0 The first point for tangent calculation.
p2 The third point for tangent calculation.
p3 The fourth Point for tangent calculation.
a Constant for hermite spline

virtual HKeyframe* HKeyframeChannelCurve::Clone (  )  [inline, virtual]

This method makes an exact copy of the current HKeyframeChannelCurve and returns a pointer to the newly created HKeyframeChannelCurve object.

Returns:
A pointer to the newly created HKeyframeChannelCurve object.

Reimplemented from HKeyframeChannel.

Reimplemented in HKeyframeChannelFollowPath.

void HKeyframeChannelCurve::DrawTangents ( HPoint  p2  ) 

This method creates a visualization of the tangents calculated for this curve by drawing them into the scene.

Parameters:
p2 The second point to calculate tangents from.

virtual void HKeyframeChannelCurve::Interpolate ( HKeyframeChannel **  posarray,
int  keyframe,
float  fraction,
int  length,
HPoint res 
) [virtual]

Calculates the interpolation between this keyframe and the next keyframe.

Parameters:
posarray The array of HKeyframeChannel objects.
keyframe They current keyframe number.
fraction The fraction from this keyframe to next.
length The number of entries in the keyframe array.
res Returns the interpolation result.

Reimplemented from HKeyframeChannel.

Reimplemented in HKeyframeChannelFollowPath.

HPoint HKeyframeChannelCurve::InterpolateHermiteSpline ( float  fraction,
HPoint  p1,
HPoint  p2 
)

This method uses the given frame and control points to interpolate a Hermite spline.

Parameters:
fraction Distance between the first and second control point.
p1 The first control point.
p2 The second control point.
Returns:
The interpolated result.

virtual void HKeyframeChannelCurve::Serialize ( HUtilityXMLTag *  xmlgen  )  [virtual]

Writes XML data to a buffer.

Reimplemented from HKeyframe.

Reimplemented in HKeyframeChannelFollowPath.


Member Data Documentation

For internal use only.

For internal use only.

For internal use only.

For internal use only.

For internal use only.

For internal use only.


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