
Andy Little wrote:
FWIW boost boost has a quaternion class
http://www.boost.org/libs/math/quaternion/quaternion.html
Even some preliminary info on rotations:
http://www.boost.org/libs/math/quaternion/HSO3.hpp
Is it possible to reuse Boost.Quaternion in a geometry library or are there problems associated with that?
Probably, although because it was written with the intention of being a mathematical class instead of being a geometry class it appears there are some minor details missing. Namely, the ability to convert from an angle and axis of rotation to a unit quaternion and back again, and to convert a quaternion to a transformation matrix. Also, when you know in advance that you are only working with unit quaternions (the only valid quaternions for storing orientations) you can make certain optimizations (the inverse simplifies to the complex conjugate). -Jason