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); } }
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 }); }
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 }); }
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); }
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()); }