public TrackNodeCurve GetPreviousCurve(TrackNodeCurve current) { var index = GetTrackCurves.IndexOf(current); if (index - 1 < 0) { var previousCurve = current.SegmentModify.GetPreviousSegment(true); if (previousCurve != null) { return(previousCurve.GetLastCurve); } } return(GetTrackCurves[index - 1]); }
public TrackNodeCurve GetNextCurve(TrackNodeCurve current) { var index = GetTrackCurves.IndexOf(current); if (index + 1 >= GetTrackCurves.Count) { var nextSegment = current.SegmentModify.GetNextSegment(true); if (nextSegment != null) { return(nextSegment.GetFirstCurve); } return(null); } return(GetTrackCurves[index + 1]); }