public void RemoveAnchor(int index) { PSplineAnchor a = Anchors[index]; List <int> segmentIndices = FindSegments(index); for (int i = 0; i < segmentIndices.Count; ++i) { int sIndex = segmentIndices[i]; Segments[sIndex].Dispose(); } Segments.RemoveAll(s => s.StartIndex == index || s.EndIndex == index); Segments.ForEach(s => { if (s.StartIndex > index) { s.StartIndex -= 1; } if (s.EndIndex > index) { s.EndIndex -= 1; } }); Anchors.RemoveAt(index); }
public void RemoveAnchor(int index) { GSplineAnchor a = Anchors[index]; Segments.RemoveAll(s => s.StartIndex == index || s.EndIndex == index); Segments.ForEach(s => { if (s.StartIndex > index) { s.StartIndex -= 1; } if (s.EndIndex > index) { s.EndIndex -= 1; } }); Anchors.RemoveAt(index); }