Eigen::RotationBase< Derived, Dim_ > Class Template Reference

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

+ Inheritance diagram for Eigen::RotationBase< Derived, Dim_ >:

Public Types

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

Public Member Functions

template<typename OtherVectorType >
VectorType _transformVector (const OtherVectorType &v) const
 
Derived & derived ()
 
const Derived & derived () const
 
Derived inverse () const
 
RotationMatrixType matrix () const
 
template<typename OtherDerived >
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
 
Transform< Scalar, Dim, Isometryoperator* (const Translation< Scalar, Dim > &t) const
 
RotationMatrixType operator* (const UniformScaling< Scalar > &s) const
 
RotationMatrixType toRotationMatrix () const
 

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
Dim_the dimension of the space

Definition at line 31 of file RotationBase.h.

Member Typedef Documentation

◆ RotationMatrixType

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

corresponding linear transformation matrix type

Definition at line 39 of file RotationBase.h.

◆ Scalar

template<typename Derived , int Dim_>
typedef internal::traits<Derived>::Scalar Eigen::RotationBase< Derived, Dim_ >::Scalar

the scalar type of the coefficients

Definition at line 36 of file RotationBase.h.

◆ VectorType

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

Definition at line 40 of file RotationBase.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived , int Dim_>
anonymous enum
Enumerator
Dim 

Definition at line 34 of file RotationBase.h.

34 { Dim = Dim_ };

Member Function Documentation

◆ _transformVector()

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

Definition at line 95 of file RotationBase.h.

96  { return toRotationMatrix() * v; }
Array< int, Dynamic, 1 > v
RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:47

◆ derived() [1/2]

template<typename Derived , int Dim_>
Derived& Eigen::RotationBase< Derived, Dim_ >::derived ( )
inline

Definition at line 44 of file RotationBase.h.

44 { return *static_cast<Derived*>(this); }

◆ derived() [2/2]

template<typename Derived , int Dim_>
const Derived& Eigen::RotationBase< Derived, Dim_ >::derived ( ) const
inline

Definition at line 43 of file RotationBase.h.

43 { return *static_cast<const Derived*>(this); }

◆ inverse()

template<typename Derived , int Dim_>
Derived Eigen::RotationBase< Derived, Dim_ >::inverse ( ) const
inline
Returns
the inverse rotation

Definition at line 55 of file RotationBase.h.

55 { return derived().inverse(); }
const Derived & derived() const
Definition: RotationBase.h:43

◆ matrix()

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 52 of file RotationBase.h.

52 { return derived().toRotationMatrix(); }

◆ operator*() [1/4]

template<typename Derived , int Dim_>
template<typename OtherDerived >
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 73 of file RotationBase.h.

74  { return internal::rotation_base_generic_product_selector<Derived,OtherDerived>::run(derived(), e.derived()); }
Array< double, 1, 3 > e(1./3., 0.5, 2.)

◆ operator*() [2/4]

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 91 of file RotationBase.h.

92  { return toRotationMatrix() * t; }

◆ operator*() [3/4]

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 58 of file RotationBase.h.

59  { return Transform<Scalar,Dim,Isometry>(*this) * t; }

◆ operator*() [4/4]

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 62 of file RotationBase.h.

63  { return toRotationMatrix() * s.factor(); }

◆ toRotationMatrix()

template<typename Derived , int Dim_>
RotationMatrixType Eigen::RotationBase< Derived, Dim_ >::toRotationMatrix ( void  ) const
inline
Returns
an equivalent rotation matrix

Definition at line 47 of file RotationBase.h.

47 { return derived().toRotationMatrix(); }

The documentation for this class was generated from the following files: