Hi Barend,


Thanks for taking the time. This is some original input from an actual use case (area chart) that occurred at one of our users. In theory, there are no spikes, but when floating point data is mapped to integral screen coordinates, it is easy to see that spikes can occur.


What is the current state of remove_spikes? If you recommend using the extension, I could give it a try. We are currently on boost 1.52. Would the extension work there, too, or do I have to update to a newer version first?






Volker Schöch | vschoech@think-cell.com
Senior Software Engineer

We are looking for C++ Developers: http://www.think-cell.com/career

think-cell Software GmbH http://www.think-cell.com
Chausseestr. 8/E phone / fax +49 30 666473-10 / -19
10115 Berlin, Germany US phone / fax +1 800 891 8091 / +1 212 504 3039
Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306
Directors: Dr. Markus Hannebauer, Dr. Arno Schödl

From: Geometry [mailto:geometry-bounces@lists.boost.org] On Behalf Of Barend Gehrels
Sent: Mittwoch, 16. Oktober 2013 16:14
To: Boost.Geometry library mailing list
Subject: Re: [geometry] "Boost.Geometry Overlay invalid input exception" in boost::geometry::sym_difference


Hi Volker,

Volker Schöch wrote On 16-10-2013 12:59:

Hi Barend,
Thank you very much for looking into this!
I will have a look. Is there a ticket for this? No problem if there is not, I will look today, just to know.
I did not yet file a ticket b/c if it's a known issue and/or resolved in 1.55, then I would just take your word for it and not clutter the bug database. If you think that it's an original issue that is not yet being worked on, I'll happily file a ticket.

The second polygon is not valid. It probably has a spike somewhere here:

If this polygon is generated using Boost.Geometry, this should be solved by 1.55 because we avoid generating spikes now, explicitly.

Otherwise we could remove the spike using remove_spikes (currently an extension), we can try to release that in 1.56

A third option is let the intersection process handle spikes correctly, but the results, and planning, of that are not yet sure.

Yes maybe it is good to file a ticket of this with this information.

Regards, Barend