public override KeyFrame GetInterpolatedKeyFrame( float timeIndex, KeyFrame kf )
{
NumericKeyFrame kret = (NumericKeyFrame)kf;
// Keyframe pointers
KeyFrame kBase1, kBase2;
NumericKeyFrame k1, k2;
short firstKeyIndex;
float t = GetKeyFramesAtTime( timeIndex, out kBase1, out kBase2, out firstKeyIndex );
k1 = (NumericKeyFrame)kBase1;
k2 = (NumericKeyFrame)kBase2;
if ( t == 0.0f )
{
// Just use k1
kret.NumericValue = k1.NumericValue;
}
else
{
// Interpolate by t
kret.NumericValue = AnimableValue.InterpolateValues( t, targetAnimable.Type,
k1.NumericValue, k2.NumericValue );
}
return kf;
}