Boost logo

Boost :

Subject: Re: [boost] [Review Request] Inclusion of the Boost.Polygon Voronoi Library
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2012-04-10 17:38:28


Andrii Sydorchuk wrote:
> Voronoi code doesn't depend on the Boost.Polygon library. The intention is
> to use those libraries side by side.

Well this is interesting. I've looked some more at your docs and I see
that you really haven't used e.g. Boost.Polygon's Point concept at
all. Instead you have your own concepts; IIUC, having read the "Basic
Tutorial" page, your Point concept requirement is

class Point {
public:
   Point();
   Point(int x, int y);

   int x() const;
   int y() const;
};

I thought a feature of Boost.Polygon was that the library's algorithms
were sufficiently generic that they could be adapted to work with any
user-supplied point type. This was supposed to make it possible to use
the library with "legacy" applications, at the cost of the library
itself needing to use a more verbose style i.e. get(p,HORIZONTAL)
rather than p.x.

So I'd be interested to know what has happened in this case. Is it
simply that the extra work to use the generic style is too much to ask
of the author? (At the time of the review, I had the impression that
this style was making life unreasonably difficult for potential library
contributors, but I think I was convinced by others that this was
worthwhile in order to get more uptake in existing code.) Or is there
some other factor that I've missed?

Anyway, it looks odd to call this the "Boost.Polygon Voronoi Library"
if it does not use the Boost.Polygon concepts. Comments anyone?

(At the very least, there should surely be the necessary registration /
specialisations so that a Boost.Polygon.Voronoi Point is a
Boost.Polygon Point!)

Regards, Phil.


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