MOAB
4.9.3pre
|
Common base class for compact rotation representations. More...
#include <RotationBase.h>
Public Types | |
enum | { Dim = _Dim } |
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 |
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) |
Common base class for compact rotation representations.
Derived | is the derived type, i.e., a rotation type |
_Dim | the dimension of the space |
Definition at line 29 of file RotationBase.h.
typedef Matrix<Scalar,Dim,Dim> Eigen::RotationBase< Derived, _Dim >::RotationMatrixType |
corresponding linear transformation matrix type
Definition at line 37 of file RotationBase.h.
typedef internal::traits<Derived>::Scalar Eigen::RotationBase< Derived, _Dim >::Scalar |
the scalar type of the coefficients
Reimplemented in Eigen::Map< Quaternion< _Scalar >, _Options >, Eigen::Map< const Quaternion< _Scalar >, _Options >, Eigen::Quaternion< _Scalar, _Options >, Eigen::AngleAxis< _Scalar >, Eigen::Rotation2D< _Scalar >, Eigen::QuaternionBase< Derived >, Eigen::QuaternionBase< Map< const Quaternion< _Scalar >, _Options > >, Eigen::QuaternionBase< Map< Quaternion< _Scalar >, _Options > >, and Eigen::QuaternionBase< Quaternion< _Scalar, _Options > >.
Definition at line 34 of file RotationBase.h.
typedef Matrix<Scalar,Dim,1> Eigen::RotationBase< Derived, _Dim >::VectorType |
Definition at line 38 of file RotationBase.h.
anonymous enum |
VectorType Eigen::RotationBase< Derived, _Dim >::_transformVector | ( | const OtherVectorType & | v | ) | const [inline] |
Definition at line 93 of file RotationBase.h.
{ return toRotationMatrix() * v; }
const Derived& Eigen::RotationBase< Derived, _Dim >::derived | ( | ) | const [inline] |
Definition at line 41 of file RotationBase.h.
{ return *static_cast<const Derived*>(this); }
Derived& Eigen::RotationBase< Derived, _Dim >::derived | ( | ) | [inline] |
Definition at line 42 of file RotationBase.h.
{ return *static_cast<Derived*>(this); }
Derived Eigen::RotationBase< Derived, _Dim >::inverse | ( | ) | const [inline] |
Reimplemented in Eigen::QuaternionBase< Derived >, Eigen::QuaternionBase< Map< const Quaternion< _Scalar >, _Options > >, Eigen::QuaternionBase< Map< Quaternion< _Scalar >, _Options > >, Eigen::QuaternionBase< Quaternion< _Scalar, _Options > >, Eigen::AngleAxis< _Scalar >, and Eigen::Rotation2D< _Scalar >.
Definition at line 53 of file RotationBase.h.
{ return derived().inverse(); }
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::matrix | ( | ) | const [inline] |
Definition at line 50 of file RotationBase.h.
{ return derived().toRotationMatrix(); }
Transform<Scalar,Dim,Isometry> Eigen::RotationBase< Derived, _Dim >::operator* | ( | const Translation< Scalar, Dim > & | t | ) | const [inline] |
*this
with a translation t Definition at line 56 of file RotationBase.h.
{ return Transform<Scalar,Dim,Isometry>(*this) * t; }
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::operator* | ( | const UniformScaling< Scalar > & | s | ) | const [inline] |
*this
with a uniform scaling s Definition at line 60 of file RotationBase.h.
{ return toRotationMatrix() * s.factor(); }
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] |
*this
with a generic expression e e can be:Definition at line 71 of file RotationBase.h.
{ return internal::rotation_base_generic_product_selector<Derived,OtherDerived>::run(derived(), e.derived()); }
Transform<Scalar,Dim,Mode> Eigen::RotationBase< Derived, _Dim >::operator* | ( | const Transform< Scalar, Dim, Mode, Options > & | t | ) | const [inline] |
*this
with a transformation t Definition at line 89 of file RotationBase.h.
{ return toRotationMatrix() * t; }
RotationMatrixType Eigen::RotationBase< Derived, _Dim >::toRotationMatrix | ( | void | ) | const [inline] |
Reimplemented in Eigen::QuaternionBase< Derived >, Eigen::QuaternionBase< Map< const Quaternion< _Scalar >, _Options > >, Eigen::QuaternionBase< Map< Quaternion< _Scalar >, _Options > >, Eigen::QuaternionBase< Quaternion< _Scalar, _Options > >, Eigen::AngleAxis< _Scalar >, and Eigen::Rotation2D< _Scalar >.
Definition at line 45 of file RotationBase.h.
{ return derived().toRotationMatrix(); }
RotationMatrixType operator* | ( | const EigenBase< OtherDerived > & | l, |
const Derived & | r | ||
) | [friend] |
Definition at line 76 of file RotationBase.h.
{ return l.derived() * r.toRotationMatrix(); }
Transform<Scalar,Dim,Affine> operator* | ( | const DiagonalMatrix< Scalar, Dim > & | l, |
const Derived & | r | ||
) | [friend] |
Definition at line 80 of file RotationBase.h.
{
Transform<Scalar,Dim,Affine> res(r);
res.linear().applyOnTheLeft(l);
return res;
}