Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78852 - in branches/release: boost/geometry boost/geometry/algorithms boost/geometry/algorithms/detail boost/geometry/algorithms/detail/overlay boost/geometry/arithmetic boost/geometry/core boost/geometry/geometries boost/geometry/io boost/geometry/io/dsv boost/geometry/iterators boost/geometry/multi boost/geometry/policies boost/geometry/strategies boost/geometry/util boost/geometry/views libs/geometry/doc libs/geometry/doc/concept libs/geometry/doc/doxy libs/geometry/doc/generated libs/geometry/doc/html libs/geometry/doc/reference libs/geometry/doc/src libs/geometry/example libs/geometry/test libs/geometry/test/algorithms
From: barend.gehrels_at_[hidden]
Date: 2012-06-07 14:43:45


Author: barendgehrels
Date: 2012-06-07 14:43:44 EDT (Thu, 07 Jun 2012)
New Revision: 78852
URL: http://svn.boost.org/trac/boost/changeset/78852

Log:
[geometry] merged revision 78724 thru 7880 w.r.t. bugfixes
Properties modified:
   branches/release/boost/geometry/algorithms/ (props changed)
   branches/release/boost/geometry/arithmetic/ (props changed)
   branches/release/boost/geometry/core/ (props changed)
   branches/release/boost/geometry/geometries/ (props changed)
   branches/release/boost/geometry/geometry.hpp (props changed)
   branches/release/boost/geometry/io/ (props changed)
   branches/release/boost/geometry/io/dsv/ (props changed)
   branches/release/boost/geometry/iterators/ (props changed)
   branches/release/boost/geometry/multi/ (props changed)
   branches/release/boost/geometry/policies/ (props changed)
   branches/release/boost/geometry/strategies/ (props changed)
   branches/release/boost/geometry/util/ (props changed)
   branches/release/boost/geometry/views/ (props changed)
   branches/release/libs/geometry/doc/ (props changed)
   branches/release/libs/geometry/doc/Jamfile.v2 (props changed)
   branches/release/libs/geometry/doc/about_documentation.qbk (props changed)
   branches/release/libs/geometry/doc/acknowledgments.qbk (props changed)
   branches/release/libs/geometry/doc/concept/ (props changed)
   branches/release/libs/geometry/doc/copyright_note_policy.txt (props changed)
   branches/release/libs/geometry/doc/design_rationale.qbk (props changed)
   branches/release/libs/geometry/doc/doxy/ (props changed)
   branches/release/libs/geometry/doc/generated/ (props changed)
   branches/release/libs/geometry/doc/geometry.qbk (props changed)
   branches/release/libs/geometry/doc/html/ (props changed)
   branches/release/libs/geometry/doc/imports.qbk (props changed)
   branches/release/libs/geometry/doc/introduction.qbk (props changed)
   branches/release/libs/geometry/doc/make_qbk.py (props changed)
   branches/release/libs/geometry/doc/matrix.qbk (props changed)
   branches/release/libs/geometry/doc/quickref.xml (props changed)
   branches/release/libs/geometry/doc/quickstart.qbk (props changed)
   branches/release/libs/geometry/doc/readme.txt (props changed)
   branches/release/libs/geometry/doc/reference/ (props changed)
   branches/release/libs/geometry/doc/reference.qbk (props changed)
   branches/release/libs/geometry/doc/release_notes.qbk (props changed)
   branches/release/libs/geometry/doc/src/ (props changed)
   branches/release/libs/geometry/example/ (props changed)
   branches/release/libs/geometry/test/ (props changed)
Text files modified:
   branches/release/boost/geometry/algorithms/detail/overlay/get_turns.hpp | 13 ++++++++++---
   branches/release/boost/geometry/algorithms/detail/overlay/overlay.hpp | 2 +-
   branches/release/boost/geometry/algorithms/detail/point_on_border.hpp | 9 ++++++---
   branches/release/libs/geometry/doc/html/index.html | 12 ++++++------
   branches/release/libs/geometry/test/algorithms/disjoint.cpp | 9 +++++++++
   5 files changed, 32 insertions(+), 13 deletions(-)

