Boost logo

Boost Users :

Subject: Re: [Boost-users] [Geometry] please help; using buffer() extensions
From: Barend Gehrels (barend_at_[hidden])
Date: 2013-02-27 09:12:12


Hi John,

On 25-2-2013 20:38, John Lilley wrote:
>
> (sorry another post; someone told me to put [library name] in [] in
> subject... learning something new every day J
>
> Something of a repost, but I've learned a bit more on the path to
> being truly confused. It appears that
> boost\geometry\extensions\algorithms\buffer\buffer_inserter.hpp
> contains some specializations for buffering other shape types? But
> I'm out of my depth here... is there an example?
>

Not in the examples folder or the docs, but the test contains lots of
examples. Well, they all do the same thing, so what is done is this:

     join_miter
         <
             point_type,
             typename bg::point_type<GeometryOut>::type
> join_strategy;

     typedef bg::strategy::buffer::distance_assymetric<double>
distance_strategy_type;
     distance_strategy_type distance_strategy(distance_left,
distance_right);
     std::vector<GeometryOut> buffered;
     bg::buffer_inserter<GeometryOut>(geometry,
std::back_inserter(buffered),
                         distance_strategy,
                         join_strategy);

> What do I need to do in order to buffer:
>
> a point?
>

Not possible yet.

> A linestring?
>

See above.

> A vector of polygons?
>

If you mean a multipolygon: see above.

> A heterogeneous collections of shapes?
>

Not possible yet.

> Is this generalization of buffer also going to work as a "deflate" for
> polygons?
>

Yes, the distance may be positive and negative. A negative distance will
result in a deflate.

> If someone can tell me "include these headers, use these algorithms",
> it will help a lot!
>

I'll try to come with a more up to date example, now that the buffer is
a hot topic again.

Regards, Barend



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net