[Boost-bugs] [Boost C++ Libraries] #11899: boost::geometry::equals doesn't handle open polygons

Subject: [Boost-bugs] [Boost C++ Libraries] #11899: boost::geometry::equals doesn't handle open polygons
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-01-09 23:58:21


#11899: boost::geometry::equals doesn't handle open polygons
---------------------------------------------+----------------------
 Reporter: Bruno Deligny <bruno.deligny@…> | Owner: ljsimons
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: polygon
  Version: Boost 1.60.0 | Severity: Problem
 Keywords: polygon ring equals |
---------------------------------------------+----------------------
 That doesn't works:

 {{{
 typedef boost::geometry::model::d2::point_xy<int> P;
 boost::geometry::model::polygon<P, false, false> polygon1, polygon2;

 boost::geometry::append(polygon1, boost::make_tuple(-18,1));
 boost::geometry::append(polygon1, boost::make_tuple(-23,1));
 boost::geometry::append(polygon1, boost::make_tuple(-23,-3));
 boost::geometry::append(polygon1, boost::make_tuple(-18,-3));

 boost::geometry::append(polygon2, boost::make_tuple(-23,1));
 boost::geometry::append(polygon2, boost::make_tuple(-23,-3));
 boost::geometry::append(polygon2, boost::make_tuple(-18,-3));
 boost::geometry::append(polygon2, boost::make_tuple(-18,1));

 assert(boost::geometry::equals(polygon1, polygon2) == true);
 }}}

 But this works:
 {{{
 typedef boost::geometry::model::d2::point_xy<int> P;
 boost::geometry::model::polygon<P, false, true> polygon1, polygon2;

 boost::geometry::append(polygon1, boost::make_tuple(-18,1));
 boost::geometry::append(polygon1, boost::make_tuple(-23,1));
 boost::geometry::append(polygon1, boost::make_tuple(-23,-3));
 boost::geometry::append(polygon1, boost::make_tuple(-18,-3));
 boost::geometry::append(polygon1, boost::make_tuple(-18,1));

 boost::geometry::append(polygon2, boost::make_tuple(-23,1));
 boost::geometry::append(polygon2, boost::make_tuple(-23,-3));
 boost::geometry::append(polygon2, boost::make_tuple(-18,-3));
 boost::geometry::append(polygon2, boost::make_tuple(-18,1));
 boost::geometry::append(polygon2, boost::make_tuple(-23,1));

 assert(boost::geometry::equals(polygon1, polygon2) == true);
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/11899>
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:19 UTC