Modified: branches/release/boost/geometry/algorithms/detail/overlay/get_turns.hpp
==============================================================================
--- branches/release/boost/geometry/algorithms/detail/overlay/get_turns.hpp (original)
+++ branches/release/boost/geometry/algorithms/detail/overlay/get_turns.hpp 2012-06-07 14:43:44 EDT (Thu, 07 Jun 2012)
@@ -495,7 +495,7 @@
                 int source_id1, Range const& range,
                 int source_id2, Box const& box,
                 Turns& turns,
- InterruptPolicy& ,
+ InterruptPolicy& interrupt_policy,
                 int multi_index = -1, int ring_index = -1)
     {
         if (boost::size(range) <= 1)
@@ -557,7 +557,7 @@
                 get_turns_with_box(seg_id, source_id2,
                         *prev, *it, *next,
                         bp[0], bp[1], bp[2], bp[3],
- turns);
+ turns, interrupt_policy);
                 // Future performance enhancement:
                 // return if told by the interrupt policy
             }
@@ -596,7 +596,8 @@
             box_point_type const& bp2,
             box_point_type const& bp3,
             // Output
- Turns& turns)
+ Turns& turns,
+ InterruptPolicy& interrupt_policy)
     {
         // Depending on code some relations can be left out
 
@@ -622,6 +623,12 @@
         ti.operations[1].seg_id = segment_identifier(source_id2, -1, -1, 3);
         TurnPolicy::apply(rp0, rp1, rp2, bp3, bp0, bp1,
                 ti, std::back_inserter(turns));
+
+ if (InterruptPolicy::enabled)
+ {
+ interrupt_policy.apply(turns);
+ }
+
     }
 
 };

Modified: branches/release/boost/geometry/algorithms/detail/overlay/overlay.hpp
==============================================================================
--- branches/release/boost/geometry/algorithms/detail/overlay/overlay.hpp (original)
+++ branches/release/boost/geometry/algorithms/detail/overlay/overlay.hpp 2012-06-07 14:43:44 EDT (Thu, 07 Jun 2012)
@@ -233,7 +233,7 @@
         std::cout << "map_turns: " << timer.elapsed() << std::endl;
 #endif
 
- typedef ring_properties<typename geometry::point_type<Geometry1>::type> properties;
+ typedef ring_properties<typename geometry::point_type<GeometryOut>::type> properties;
 
         std::map<ring_identifier, properties> selected;
         select_rings<Direction>(geometry1, geometry2, map, selected, ! turn_points.empty());

Modified: branches/release/boost/geometry/algorithms/detail/point_on_border.hpp
==============================================================================
--- branches/release/boost/geometry/algorithms/detail/point_on_border.hpp (original)
+++ branches/release/boost/geometry/algorithms/detail/point_on_border.hpp 2012-06-07 14:43:44 EDT (Thu, 07 Jun 2012)
@@ -25,6 +25,7 @@
 #include <boost/geometry/geometries/concepts/check.hpp>
 
 #include <boost/geometry/algorithms/assign.hpp>
+#include <boost/geometry/algorithms/detail/convert_point_to_point.hpp>
 #include <boost/geometry/algorithms/detail/disjoint.hpp>
 
 
