Subject: Re: [boost] Geometry and spatial indexes, my opinion
From: Barend Gehrels (barend_at_[hidden])
Date: 2008-10-08 04:13:49
Thanks for your interest in the geometry / spatial index library.
There were also some other postings about this library last week, but to
be clear. The preview (on which the spatial index was built) was posted
in March this year. There were many discussions about this preview,
among others about dimension agnosticity and concepts. Bruno Lalande
joined me. We agree with those critics and have reworked the library,
which indeed took a while, but which will now appear very soon on this
list. It is dimension agnostic and uses concepts.
> For starters, I think those libraries should be dimension agnostic and
> generic. Geometry not only has a strong 2D bias, but the documentation
> also says geometry::box only works with point_xy (and point_ll). Since
> it is used everywhere in spatial index, that means it's unusable on 3D.
The box in the library was just a small helper class. It is indeed more
important in the spatial index library and should be generic, indeed.
However, the restriction for just xy / ll points is gone, it can take 3d
points now, for example. Points (point concepts) are now dimension
agnostic and generic in our library.
I will not go into the details of your comments on the spatial index
library, but keep in mind that it was a GSoC exercise and that the
author, who did a great job, noted with his final report:
(paste of his email):
> The code is still beta (or maybe alpha) and not recommended for
> production use because it is still not tested enough, but if you want
> to check the actual status you can find it in the following location...
> About geometry, I think there should be more basic objects.
> While it is true polygons and multipolygons (polyhedrons) are enough
> to represent everything in 3D space, having rays, segments, triangles,
> quads, circles, spheres, squares, rectangles, cubes, cuboids (boxes),
> planes, half-planes and more, with ability to compute all
> intersections and distances, would be the most practical thing for 3D
> I do not know how to organize this in a really dimension-agnostic
> manner, however.
> In a nutshell, I think the spatial indexes design and how geometry can
> help it ought to be discussed.
You're probably right that there should be more objects. Especially
3D/gaming geometry is quite demanding. We still concentrate on the
basics, "point", the concepts, most discussions on the list are about
those basics. Besides objects there should also be more algorithms.
A "complete" geometry library, designed for all purposes, will be huge.
To build it in a generic way, where every boost user believes in and
agrees with, is challenging and will need much discussion. So agree, it
ought to be discussed.
Within a week or so a new preview (Preview 3) from our side should be there.
Barend, Geodan, Amsterdam, the Netherlands
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk