MOAB  4.9.3pre
Eigen::RotationBase< Derived, _Dim > Class Template Reference

Common base class for compact rotation representations. More...

#include <RotationBase.h>

Inheritance diagram for Eigen::RotationBase< Derived, _Dim >:

List of all members.

Public Types

enum  { Dim = _Dim }
typedef internal::traits
< Derived >::Scalar 
Scalar
typedef Matrix< Scalar, Dim, DimRotationMatrixType
typedef Matrix< Scalar, Dim, 1 > VectorType

Public Member Functions

const Derived & derived () const
Derived & derived ()
RotationMatrixType toRotationMatrix () const
RotationMatrixType matrix () const
Derived inverse () const
Transform< Scalar, Dim, Isometryoperator* (const Translation< Scalar, Dim > &t) const
RotationMatrixType operator* (const UniformScaling< Scalar > &s) const
template<typename OtherDerived >
EIGEN_STRONG_INLINE
internal::rotation_base_generic_product_selector
< Derived, OtherDerived,
OtherDerived::IsVectorAtCompileTime >
::ReturnType 
operator* (const EigenBase< OtherDerived > &e) const
template<int Mode, int Options>
Transform< Scalar, Dim, Mode > operator* (const Transform< Scalar, Dim, Mode, Options > &t) const
template<typename OtherVectorType >
VectorType _transformVector (const OtherVectorType &v) const

Friends

template<typename OtherDerived >
RotationMatrixType operator* (const EigenBase< OtherDerived > &l, const Derived &r)
Transform< Scalar, Dim, Affineoperator* (const DiagonalMatrix< Scalar, Dim > &l, const Derived &r)

Detailed Description

template<typename Derived, int _Dim>
class Eigen::RotationBase< Derived, _Dim >

Common base class for compact rotation representations.

Template Parameters:
Derivedis the derived type, i.e., a rotation type
_Dimthe dimension of the space

Definition at line 29 of file RotationBase.h.


Member Typedef Documentation

template<typename Derived, int _Dim>
typedef Matrix<Scalar,Dim,Dim> Eigen::RotationBase< Derived, _Dim >::RotationMatrixType

corresponding linear transformation matrix type

Definition at line 37 of file RotationBase.h.

template<typename Derived, int _Dim>
typedef Matrix<Scalar,Dim,1> Eigen::RotationBase< Derived, _Dim >::VectorType

Definition at line 38 of file RotationBase.h.


Member Enumeration Documentation

template<typename Derived, int _Dim>
anonymous enum
Enumerator:
Dim 

Definition at line 32 of file RotationBase.h.

{ Dim = _Dim };

Member Function Documentation

template<typename Derived, int _Dim>
template<typename OtherVectorType >
VectorType Eigen::RotationBase< Derived, _Dim >::_transformVector ( const OtherVectorType &  v) const [inline]

Definition at line 93 of file RotationBase.h.

    { return toRotationMatrix() * v; }
template<typename Derived, int _Dim>
const Derived& Eigen::RotationBase< Derived, _Dim >::derived ( ) const [inline]

Definition at line 41 of file RotationBase.h.

{ return *static_cast<const Derived*>(this); }
template<typename Derived, int _Dim>
Derived& Eigen::RotationBase< Derived, _Dim >::derived ( ) [inline]

Definition at line 42 of file RotationBase.h.

{ return *static_cast<Derived*>(this); }
template<typename Derived, int _Dim>
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::matrix ( ) const [inline]
Returns:
an equivalent rotation matrix This function is added to be conform with the Transform class' naming scheme.

Definition at line 50 of file RotationBase.h.

{ return derived().toRotationMatrix(); }
template<typename Derived, int _Dim>
Transform<Scalar,Dim,Isometry> Eigen::RotationBase< Derived, _Dim >::operator* ( const Translation< Scalar, Dim > &  t) const [inline]
Returns:
the concatenation of the rotation *this with a translation t

Definition at line 56 of file RotationBase.h.

    { return Transform<Scalar,Dim,Isometry>(*this) * t; }
template<typename Derived, int _Dim>
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::operator* ( const UniformScaling< Scalar > &  s) const [inline]
Returns:
the concatenation of the rotation *this with a uniform scaling s

Definition at line 60 of file RotationBase.h.

    { return toRotationMatrix() * s.factor(); }
template<typename Derived, int _Dim>
template<typename OtherDerived >
EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector<Derived,OtherDerived,OtherDerived::IsVectorAtCompileTime>::ReturnType Eigen::RotationBase< Derived, _Dim >::operator* ( const EigenBase< OtherDerived > &  e) const [inline]
Returns:
the concatenation of the rotation *this with a generic expression e e can be:
  • a DimxDim linear transformation matrix
  • a DimxDim diagonal matrix (axis aligned scaling)
  • a vector of size Dim

Definition at line 71 of file RotationBase.h.

    { return internal::rotation_base_generic_product_selector<Derived,OtherDerived>::run(derived(), e.derived()); }
template<typename Derived, int _Dim>
template<int Mode, int Options>
Transform<Scalar,Dim,Mode> Eigen::RotationBase< Derived, _Dim >::operator* ( const Transform< Scalar, Dim, Mode, Options > &  t) const [inline]
Returns:
the concatenation of the rotation *this with a transformation t

Definition at line 89 of file RotationBase.h.

    { return toRotationMatrix() * t; }

Friends And Related Function Documentation

template<typename Derived, int _Dim>
template<typename OtherDerived >
RotationMatrixType operator* ( const EigenBase< OtherDerived > &  l,
const Derived &  r 
) [friend]
Returns:
the concatenation of a linear transformation l with the rotation r

Definition at line 76 of file RotationBase.h.

    { return l.derived() * r.toRotationMatrix(); }
template<typename Derived, int _Dim>
Transform<Scalar,Dim,Affine> operator* ( const DiagonalMatrix< Scalar, Dim > &  l,
const Derived &  r 
) [friend]
Returns:
the concatenation of a scaling l with the rotation r

Definition at line 80 of file RotationBase.h.

    { 
      Transform<Scalar,Dim,Affine> res(r);
      res.linear().applyOnTheLeft(l);
      return res;
    }

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines