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_ >:

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

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

Friends

template<typename OtherDerived >
EIGEN_DEVICE_FUNC RotationMatrixType operator* (const EigenBase< OtherDerived > &l, const Derived &r)
 
EIGEN_DEVICE_FUNC friend 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
Dim_the dimension of the space

Member Typedef Documentation

◆ RotationMatrixType

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

corresponding linear transformation matrix type

◆ Scalar

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

the scalar type of the coefficients

◆ VectorType

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

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived , int Dim_>
anonymous enum
Enumerator
Dim 
34 { Dim = Dim_ };
@ Dim
Definition: RotationBase.h:34

Member Function Documentation

◆ _transformVector()

template<typename Derived , int Dim_>
template<typename OtherVectorType >
EIGEN_DEVICE_FUNC VectorType Eigen::RotationBase< Derived, Dim_ >::_transformVector ( const OtherVectorType &  v) const
inline
103  {
104  return toRotationMatrix() * v;
105  }
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
EIGEN_DEVICE_FUNC RotationMatrixType toRotationMatrix() const
Definition: RotationBase.h:47

References Eigen::RotationBase< Derived, Dim_ >::toRotationMatrix(), and v.

◆ derived() [1/2]

template<typename Derived , int Dim_>
EIGEN_DEVICE_FUNC Derived& Eigen::RotationBase< Derived, Dim_ >::derived ( )
inline
44 { return *static_cast<Derived*>(this); }

◆ derived() [2/2]

◆ inverse()

template<typename Derived , int Dim_>
EIGEN_DEVICE_FUNC Derived Eigen::RotationBase< Derived, Dim_ >::inverse ( ) const
inline
Returns
the inverse rotation
55 { return derived().inverse(); }
EIGEN_DEVICE_FUNC const Derived & derived() const
Definition: RotationBase.h:43

References Eigen::RotationBase< Derived, Dim_ >::derived().

◆ matrix()

template<typename Derived , int Dim_>
EIGEN_DEVICE_FUNC 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.
52 { return derived().toRotationMatrix(); }

References Eigen::RotationBase< Derived, Dim_ >::derived().

◆ operator*() [1/4]

template<typename Derived , int Dim_>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC 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
77  {
79  }
Array< double, 1, 3 > e(1./3., 0.5, 2.)
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317

References Eigen::RotationBase< Derived, Dim_ >::derived(), e(), and run().

◆ operator*() [2/4]

template<typename Derived , int Dim_>
template<int Mode, int Options>
EIGEN_DEVICE_FUNC 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
98  {
99  return toRotationMatrix() * t;
100  }
t
Definition: plotPSD.py:36

References plotPSD::t, and Eigen::RotationBase< Derived, Dim_ >::toRotationMatrix().

◆ operator*() [3/4]

template<typename Derived , int Dim_>
EIGEN_DEVICE_FUNC 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
58  {
59  return Transform<Scalar, Dim, Isometry>(*this) * t;
60  }

References plotPSD::t.

◆ operator*() [4/4]

template<typename Derived , int Dim_>
EIGEN_DEVICE_FUNC RotationMatrixType Eigen::RotationBase< Derived, Dim_ >::operator* ( const UniformScaling< Scalar > &  s) const
inline
Returns
the concatenation of the rotation *this with a uniform scaling s
63  {
64  return toRotationMatrix() * s.factor();
65  }
RealScalar s
Definition: level1_cplx_impl.h:130

References s, and Eigen::RotationBase< Derived, Dim_ >::toRotationMatrix().

◆ toRotationMatrix()

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

References Eigen::RotationBase< Derived, Dim_ >::derived().

Referenced by Eigen::RotationBase< Derived, Dim_ >::_transformVector(), and Eigen::RotationBase< Derived, Dim_ >::operator*().

Friends And Related Function Documentation

◆ operator* [1/2]

template<typename Derived , int Dim_>
EIGEN_DEVICE_FUNC friend 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
89  {
90  Transform<Scalar, Dim, Affine> res(r);
91  res.linear().applyOnTheLeft(l);
92  return res;
93  }
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition: PartialRedux_count.cpp:3
r
Definition: UniformPSDSelfTest.py:20

◆ operator* [2/2]

template<typename Derived , int Dim_>
template<typename OtherDerived >
EIGEN_DEVICE_FUNC RotationMatrixType operator* ( const EigenBase< OtherDerived > &  l,
const Derived &  r 
)
friend
Returns
the concatenation of a linear transformation l with the rotation r
83  {
84  return l.derived() * r.toRotationMatrix();
85  }

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