Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public static SimpleSegment Create(Point point0, Point point1)
        {
            var segment = new SimpleSegment
            {
                Type   = SegmentType.Line,
                Points = new[] { point0, point1 }
            };

            return(segment);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
            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;
                }
            }
Esempio n. 5
0
            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++;
                }
            }
Esempio n. 6
0
 public override IEnumerable <SimpleSegment> GetSimpleSegments()
 {
     yield return(SimpleSegment.Create(Start, _segment.Point1, _segment.Point2));
 }