Re: [Boost-bugs] [Boost C++ Libraries] #6063: resize does not offset rectangles (etc.) correctly or crashes

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #6063: resize does not offset rectangles (etc.) correctly or crashes
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-11-21 20:37:15


#6063: resize does not offset rectangles (etc.) correctly or crashes
-------------------------------+------------------------
  Reporter: dbfaken@… | Owner: asydorchuk
      Type: Bugs | Status: assigned
 Milestone: To Be Determined | Component: polygon
   Version: Boost 1.47.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+------------------------

Comment (by asydorchuk):

 dbfaken@ I'd like to thank you for the patches you provided, unfortunately
 the problem with resize is deeper than it looks, the current approach is
 basically wrong (numerically and topologically). Without going much into
 details, the steps to fix the current implementation are the
 following:[[BR]]
 1) The proper implementation for the resize with corner_fill_arc set to
 false should be based on the straight skeleton extraction.[[BR]]
 2) The proper implementation for the resize with corner_fill_arc set to
 true should be based on the Voronoi diagram extraction. Fortunately
 Polygon already has robust implementation of Voronoi diagram extraction.
 However it's not philosophically compatible with the legacy Polygon code
 (step 3 explains why).[[BR]]
 3) Most of the algorithms operating on polygons should accept only
 integral coordinates (this is already sort of true), however they should
 return polygons or primitives with floating-point coordinates. It should
 be the user decision to do the snap and rounding and the library should
 provide the utilities to do so.[[BR]]
 [[BR]]
 I am still evaluating work to be done to fix the step 3. I will also
 update the documentation for the next release to clarify that resize
 implementation is broken.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6063#comment:13>
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:14 UTC