private void AssertAllPointsInHorizontalLine(SPoint[] currentPoints, int y, int x0, int x1)
 {
     for (int x = x0; x <= x1; x++)
     {
         PointListsHelper.AssertPointPresence(currentPoints, new SPoint(x, y), 1);
     }
 }
Esempio n. 2
0
        public void PointStorage()
        {
            var p1 = new SPoint(0, 0);
            var p2 = new SPoint(1, 1);
            var s  = new PolyStroke(new SPoint[] { p1, p2 });

            PointListsHelper.AssertPointPresence(s, new SPoint[] { p1, p2 });
        }
        public void LineWidthInterpolation()
        {
            var p1     = new SPoint(1, 0, new Vec3b(0, 0, 0), 1);
            var pTest  = new SPoint(5, 0, new Vec3b(9, 9, 9), 5);
            var p2     = new SPoint(10, 0, new Vec3b(20, 20, 20), 10);
            var stroke = StrokeFactory.CreateInterpolatingStroke(new SPoint[] { p1, p2 });

            PointListsHelper.AssertPointPresence(stroke, new SPoint[] { p1, pTest, p2 });
        }
Esempio n. 4
0
        public void Dashed()
        {
            var p1     = new SPoint(0, 0);
            var p2     = new SPoint(10, 0);
            var p3     = new SPoint(20, 0);
            var p4     = new SPoint(30, 0);
            var s      = new PolyStroke(new SPoint[] { p1, p2, p3, p4 });
            var dashed = new DashedStroke(s, 2);

            Assert.AreEqual(2, dashed.Count());
            PointListsHelper.AssertPointPresence(dashed, new SPoint[] { p1, p3 });
        }
        public void Interpolate()
        {
            var p1     = new SPoint(0, 0);
            var pTest1 = new SPoint(6, 0);
            var p2     = new SPoint(10, 0);
            var pTest2 = new SPoint(10, 4);
            var p3     = new SPoint(10, 10);
            var stroke = StrokeFactory.CreateInterpolatingStroke(new SPoint[] { p1, p2, p3 });

            Assert.AreEqual(21, stroke.Count());
            PointListsHelper.AssertPointPresence(stroke, new SPoint[] { p1, pTest1, p2, pTest2, p3 });
        }
Esempio n. 6
0
        public void MultipleIterationsByPolystroke()
        {
            const int numberOfIterations = 3;
            var       p1 = new SPoint(0, 0);
            var       p2 = new SPoint(10, 0);
            var       p3 = new SPoint(10, 10);
            var       p4 = new SPoint(0, 10);
            var       s  = new PolyStroke(new SPoint[] { p1, p2, p3, p4 });

            s.NumberOfIterations = numberOfIterations;
            var points = s.ToArray();

            Assert.AreEqual(4 * numberOfIterations, points.Length);
            PointListsHelper.AssertPointPresence(s, new SPoint[] { p1, p2, p3, p4 }, 3);
        }
Esempio n. 7
0
        public void Rotate()
        {
            var color = new Vec3b(128, 192, 255);
            var p1    = new SPoint(0, 0, color);
            var p2    = new SPoint(10, 0);
            var p3    = new SPoint(20, 0);
            var s     = StrokeFactory.CreateRotatingStroke(new SPoint[] { p1, p2, p3 }, 90.0, 5.0);

            Assert.AreEqual(3, s.Count());
            PointListsHelper.AssertPointPresence(s, new SPoint[] {
                PointListsHelper.Shift(p1, 0, -5),
                PointListsHelper.Shift(p2, -5, 0),
                PointListsHelper.Shift(p3, 0, 5)
            });
        }
        public void SimpleAnimation()
        {
            SPoint A1   = new SPoint(10, 10);
            SPoint A2   = new SPoint(20, 10);
            SPoint B1   = new SPoint(10, 50);
            SPoint B2   = new SPoint(20, 50);
            var    anim = new AnimationStroke();
            var    s1   = new PolyStroke(new SPoint[] { A1, A2 });

            anim.AddStrokeAsTimeDependentControlPoint(s1);
            var s2 = new PolyStroke(new SPoint[] { B1, B2 });

            anim.AddStrokeAsTimeDependentControlPoint(s2);
            var hadMore = anim.NextFrame();

            Assert.IsTrue(hadMore);
            PointListsHelper.AssertPointPresence(anim,
                                                 new SPoint[] { A1, B1 });
            hadMore = anim.NextFrame();
            Assert.IsTrue(hadMore);
            PointListsHelper.AssertPointPresence(anim,
                                                 new SPoint[] { A2, B2 });
            Assert.IsFalse(anim.NextFrame());
        }