* added a RotationBase class following the CRT pattern

This allow code factorization and generic template specialization
  of functions
* added any_rotation * {Translation,Scaling,Transform} products methods
* rewrite of the actually broken ToRoationMatrix helper class to
  a global ei_toRotationMatrix function.
This commit is contained in:
Gael Guennebaud
2008-08-30 20:11:04 +00:00
parent 027ee14f31
commit 6ba991aa3a
8 changed files with 166 additions and 77 deletions

View File

@@ -51,9 +51,17 @@ struct ei_quaternion_assign_impl;
*
* \sa class AngleAxis, class Transform
*/
template<typename _Scalar>
class Quaternion
template<typename _Scalar> struct ei_traits<Quaternion<_Scalar> >
{
typedef _Scalar Scalar;
};
template<typename _Scalar>
class Quaternion : public RotationBase<Quaternion<_Scalar>,3>
{
typedef RotationBase<Quaternion<_Scalar>,3> Base;
using Base::operator*;
typedef Matrix<_Scalar, 4, 1> Coefficients;
Coefficients m_coeffs;