Merged up to and including change 74761

[SVN r74858]
This commit is contained in:
Barend Gehrels
2011-10-09 18:30:04 +00:00
parent b09438434d
commit a7d945dad2
101 changed files with 5659 additions and 1169 deletions

View File

@@ -58,6 +58,57 @@ void test_all()
// Hole: two intersecting holes
test_self_intersects<polygon>(
"POLYGON((0 0,0 4,4 4,4 0,0 0),(1 1,1 3,3 3,3 1,1 1),(2 2,2 3.5,3.5 3.5,3.5 2,2 2))", true);
// Mail Akira T on [Boost-users] at 27-7-2011 3:17
test_self_intersects<bg::model::linestring<P> >(
"LINESTRING(0 0,0 4,4 4,2 2,2 5)", true);
test_self_intersects<bg::model::linestring<P> >(
"LINESTRING(0 4,4 4,2 2,2 5)", true);
// Test self-intersections at last segment in close/open rings:
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,4 1,0 0))", false);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,3 3,4 1))", false);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,4 1,0 1,0 0))", true);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,3 3,4 1,0 1))", true);
// Duplicates in first or last
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,4 1,0 1,0 1,0 0))", true);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,4 1,0 1,0 0,0 0))", true);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,3 3,4 1,0 1,0 1))", true);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,0 0,3 3,4 1,0 1,0 1,0 0))", true);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,0 0,3 3,4 1,0 1,0 1))", true);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,3 3,4 1,0 1,0 1,0 0))", true);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,3 3,3 3,4 1,0 1,0 1))", true);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,4 1,0 0,0 0))", false);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,4 1,4 1,0 0))", false);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,3 3,4 1,4 1))", false);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,0 0,3 3,4 1,0 0))", false);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,0 0,3 3,4 1))", false);
test_self_intersects<bg::model::ring<P> >(
"POLYGON((0 0,3 3,3 3,4 1,0 0))", false);
test_self_intersects<bg::model::ring<P, true, false> >(
"POLYGON((0 0,3 3,3 3,4 1))", false);
}