Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78686 - in trunk/libs/geometry: doc test/multi/algorithms
From: barend.gehrels_at_[hidden]
Date: 2012-05-27 11:17:30


Author: barendgehrels
Date: 2012-05-27 11:17:29 EDT (Sun, 27 May 2012)
New Revision: 78686
URL: http://svn.boost.org/trac/boost/changeset/78686

Log:
[geometry] fixed disjoint (unit test) including release notes for this fix and older commits
Text files modified:
   trunk/libs/geometry/doc/release_notes.qbk | 4 ++++
   trunk/libs/geometry/test/multi/algorithms/multi_disjoint.cpp | 15 ++++++++++-----
   2 files changed, 14 insertions(+), 5 deletions(-)

Modified: trunk/libs/geometry/doc/release_notes.qbk
==============================================================================
--- trunk/libs/geometry/doc/release_notes.qbk (original)
+++ trunk/libs/geometry/doc/release_notes.qbk 2012-05-27 11:17:29 EDT (Sun, 27 May 2012)
@@ -20,6 +20,9 @@
 
 [*Bugfixes]
 * the return type of comparable projected point strategy for integer points was wrong (integer), fixed
+* several robustness issues in intersection of segments and polygons, fixed
+* invalid intersection output is filtered out
+* disjoint for multi_polygon's might incorrectly return true, fixed
 
 [*Solved tickets]
 
@@ -27,6 +30,7 @@
 * [@https://svn.boost.org/trac/boost/ticket/6584 6584] patch for bug in distance, applied
 * [@https://svn.boost.org/trac/boost/ticket/5730 5730] same issue as 6584, fixed
 * [@https://svn.boost.org/trac/boost/ticket/6166 6166] patch for missing transformation, applied
+* [@https://svn.boost.org/trac/boost/ticket/6696 6696] invalid intersection output, was (by chance) already fixed in Trunk before reported
 
 [*Additional functionality]
 

Modified: trunk/libs/geometry/test/multi/algorithms/multi_disjoint.cpp
==============================================================================
--- trunk/libs/geometry/test/multi/algorithms/multi_disjoint.cpp (original)
+++ trunk/libs/geometry/test/multi/algorithms/multi_disjoint.cpp 2012-05-27 11:17:29 EDT (Sun, 27 May 2012)
@@ -21,6 +21,7 @@
 #include <boost/geometry/multi/algorithms/detail/sections/range_by_section.hpp>
 #include <boost/geometry/multi/algorithms/detail/sections/sectionalize.hpp>
 #include <boost/geometry/multi/algorithms/detail/point_on_border.hpp>
+#include <boost/geometry/multi/algorithms/detail/for_each_range.hpp>
 #include <boost/geometry/multi/algorithms/within.hpp>
 #include <boost/geometry/multi/core/closure.hpp>
 #include <boost/geometry/multi/core/geometry_id.hpp>
@@ -87,11 +88,15 @@
         false);
 
     // Not disjoint and not inside each other (in first ring) but wrapped (in second rings)
- // TODO: fix this case
- //test_disjoint<mp, mp>("no_ips2",
- // "MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2)),((20 0,20 10,30 10,30 0,20 0)))",
- // "MULTIPOLYGON(((2 12,2 18,8 18,8 12,2 12)),((22 2,28 2,28 8,22 8,22 2)))",
- // false);
+ test_disjoint<mp, mp>("no_ips2",
+ "MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2)),((20 0,20 10,30 10,30 0,20 0)))",
+ "MULTIPOLYGON(((2 12,2 18,8 18,8 12,2 12)),((22 2,28 2,28 8,22 8,22 2)))",
+ false);
+
+ test_disjoint<mp, mp>("no_ips2_rev",
+ "MULTIPOLYGON(((2 12,2 18,8 18,8 12,2 12)),((22 2,28 2,28 8,22 8,22 2)))",
+ "MULTIPOLYGON(((2 2,2 8,8 8,8 2,2 2)),((20 0,20 10,30 10,30 0,20 0)))",
+ false);
 }
 
 int test_main(int, char* [])


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk