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 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 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 ConnectingDrawing() { Mat img = new Mat(100, 100, MatType.CV_8UC3, new Scalar(0, 0, 0)); var d = new Drawer(); Vec3b color = new Vec3b(128, 192, 255); var s = new PolyStroke(new SPoint[] { new SPoint(10, 10, color), new SPoint(20, 10, color) }); d.Draw(img, s, true); var indexer = img.GetGenericIndexer <Vec3b>(); Assert.AreEqual(new Vec3b(0, 0, 0), indexer[50, 50]); Assert.AreEqual(color, indexer[10, 10]); Assert.AreEqual(color, indexer[10, 15]); }
public void PointByPointDrawing() { Mat img = new Mat(100, 100, MatType.CV_8UC3, new Scalar(0, 0, 0)); var d = new Drawer(); Vec3b color = new Vec3b(128, 192, 255); Vec3b black = new Vec3b(0, 0, 0); var s = new PolyStroke(new SPoint[] { new SPoint(10, 20, color), new SPoint(20, 20, color) }); d.Draw(img, s, false); var indexer = img.GetGenericIndexer <Vec3b>(); Assert.AreEqual(black, indexer[10, 10]); Assert.AreEqual(color, indexer[20, 10]); Assert.AreEqual(black, indexer[20, 15]); Assert.AreEqual(color, indexer[20, 20]); }
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()); }