mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-25 16:32:08 +00:00
[traverse] fix case where hole of one of the inputs formed a
disconnected interior (invalid). In the end it is fixed by only deleting code. This code is not really old but added to fix some cases, which are finally fixed in a more generic way. It fixes a new case and also enhances #case_141_multi
This commit is contained in:
@@ -1236,6 +1236,12 @@ static std::string case_recursive_boxes_80[2] =
|
||||
"MULTIPOLYGON(((1 1,1 2,2 1,1 1)),((3 2,3 3,4 3,3 2)))"
|
||||
};
|
||||
|
||||
static std::string case_recursive_boxes_81[2] =
|
||||
{
|
||||
"MULTIPOLYGON(((3 4,2 4,2 5,3 4)),((3 3,2 3,2 4,3 3)),((3 3,3 4,4 5,5 4,5 3,3 3),(4 4,3.5 3.5,4 3,4 4)),((2 1,2 0,1 0,1 1,0 1,1 2,3 2,4 3,4 1,2 1)))",
|
||||
"MULTIPOLYGON(((2 4,2 2,1 2,0 1,0 3,1 3,1 4,2 4)),((2 4,2 5,3 4,2 4)),((3 4,5 4,5 3,3 3,3 4)),((1 4,0 4,0 5,1 5,1 4)),((2 1,2 0,0 0,0 1,2 1)),((4 2,5 2,4 1,3 1,4 2)),((4 1,5 1,4 0,4 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)))",
|
||||
|
||||
@@ -168,7 +168,7 @@ void test_areal()
|
||||
|
||||
// TODO: isolated region with multiple connection should be handled
|
||||
// differently
|
||||
TEST_INTERSECTION_IGNORE(case_141_multi, 2, -1, 74.5);
|
||||
TEST_INTERSECTION_IGNORE(case_141_multi, 3, -1, 74.5);
|
||||
|
||||
#ifdef BOOST_GEOMETRY_INCLUDE_SELF_TURNS
|
||||
TEST_INTERSECTION(case_recursive_boxes_1, 10, 97, 47.0);
|
||||
@@ -355,6 +355,7 @@ void test_areal()
|
||||
TEST_INTERSECTION(case_recursive_boxes_78, 9, -1, 8.0);
|
||||
TEST_INTERSECTION(case_recursive_boxes_79, 5, -1, 9.0);
|
||||
TEST_INTERSECTION(case_recursive_boxes_80, 1, -1, 0.25);
|
||||
TEST_INTERSECTION(case_recursive_boxes_81, 5, -1, 3.75);
|
||||
|
||||
test_one<Polygon, MultiPolygon, MultiPolygon>("ggl_list_20120915_h2_a",
|
||||
ggl_list_20120915_h2[0], ggl_list_20120915_h2[1],
|
||||
|
||||
Reference in New Issue
Block a user