示例#1
0
    /// <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();
    }