[Boost-bugs] [Boost C++ Libraries] #11236: Result change in geometry::centroid between version 1.53 and 1.58

Subject: [Boost-bugs] [Boost C++ Libraries] #11236: Result change in geometry::centroid between version 1.53 and 1.58
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-04-24 14:34:23


#11236: Result change in geometry::centroid between version 1.53 and 1.58
-------------------------------------------------+-------------------------
 Reporter: Eric Noirfalise <eric.noirfalise@…> | Owner:
     Type: Bugs | barendgehrels
Milestone: To Be Determined | Status: new
  Version: Boost 1.58.0 | Component: geometry
 Keywords: | Severity: Regression
-------------------------------------------------+-------------------------
 Dear All,

 I'm having a result change issue in geometry::centroid between boost
 version
 1.53 and 1.58 when I use input polygon composed of integer points and an
 output
 double point.

 Here is my code :

 #include <boost/geometry.hpp>
 #include <boost/geometry/geometries/point_xy.hpp>
 #include <boost/geometry/geometries/polygon.hpp>


 int main()
 {
      typedef boost::geometry::model::d2::point_xy<int> PointInt;
      typedef boost::geometry::model::d2::point_xy<double> PointDouble;
      typedef boost::geometry::model::polygon<PointInt> polygon_type;

      polygon_type poly;
      boost::geometry::read_wkt(
          "POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))", poly);

      PointDouble p;
      typedef
 boost::geometry::strategy::centroid::bashein_detmer<PointDouble,
 PointInt, double> Strategy;
      boost::geometry::centroid(poly, p, Strategy());

      std::cout << "centroid: " << boost::geometry::dsv(p) << std::endl;

      return 0;
 }

 The result for boost 1.53 (which seems good for me) :
 centroid: (1.5, 1.5)

 And the result for boost 1.58 (which seems wrong for me) :
 centroid: (1, 1)
 I can also see new warnings during compilation with version 1.58.

 Regards

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11236>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:18 UTC