Boost logo

Geometry :

Subject: Re: [geometry] How to repair self-intersections
From: Adam Wulkiewicz (adam.wulkiewicz_at_[hidden])
Date: 2014-04-29 07:31:48

Hi Yohann,

yohann.benedic wrote:
> Hi everyone,
> Any comments on my compilation problem below?
Thanks for a reminder.

> Thank you.
> Yohann Bénédic wrote
>> Hi Adam,
>> Following your suggestion to John, I am trying the dissolve algorithm to correct my non-simple polygons (ie. remove self intersections). I am using the one from the following branch:
>> Adam Wulkiewicz wrote
>>> ry/extensions/algorithms/dissolve.hpp
>> I am using boost/geometry 1.54 except for the dissolve.hpp file which comes from the branch.
>> I am trying to compile a simple example:
>> void test ()
>> {
>> typedef boost::geometry::model::d2::point_xy<double> boostPoint;
>> typedef boost::geometry::model::polygon< boostPoint > boostPolygon;
>> typedef boostPolygon::ring_type boostRing;
>> boostRing ring1,ring2;
>> boost::geometry::dissolve(ring1,ring2);
>> return;
>> }
>> The compiler complains that there is no apply member in boost::geometry::dispatch::dissolve. I also tried it with the rescale to interger branch with no luck.
>> Is there anything I can do about it?

Yes, pass std::vector<boostRing> as a second parameter instead of boostRing.

You should also know that the recent version of dissolve() from develop
branch should not compile properly with 1.54 because of this commit:
from 2013-12-05 so you should probably use some older version of dissolve().


Geometry list run by mateusz at