public static SimpleSegment Create(Point point0, Point point1, Point point2, Point point3) { var segment = new SimpleSegment { Type = SegmentType.CubicBeizer, Points = new[] { point0, point1, point2, point3 } }; return(segment); }
public static SimpleSegment Create(Point point0, Point point1) { var segment = new SimpleSegment { Type = SegmentType.Line, Points = new[] { point0, point1 } }; return(segment); }
public static SimpleSegment Create(Point point0, Point point1, Point point2) { var point = GeometryHelper.Lerp(point0, point1, 0.66666666666666663); var point3 = GeometryHelper.Lerp(point1, point2, 0.33333333333333331); var segment = new SimpleSegment { Type = SegmentType.CubicBeizer, Points = new[] { point0, point, point3, point2 } }; return(segment); }
public override IEnumerable <SimpleSegment> GetSimpleSegments() { var start = Start; // ReSharper disable once GenericEnumeratorNotDisposed var enumerator = _segment.Points.GetEnumerator(); while (enumerator.MoveNext()) { var current = enumerator.Current; yield return(SimpleSegment.Create(start, current)); start = current; } }
public override IEnumerable <SimpleSegment> GetSimpleSegments() { var start = Start; IList <Point> points = _segment.Points; var iteratorVariable2 = _segment.Points.Count / 2; var iteratorVariable3 = 0; while (true) { if (iteratorVariable3 >= iteratorVariable2) { yield break; } var iteratorVariable4 = iteratorVariable3 * 2; yield return(SimpleSegment.Create(start, points[iteratorVariable4], points[iteratorVariable4 + 1])); start = points[iteratorVariable4 + 1]; iteratorVariable3++; } }
public override IEnumerable <SimpleSegment> GetSimpleSegments() { yield return(SimpleSegment.Create(Start, _segment.Point1, _segment.Point2)); }