[union] same solution as for intersection should be applied for union,
but not in case of uu or similar
This commit is contained in:
parent
7d3d0dd69f
commit
588d102b19
@ -283,7 +283,7 @@ struct traversal
|
||||
return false;
|
||||
}
|
||||
|
||||
if (! is_union && ranked_op.visited.finalized())
|
||||
if (! allow_pass_rank && ranked_op.visited.finalized())
|
||||
{
|
||||
// Skip this one, go to next
|
||||
min_rank = ranked_point.main_rank;
|
||||
|
@ -655,6 +655,13 @@ static std::string case_recursive_boxes_36[2] =
|
||||
"MULTIPOLYGON(((4 2,4 3,5 3,5 2,4 2)),((4 2,4 1,3 1,3 2,4 2)))"
|
||||
};
|
||||
|
||||
static std::string case_recursive_boxes_37[2] =
|
||||
{
|
||||
// Requires skipping arc for union too, to avoid duplicate hole
|
||||
"MULTIPOLYGON(((4 0,5 1,5 0,4 0)),((2 0,3 1,3 0,2 0)),((2 3,2 2,1 2,1 3,2 3)),((2 1,2 2,4 2,3 1,2 1)))",
|
||||
"MULTIPOLYGON(((2 3,1 2,1 3,2 3)),((3 1,3.5 0.5,4 1,3 1,4 2,4 3,5 3,5 0,3 0,3 1)),((3 1,2 0,2 1,3 1)))"
|
||||
};
|
||||
|
||||
static std::string pie_21_7_21_0_3[2] =
|
||||
{
|
||||
"MULTIPOLYGON(((2500 2500,2500 3875,2855 3828,3187 3690,3472 3472,3690 3187,3828 2855,3875 2500,3828 2144,3690 1812,3472 1527,3187 1309,2855 1171,2499 1125,2144 1171,1812 1309,1527 1527,1309 1812,1171 2144,1125 2499,1171 2855,1309 3187,2500 2500)))",
|
||||
|
@ -234,6 +234,9 @@ void test_areal()
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_36",
|
||||
case_recursive_boxes_36[0], case_recursive_boxes_36[1],
|
||||
1, 0, 0.5);
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_37",
|
||||
case_recursive_boxes_37[0], case_recursive_boxes_37[1],
|
||||
2, 0, 1.0);
|
||||
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("ggl_list_20120915_h2_a",
|
||||
ggl_list_20120915_h2[0], ggl_list_20120915_h2[1],
|
||||
|
@ -227,6 +227,9 @@ void test_areal()
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_36",
|
||||
case_recursive_boxes_36[0], case_recursive_boxes_36[1],
|
||||
3, 0, -1, 3.0);
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("case_recursive_boxes_37",
|
||||
case_recursive_boxes_37[0], case_recursive_boxes_37[1],
|
||||
2, 1, -1, 7.75);
|
||||
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("ggl_list_20120915_h2_a",
|
||||
ggl_list_20120915_h2[0], ggl_list_20120915_h2[1],
|
||||
|
Loading…
Reference in New Issue
Block a user