Hi Barend,

I really appreciate your example code, it helped me a lot. Attached you can find my source code.
In my implementation of the anisotropic buffering I didn't know how to make use of the distance strategy, as it was possible to make it work using only side and join strategies.
I encountered strange behavior when changing number of points describing a full circle. Using 360 points produced a good output, whereas 90 points caused only the second polygon to be buffered (see attached figures). I would be thankful if you could help me to resolve this issue as well as for any remarks to my code.

Best,
Grzegorz


2014-10-29 23:18 GMT+01:00 Barend Gehrels [via Boost] <[hidden email]>:
Hi Grzegorz,


gchlebus wrote On 24-10-2014 16:44:

> Hi,
>
> I am wondering whether it would be possible to achieve anisotropic buffering
> (distances in neg x, pos x, neg y, pos y can have different values) of a
> polygon using the buffer function with custom-implemented distance strategy.
> What I want to achieve is presented on the figure 2-b in the following
> paper:
> http://itcnt05.itc.nl/agile_old/Conference/mallorca2002/proceedings/posters/p_molina.pdf
>
> I would be grateful to hear from you whether it is doable, and if positive,
> how one could implement such a custom distance strategy.
The current distance strategy has (currently) no means to get the angle,
or a vector of the new point to be buffered. We can consider adding that.

However, by writing custom strategies for join, side, point (for
point-buffers) and possibly end (for line-buffers) you should be able to
create this, because these have this information.

Attached a program doing similar things with polygons and points (I vary
the distance based on angle - you will have to do something with your
anistropic model).

The output is also attached.

The program defines three custom strategies, all based on the same
mechanism, to create interesting output.
I did not do the end-strategy but that would look similar, you can look
at the provided end-strategy (round) and apply the same function.

Regards, Barend


_______________________________________________
Boost-users mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-users

buffer_point_circle.cpp (6K) Download Attachment
bufferpol.svg (10K) Download Attachment
buffer.svg (16K) Download Attachment



If you reply to this email, your message will be added to the discussion below:
http://boost.2283326.n4.nabble.com/boost-geometry-buffer-distance-strategies-tp4668469p4668567.html
To unsubscribe from [boost.geometry] buffer distance strategies, click here.
NAML


main.cpp (9K) Download Attachment
bufferpol_90PointsFullCircle.svg (2K) Download Attachment
bufferpol_360PointsFullCircle.svg (9K) Download Attachment


View this message in context: Re: [boost.geometry] buffer distance strategies
Sent from the Boost - Users mailing list archive at Nabble.com.