
I welcome the Voronoi addition to Boost. Alas I've currently no time to dive into this contribution or take part in the discussion. I did look at the PNG of Phil and was quite impressed.
I am starting to think of rendering Voronoi diagram of 1 000 000 segments. Looks like such things are the best way to convince people :-). As a side note, would like to thank Phil for his image! I hope it will be made to work with Boost.Geometry too, in the future. I guess it would be possible to do that on top of the Voronoi builder API. Currently it is very simple and consists just of four methods: http://svn.boost.org/svn/boost/sandbox/gtl/doc/voronoi_builder.htm. However one of the limitations is that Voronoi operates with integer input coordinates. To clarify this is not restricted just to int32, but could be int128 or int1024 types provided by the user. The main point is that you can always scale and snap to the integer grid coordinates. But Andrii also indicated it is independant of it. It's independent in such a way that it could be used via Voronoi builder interface and that wouldn't include any heavy dependencies on Boost libraries (except boost/cstdint.hpp), such as MPL. On the other hand voronoi.hpp header provides static routines that allow to use Voronoi functionality with the full power of the Boost.Polygon concepts, thus making it easy to use with the user provided point/segment/polygon classes. Both libraries could also be used side by side, so users will only benefit from the inclusion. My main point for asking a review was to receive more feedback from the community. I've already got a few outstanding advices from Luke, Phil and other folks, thus considering this to be a good decision. Regards, Andrii