Boost logo

Boost :

Subject: Re: [boost] [Review Request] Inclusion of the Boost.Polygon Voronoi Library
From: Andrii Sydorchuk (sydorchuk.andriy_at_[hidden])
Date: 2012-04-13 15:13:22


>
> It does seem to create a triangulation as you can see here:
> http://chezphil.org/tmp/delaunay.png

Nice! I spend a lot of time to decouple voronoi_builder and voronoi_diagram
data structures. Now you can see benefits of that.

- Again you're using void* in here, which doesn't look great. Is this just
> to break circular references, or something? Why can't you use the actual
> types?

Correct, those are required to keep builder and output data structure
decoupled. Basically builder doesn't know anything about output.

- Your "builder" class, which just forwards to the other class, doesn't
> seem very useful to me. I can see the idea - you're breaking the
> "lifecycle" of the object into a "build" phase and then a "use" phase -
> but I think there are probably better ways to do it if it's worth doing
> at all.

The main point was to hide construction methods from the user. I was
considering to split voronoi_diagram onto two classes: voronoi_diagram
itself and voronoi_diagram_builder. But ended with a Java-like
implementation and I actually like it.

Anyway, I think you potentially have something very useful here. Thanks!

Glad to hear! The library was designed in such a way that each entity is
independent and could be substituted by the user provided implementation.
This includes: coordinate types, predicates, algorithm itself, output data
structures.

Regards,
Andrii


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk