
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.