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