[Boost-bugs] [Boost C++ Libraries] #6078: bug in polygon::resize

Subject: [Boost-bugs] [Boost C++ Libraries] #6078: bug in polygon::resize
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-11-01 10:22:02


#6078: bug in polygon::resize
-------------------------------------------+--------------------------------
 Reporter: Jay Huang <yhuangza@…> | Owner: ljsimons
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: polygon
  Version: Boost 1.47.0 | Severity: Problem
 Keywords: polygon resize |
-------------------------------------------+--------------------------------
 Hi,

   I found two bug in polygonset::resize() as follows,

   //bug1
     std::vector<Point> pts;
     Polygon poly;
     PolygonSet polySet, polySetResult;

     pts.clear();
     pts.push_back(Point( 6300, 0));
     pts.push_back(Point( 0, 0));
     pts.push_back(Point( 0, 4750));
     pts.push_back(Point( 1250, 6000));
     pts.push_back(Point( 1250, 7500));
     pts.push_back(Point( 2850, 7500));
     pts.push_back(Point( 2850, 5950));
     pts.push_back(Point( 5950, 5950));
     pts.push_back(Point( 5950, 5750));
     pts.push_back(Point( 6300, 5400));

     boost::polygon::set_points(poly, pts.begin(), pts.end());

     polySet += poly;
     polySetResult += polySet-1000;

   //bug2
     std::vector<Point> pts2;
     Polygon poly2;
     PolygonSet polySet2, polySetResult2;

     pts2.clear();
     pts2.push_back(Point(2100, 2575));
     pts2.push_back(Point(1700, 2575));
     pts2.push_back(Point(1700, 2365));
     pts2.push_back(Point(1800, 2265));
     pts2.push_back(Point(1835, 2265));
     pts2.push_back(Point(1835, 1945));
     pts2.push_back(Point(1645, 1945));
     pts2.push_back(Point(1645, 2305));
     pts2.push_back(Point(1440, 2305));
     pts2.push_back(Point(1440, 2790));
     pts2.push_back(Point(1145, 2790));
     pts2.push_back(Point(1145, 1805));
     pts2.push_back(Point(2100, 1805));

     boost::polygon::set_points(poly2, pts2.begin(), pts2.end());

     polySet2 += poly2;
     polySetResult2 += polySet2+100;

   For bug one,
     current result : { 1000 4336, 1000 1000, 5300 1000, 5300 4986, 4950
 5336, 4950 4950, 1850 4950, 1850 5186}
     correct result : { 1000 4336, 1000 1000, 5300 1000, 5300 4950, 1850
 4950, 1850 5186}

   For bug two, the result is a polygon with hole. However, I think there
 shall be no hole in the result.

   Please check and thanks for your help.

 Regards,
 Jay Huang

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