Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Public Types | Public Member Functions | Friends
Eigen::RotationBase< Derived, _Dim > Class Template Reference

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

#include <RotationBase.h>

Public Types

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

Public Member Functions

const Derived & derived () const
 
Derived & derived ()
 
RotationMatrixType toRotationMatrix () const
 
Derived inverse () const
 
Transform< Scalar, Dim > operator* (const Translation< Scalar, Dim > &t) const
 
RotationMatrixType operator* (const Scaling< Scalar, Dim > &s) const
 
Transform< Scalar, Dim > operator* (const Transform< Scalar, Dim > &t) const
 
const Derived & derived () const
 
Derived & derived ()
 
RotationMatrixType toRotationMatrix () const
 
RotationMatrixType matrix () const
 
Derived inverse () const
 
Transform< Scalar, Dim, Isometry > operator* (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, Affine > operator* (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.

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

Definition at line 231 of file ForwardDeclarations.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 33 of file RotationBase.h.

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 ei_traits<Derived>::Scalar Eigen::RotationBase< Derived, _Dim >::Scalar

the scalar type of the coefficients

Definition at line 30 of file RotationBase.h.

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

the scalar type of the coefficients

Definition at line 34 of file RotationBase.h.

Member Function Documentation

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

Definition at line 42 of file RotationBase.h.

42 { return derived().inverse(); }
template<typename Derived, int _Dim>
Derived Eigen::RotationBase< Derived, _Dim >::inverse ( void  ) const
inline
Returns
the inverse rotation

Definition at line 53 of file RotationBase.h.

53 { return derived().inverse(); }
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.

50 { return derived().toRotationMatrix(); }
template<typename Derived, int _Dim>
Transform<Scalar,Dim> 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 45 of file RotationBase.h.

46  { return toRotationMatrix() * t; }
RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:39
template<typename Derived, int _Dim>
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::operator* ( const Scaling< Scalar, Dim > &  s) const
inline
Returns
the concatenation of the rotation *this with a scaling s

Definition at line 49 of file RotationBase.h.

50  { return toRotationMatrix() * s; }
RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:39
template<typename Derived, int _Dim>
Transform<Scalar,Dim> Eigen::RotationBase< Derived, _Dim >::operator* ( const Transform< Scalar, Dim > &  t) const
inline
Returns
the concatenation of the rotation *this with an affine transformation t

Definition at line 53 of file RotationBase.h.

54  { return toRotationMatrix() * t; }
RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:39
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.

57  { 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.

61  { return toRotationMatrix() * s.factor(); }
RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:39
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.

72  { 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.

90  { return toRotationMatrix() * t; }
RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:39
template<typename Derived, int _Dim>
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::toRotationMatrix ( void  ) const
inline
Returns
an equivalent rotation matrix

Definition at line 39 of file RotationBase.h.

39 { return derived().toRotationMatrix(); }
template<typename Derived, int _Dim>
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::toRotationMatrix ( void  ) const
inline
Returns
an equivalent rotation matrix

Definition at line 45 of file RotationBase.h.

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

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.

77  { 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.

81  {
82  Transform<Scalar,Dim,Affine> res(r);
83  res.linear().applyOnTheLeft(l);
84  return res;
85  }

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