@@ -50,7 +51,8 @@
 template<typename Point, std::size_t Dimension, std::size_t DimensionCount>
 struct midpoint_helper
 {
- static inline bool apply(Point& p, Point const& p1, Point const& p2)
+ template <typename InputPoint>
+ static inline bool apply(Point& p, InputPoint const& p1, InputPoint const& p2)
     {
         typename coordinate_type<Point>::type const two = 2;
         set<Dimension>(p,
@@ -63,7 +65,8 @@
 template <typename Point, std::size_t DimensionCount>
 struct midpoint_helper<Point, DimensionCount, DimensionCount>
 {
- static inline bool apply(Point& , Point const& , Point const& )
+ template <typename InputPoint>
+ static inline bool apply(Point& , InputPoint const& , InputPoint const& )
     {
         return true;
     }
@@ -102,7 +105,7 @@
 
         if (n > 0)
         {
- point = *boost::begin(range);
+ geometry::detail::conversion::convert_point_to_point(*boost::begin(range), point);
             return true;
         }
         return false;

Modified: branches/release/libs/geometry/doc/html/index.html
==============================================================================
--- branches/release/libs/geometry/doc/html/index.html (original)
+++ branches/release/libs/geometry/doc/html/index.html 2012-06-07 14:43:44 EDT (Thu, 07 Jun 2012)
@@ -34,7 +34,7 @@
 <div><p class="copyright">Copyright &#169; 2009-2012 Barend
       Gehrels, Bruno Lalande, Mateusz Loskot</p></div>
 <div><div class="legalnotice">
-<a name="id792816"></a><p>
+<a name="id534051"></a><p>
         Distributed under the Boost Software License, Version 1.0. (See accompanying
         file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
       </p>
@@ -89,24 +89,24 @@
         Alfredo Correa (adaption of Boost.Array)
       </li>
 <li class="listitem">
- Adam Wulkiewicz (spatial indexes) <sup>[<a name="id823824" href="#ftn.id823824" class="footnote">1</a>]</sup>
+ Adam Wulkiewicz (spatial indexes) <sup>[<a name="id565059" href="#ftn.id565059" class="footnote">1</a>]</sup>
       </li>
 <li class="listitem">
- Federico Fern&#225;ndez (spatial indexes) <sup>[<a name="id823837" href="#ftn.id823837" class="footnote">2</a>]</sup>
+ Federico Fern&#225;ndez (spatial indexes) <sup>[<a name="id565072" href="#ftn.id565072" class="footnote">2</a>]</sup>
       </li>
 </ul></div>
 <div class="footnotes">
 <br><hr width="100" align="left">
-<div class="footnote"><p><sup>[<a name="ftn.id823824" href="#id823824" class="para">1</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id565059" href="#id565059" class="para">1</a>] </sup>
           Currently an extension
         </p></div>
-<div class="footnote"><p><sup>[<a name="ftn.id823837" href="#id823837" class="para">2</a>] </sup>
+<div class="footnote"><p><sup>[<a name="ftn.id565072" href="#id565072" class="para">2</a>] </sup>
           Currently an extension
         </p></div>
 </div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: February 12, 2012 at 17:59:04 GMT</small></p></td>
+<td align="left"><p><small>Last revised: May 28, 2012 at 16:44:23 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/release/libs/geometry/test/algorithms/disjoint.cpp
==============================================================================
--- branches/release/libs/geometry/test/algorithms/disjoint.cpp (original)
+++ branches/release/libs/geometry/test/algorithms/disjoint.cpp 2012-06-07 14:43:44 EDT (Thu, 07 Jun 2012)
@@ -119,6 +119,15 @@
     test_disjoint<ls, ls>("ls/ls co-e", "linestring(0 0,1 1)", "linestring(1 1,0 0)", false);
 
 
+ // Problem described by Volker/Albert 2012-06-01
+ test_disjoint<polygon, box>("volker_albert_1",
+ "POLYGON((1992 3240,1992 1440,3792 1800,3792 3240,1992 3240))",
+ "BOX(1941 2066, 2055 2166)", false);
+
+ test_disjoint<polygon, box>("volker_albert_2",
+ "POLYGON((1941 2066,2055 2066,2055 2166,1941 2166))",
+ "BOX(1941 2066, 2055 2166)", false);
+
     // Degenerate linestrings
     {
         // Submitted by Zachary on the Boost.Geometry Mailing List, on 2012-01-29


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