Boost logo

Geometry :

Subject: Re: [geometry] [copy_segments] copy_segments does not output spikes
From: Barend Gehrels (barend_at_[hidden])
Date: 2014-04-30 10:15:02


Hi Meneloas,

Menelaos Karavelas wrote On 30-4-2014 15:58:
> Hi all.
>
> I noticed that copy_segments in namespace detail::copy_segments (I am
> referring to the develop branch) does not output spikes of linear
> geometries. This particular free function is used in linear/areal set
> operations (in case you have not already spotted that). Is there a
> particular reasoning behind this behavior?

It is to avoid creating spikes in output of overlay operations
((multi)polygons). However, it has to be reconsidered, you might argue
that if the input has a spike which is not involved in an overlay, it
should be outputted too.

>
> My motivation is the following: I am using copy_segments and
> action_selector for implementing linear/linear set operations; there I
> want to support spikes of linear geometries, which means that the
> current code cannot be used as is.

Agreed.

>
> I have also extended the behavior of copy_segments and action_selector
> to allow for outputting spikes (by added a boolean template
> parameter). See the commits (in chronological order):
> *
> https://github.com/mkaravel/geometry/commit/65e111866945b8d7a3732f8b491d432143bd5a7c
>
> *
> https://github.com/mkaravel/geometry/commit/98e6dd3783ebb3b7758335da5ab195788b891bd7
>
> As of the second commit, the default behavior is backward compatible
> (so no breaks in existing code are expected).

Thanks, will be considered.

Regards, Barend


Geometry list run by mateusz at loskot.net