HKeyframeChannelCurve
Fields
HPoint | m_tangent1 |
HPoint | m_tangent2 |
float | m_factor1 |
float | m_factor2 |
HPoint * | control_polygon |
float | ItemType |
float | c |
float | b |
float | m_curvelength |
Functions
Detailed Description
-
class
HKeyframeChannelCurve
: public HKeyframeChannel The HKeyframeChannelCurve class is used for spline based interpolation of positional values.
Subclassed by HKeyframeChannelFollowPath
Public Functions
-
inline
HKeyframeChannelCurve
(float x = 0, float y = 0, float z = 0) Constructs a HKeyframeChannelCurve Object.
-
inline virtual
~HKeyframeChannelCurve
()
-
inline virtual HKeyframe *
Clone
() 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.
-
void
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
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
-
HPoint
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.
-
void
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
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
Interpolate
(HKeyframeChannel const *posarray[], int keyframe, float fraction, int length, HPoint &res) 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.
-
virtual void
Serialize
(HUtilityXMLTag *xmlgen) Writes XML data to a buffer.
-
inline