$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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.