Exemple #1
0
        public void UnionTest6()
        {
            var sut = new SimpleClipper.SimpleClipper();

            var polygonA = new Polygon(new Path(
                                           new Point[]
            {
                new Point(3, 187),
                new Point(212, 187),
                new Point(209, 327),
                new Point(0, 321),
            }
                                           ));

            var polygonB = new Polygon(new Path(
                                           new Point[]
            {
                new Point(4, 0),
                new Point(213, 1),
                new Point(214, 171),
                new Point(2, 176),
            }
                                           ));

            var expectedPoints = new Point[]
            {
            };

            var actual = sut.Union(polygonA, polygonB);

            Assert.AreEqual(1, actual.Count);

            //CollectionAssert.AreEqual(expectedPoints, actual.Single().Paths.Single().Points);
        }
Exemple #2
0
        public void UnionTest2()
        {
            var sut = new SimpleClipper.SimpleClipper();

            var polygonA = new Polygon(new Path(
                                           new Point[]
            {
                new Point(0, 0),
                new Point(4, 0),
                new Point(4, 4),
                new Point(0, 4)
            }
                                           ));

            var polygonB = new Polygon(new Path(
                                           new Point[]
            {
                new Point(5, 3),
                new Point(8, 3),
                new Point(8, 7),
                new Point(5, 7),
            }
                                           ));

            var expectedPoints = new Point[]
            {
                new Point(0, 0),
                new Point(4, 0),
                new Point(4, 3),
                new Point(5, 3),
                new Point(8, 3),
                new Point(8, 7),
                new Point(5, 7),
                new Point(5, 4),
                new Point(4, 4),
                new Point(0, 4),
            };

            var actual = sut.Union(polygonA, polygonB);

            CollectionAssert.AreEqual(expectedPoints, actual.Single().Paths.Single().Points);
        }
Exemple #3
0
        public void UnionPathsTest()
        {
            var pathA = new List <Point>
            {
                new Point(0, 0),
                new Point(4, 0),
                new Point(4, 4),
                new Point(0, 4)
            };

            var pathB = new List <Point>
            {
                new Point(0, 6),
                new Point(4, 6),
                new Point(4, 10),
                new Point(0, 10)
            };

            var sut = new SimpleClipper.SimpleClipper();

            var expected = new Path(new Point[]
            {
                new Point(0, 0),
                new Point(4, 0),
                new Point(4, 4),
                new Point(4, 6),
                new Point(4, 10),
                new Point(0, 10),
                new Point(0, 6),
                new Point(0, 4),
            });

            var union = sut.UnionPaths(pathA, pathB);

            CollectionAssert.AreEqual(expected.Points, union.Points);
        }
Exemple #4
0
        public void UnionTest7()
        {
            var sut = new SimpleClipper.SimpleClipper();

            var polygonA = new Polygon(new Path(
                                           new Point[]
            {
                new Point(0, 337),
                new Point(206, 340),
                new Point(210, 460),
                new Point(-4, 471),
            }
                                           ));

            var polygonB = new Polygon(new Path(
                                           new Point[]
            {
                new Point(3, 187),
                new Point(212, 187),
                new Point(209, 327),
                new Point(0, 321),
            }
                                           ));

            var polygonC = new Polygon(new Path(
                                           new Point[]
            {
                new Point(4, 0),
                new Point(213, 1),
                new Point(214, 171),
                new Point(2, 176),
            }
                                           ));

            /*var polygonA = new Polygon(new Path(
             *  new Point[]
             *  {
             *      new Point(1016, 443),
             *      new Point(1222, 446),
             *      new Point(1226, 566),
             *      new Point(1012, 577),
             *  }
             * ));
             *
             * var polygonB = new Polygon(new Path(
             *  new Point[]
             *  {
             *      new Point(1019, 293),
             *      new Point(1228, 293),
             *      new Point(1225, 433),
             *      new Point(1016, 427),
             *  }
             * ));
             *
             * var polygonC = new Polygon(new Path(
             *  new Point[]
             *  {
             *      new Point(1020, 106),
             *      new Point(1229, 107),
             *      new Point(1230, 277),
             *      new Point(1018, 282),
             *  }
             * ));
             *
             * var expectedPoints = new Point[]
             * {
             * };*/

            var union1 = sut.Union(polygonA, polygonB);

            Assert.AreEqual(1, union1.Count);

            var union2 = sut.Union(union1[0], polygonC);

            Assert.AreEqual(1, union2.Count);

            //CollectionAssert.AreEqual(expectedPoints, actual.Single().Paths.Single().Points);
        }