Boost logo

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