|
Boost : |
From: Hickerson, David A (david.a.hickerson_at_[hidden])
Date: 2005-06-30 15:41:21
I will locate the library this evening and upload it. One this about it
was I developed it before I saw Boost and had developed my own
conventions. I did this as part of a thesis work in Robotics and will I
was working for a 3D Vis company. There are references to robot
convension and a graphics convension. This is because the robotics and
engineering use a column vector notation and the graphics community uses
a row vector convension or least OpenGL does.
If those involved with Boost are interested, I would like to donate the
code for use in developing the capabilities here.
Dave Hickerson
-----Original Message-----
From: Geoff Carlton [mailto:gcarlton_at_[hidden]]
Sent: Wednesday, June 29, 2005 8:22 PM
To: boost_at_[hidden]
Subject: Re: [boost] Library Proposal: Boost.Geom 2D and
3DGeometricPrimitives
Hickerson, David A wrote:
> I have done some of this in the library I wrote in 97.
I'd be curious to see that. I'd like a simple, common set of geom
classes.
The concept of these traits is a very interesting and clever one, but I
don't think its useful in practice. You'd want a simple set of classes,
and if they are generically useful then the conversion to library
variants is simple: either construct a new temporary, or even a
straight reinterpret_cast for performance.
In particular, the basics are:
1.) Easy definition
Preferably:
class point2i; // descended from point2<int>
void DoSomething(const point2i& mypoint);
Alternatively:
template<class T>
class point2;
typedef point2<int> mypoint2i;
void DoSomething(const point2i& mypoint);
2.) Easy instantiation
Definitely:
point2i pos(1,2);
Ideally (somehow):
point2i pos2[2] = { { 3, 4 }, { 5, 6 } };
3.) Very clear class layout
So we can know when reinterpreting the object is possible.
4.) Minimum of templates and macros
Want this to be compile-able across the board, and simple to understand.
5.) Basic methods in class
Length(), LengthSq(), Normalise(), etc
6.) Set of algorithm functions to operate on these types Similar to STL,
a separate group of functions.
Having written all this, its hard to go past the MagicSoftware library.
It defines many basic primitives and then a whole lot of useful
operating functions. Hmm.. I should probably just use that in the
future. :)
Geoff
_______________________________________________
Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk