コード例 #1
0
        public void tryUnion(S2Polygon a, S2Polygon b)
        {
            var union = new S2Polygon();

            union.InitToUnion(a, b);

            var polygons = new List <S2Polygon>();

            polygons.Add(new S2Polygon(a));
            polygons.Add(new S2Polygon(b));
            var destructiveUnion = S2Polygon.DestructiveUnion(polygons);

            checkEqual(union, destructiveUnion);
        }
コード例 #2
0
        public void testDisjoint()
        {
            var builder = new S2PolygonBuilder(S2PolygonBuilderOptions.UndirectedXor);

            builder.AddPolygon(adj0);
            builder.AddPolygon(unAdj);
            var ab = new S2Polygon();

            assertTrue(builder.AssemblePolygon(ab, null));

            var union = new S2Polygon();

            union.InitToUnion(adj0, unAdj);
            assertEquals(2, union.NumLoops);

            checkEqual(ab, union);
            tryUnion(adj0, unAdj);
        }
コード例 #3
0
        public void testDisjoint()
        {
            var builder = new S2PolygonBuilder(S2PolygonBuilderOptions.UndirectedXor);
            builder.AddPolygon(adj0);
            builder.AddPolygon(unAdj);
            var ab = new S2Polygon();
            assertTrue(builder.AssemblePolygon(ab, null));

            var union = new S2Polygon();
            union.InitToUnion(adj0, unAdj);
            assertEquals(2, union.NumLoops);

            checkEqual(ab, union);
            tryUnion(adj0, unAdj);
        }
コード例 #4
0
        public void tryUnion(S2Polygon a, S2Polygon b)
        {
            var union = new S2Polygon();
            union.InitToUnion(a, b);

            var polygons = new List<S2Polygon>();
            polygons.Add(new S2Polygon(a));
            polygons.Add(new S2Polygon(b));
            var destructiveUnion = S2Polygon.DestructiveUnion(polygons);

            checkEqual(union, destructiveUnion);
        }