Boost C++ Libraries: Ticket #5358: polygon resize() generates bad/broken vertices https://svn.boost.org/trac10/ticket/5358 <p> boost::polygon::resize() (and its variants: shrink()/bloat()/operator+(), etc...) routinely produces "bad" vertices in the output stream. Most of the shrunken polygon is correct, but a handful of vertices seem to be replaced with visually random locations. </p> <p> The attached code (which has non-trivial input data, but not so complicated that it can't be inspected by hand) shows the problem pretty clearly. The "before" polygon (image attached) looks good, the "after" shrunken version is mostly correct with some oddball excursions. </p> <p> Setting corner_fill_arc to true suppresses this behavior, and the output polygon looks more correct (though obviously the output is different). That, however, has some severe performance problems (to be detailed in a separate bug) and isn't an acceptable substitute. </p> <p> This is a showstopper for me right now. Test vs. svn as of submission date. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5358 Trac 1.4.3 Andy Ross <andy@…> Wed, 23 Mar 2011 03:34:19 GMT attachment set https://svn.boost.org/trac10/ticket/5358 https://svn.boost.org/trac10/ticket/5358 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">shrinkbug.cpp</span> </li> </ul> <p> Code to exercise bug (and also generate attached images) </p> Ticket Andy Ross <andy@…> Wed, 23 Mar 2011 03:35:22 GMT attachment set https://svn.boost.org/trac10/ticket/5358 https://svn.boost.org/trac10/ticket/5358 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">before.png</span> </li> </ul> <p> pre-shrink polygon </p> Ticket Andy Ross <andy@…> Wed, 23 Mar 2011 03:36:19 GMT attachment set https://svn.boost.org/trac10/ticket/5358 https://svn.boost.org/trac10/ticket/5358 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">after.png</span> </li> </ul> <p> post-shrink polygon, with bad vertices </p> Ticket Lucanus Simonson Thu, 24 Mar 2011 06:44:30 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/5358#comment:1 https://svn.boost.org/trac10/ticket/5358#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">invalid</span> </li> </ul> <p> Very small features before shrinking can become very large after if the angle is accute. That is what happened in this case. </p> Ticket