protected void BuildInterpolationSplines()
{
// dont calculate on the fly, wait till the end when we do it manually
positionSpline.AutoCalculate = false;
rotationSpline.AutoCalculate = false;
scaleSpline.AutoCalculate = false;
positionSpline.Clear();
rotationSpline.Clear();
scaleSpline.Clear();
// add spline control points for each keyframe in the list
for ( int i = 0; i < keyFrameList.Count; i++ )
{
TransformKeyFrame keyFrame = (TransformKeyFrame)keyFrameList[ i ];
positionSpline.AddPoint( keyFrame.Translate );
rotationSpline.AddPoint( keyFrame.Rotation );
scaleSpline.AddPoint( keyFrame.Scale );
}
// recalculate all spline tangents now
positionSpline.RecalculateTangents();
rotationSpline.RecalculateTangents();
scaleSpline.RecalculateTangents();
isSplineRebuildNeeded = false;
}