/// <summary> /// Rearrange the spline to have a new first Control Point. /// </summary> /// <param name="newStartCP">the Control Point to become the first Control Point</param> public static void setFirstCP(CurvySplineSegment newStartCP) { CurvySpline spl = newStartCP.Spline; if (newStartCP.ControlPointIndex == 0) { return; } CurvySplineSegment[] toMove = new CurvySplineSegment[newStartCP.ControlPointIndex]; for (int i = 0; i < newStartCP.ControlPointIndex; i++) { toMove[i] = spl.ControlPoints[i]; } foreach (CurvySplineSegment seg in toMove) { spl.ControlPoints.Remove(seg); spl.ControlPoints.Add(seg); } spl._nameControlPoints(); spl.Refresh(); }