
--- Arash Partow wrote:
Hi all,
Hello, Arash. I'd be more interested in *using* a geometry library than in developing one, so any feedback I provide in this regard would likely come from an interface point of view.
As for a preliminary library design I propose the following:
* primitive geometric structures 2D/3D only (point,line,segment,triangle...) * operations between primitives (intersection, distance, inclusion...) * higher level algorithms in a structured fashion similar to BGL: * hulls, rotating caliper * triangulation (point sets, polygons) * boolean operations over polygons
One of the great bugbears I have with today's implementations of geometric primitives is the lack of a common interface between all of them. Take a point, for instance: should I access its coordinates using the public members x, y, and z? Or is that X, Y, and Z (capitalized)? Are they actually member functions instead of data? How about the subscript operator ([0], [1], and [2])? (Personally, I'd go with this one, since that is what the BGL and uBLAS algorithms are currently used to, and a point can be extended to have more than three dimensions if need be. But if you want interoperability with some of the other geometric libraries, you'll have to deal with their interfaces as well.) Looking forward to seeing your work. Cromwell D. Enage __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com