Subject: Re: [boost] Proposal/InterestCheck: Boost.Geom
From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2009-01-26 12:16:49
Anis Benyelloul wrote:
> Boost.Geom purpose is to provide a unified, zero-cost and pretty interface
> around existing geometric primitive implementations (for now only points and
> rectangles in 2D and 3D).
Some quick thoughts:
- Thank you for writing some documentation. I found the link
unreliable at first but I was able to see the docs eventually. If
anyone else failed to connect to the server I suggest trying again.
- Perhaps you would like to compare and contrast your library vs. all
the other proposals.
- As far as I can see, you're supporting homogeneous co-ordinate types
(i.e. I can't use a different type for altitude than for
latitude/longitude), and you don't provide a way to iterate over all
the co-ordinates of a point. I'm not saying this is a good or a bad
thing, but it is one of the ways in which the libraries differ.
- As I've said before, a variety of conflicting approaches are possible
at this "bottom level" of a geometry library. I don't think any one
approach is going to make all potential users happy. In order to gain
momentum, a library will need to demonstrate that is has worthwhile
features at higher levels (algorithms, containers, bindings etc.) If
someone were to propose a library full of those higher-level features
then it would become popular irrespective of its choice of point
concepts. Until then we'll all propose lots of slightly-different
"bottom levels" and disagree about which is best.
- "Rationale" is spelt with an 'e' when it's a noun in this sense :-)
P.S. Geometry challenge of the week: a container for lots of very short
poly-lines that has less storage overhead than a (sorted)
std::vector<std::vector<point>> and provides faster region lookup.