public void SetupSplinationLimits() { //Disallowed nodes: if (!CanSplinate()) { MinSplination = tTime; MaxSplination = tTime; return; } //Figure out min splination: GSDSplineN tNode = null; MinSplination = tTime; for (int i = idOnSpline; i >= 0; i--) { tNode = GSDSpline.mNodes[i]; if (tNode.CanSplinate()) { MinSplination = tNode.tTime; } else { break; } } //Figure out max splination: MaxSplination = tTime; int mCount = GSDSpline.GetNodeCount(); for (int i = idOnSpline; i < mCount; i++) { tNode = GSDSpline.mNodes[i]; if (tNode.CanSplinate()) { MaxSplination = tNode.tTime; } else { break; } } }