mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-13 12:32:09 +00:00
[relate][touches] Implement touches() for L/L and L/A using relate(), fix error in L/A.
Enable touches() for other pairs of Geometries. Implement ready-to-use in the implementations of relate() less comparators of operations. Change the less comparator for L/A. Fix: handling of the entry/interior for some turn with MultiID which comes before union for some other turn with different MultiID. Finish the support for boost::mpl::vector<> as a complex StaticMask.
This commit is contained in:
@@ -561,6 +561,10 @@ void test_linestring_polygon()
|
||||
test_geometry<ls, poly>("LINESTRING(2 10,5 10,5 5,6 5,5 10,8 10)", "POLYGON((0 0,0 10,10 10,10 0,0 0))",
|
||||
"11FF0F212");
|
||||
|
||||
// self-IP with a hole -> B to I to B to E
|
||||
test_geometry<ls, poly>("LINESTRING(0 0,3 3)", "POLYGON((0 0,0 10,10 10,10 0,0 0),(0 0,9 1,9 9,1 9,0 0))",
|
||||
"FF1F00212");
|
||||
|
||||
// ccw
|
||||
{
|
||||
typedef bg::model::polygon<P, false> ccwpoly;
|
||||
@@ -620,6 +624,18 @@ void test_linestring_multi_polygon()
|
||||
test_geometry<ls, mpoly>("LINESTRING(0 0,10 0,10 10,0 10,0 0)",
|
||||
"MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0)),((20 0,20 10,30 20,20 0)))",
|
||||
"F1FFFF212");
|
||||
|
||||
// self-IP polygon with a hole and second polygon with a hole -> B to I to B to B to I to B to E
|
||||
test_geometry<ls, mpoly>("LINESTRING(0 0,3 3)",
|
||||
"MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(0 0,9 1,9 9,1 9,0 0)),((0 0,2 8,8 8,8 2,0 0),(0 0,7 3,7 7,3 7,0 0)))",
|
||||
"FF1F00212");
|
||||
// self-IP polygon with a hole and second polygon -> B to I to B to B to I
|
||||
test_geometry<ls, mpoly>("LINESTRING(0 0,3 3)",
|
||||
"MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(0 0,9 1,9 9,1 9,0 0)),((0 0,2 8,8 8,8 2,0 0)))",
|
||||
"1FF00F212");
|
||||
test_geometry<ls, mpoly>("LINESTRING(0 0,3 3)",
|
||||
"MULTIPOLYGON(((0 0,2 8,8 8,8 2,0 0)),((0 0,0 10,10 10,10 0,0 0),(0 0,9 1,9 9,1 9,0 0)))",
|
||||
"1FF00F212");
|
||||
}
|
||||
|
||||
template <typename P>
|
||||
|
||||
Reference in New Issue
Block a user