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