Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Types | List of all members
Eigen::Rotation2D< _Scalar > Class Template Reference

Represents a rotation/orientation in a 2 dimensional space. More...

#include <ForwardDeclarations.h>

Inheritance diagram for Eigen::Rotation2D< _Scalar >:
Inheritance graph
[legend]

Public Types

enum  { Dim = 2 }
 
enum  { Dim = 2 }
 
typedef Matrix< Scalar, 2, 2 > Matrix2
 
typedef Matrix< Scalar, 2, 2 > Matrix2
 
typedef _Scalar Scalar
 
typedef _Scalar Scalar
 
typedef Matrix< Scalar, 2, 1 > Vector2
 
typedef Matrix< Scalar, 2, 1 > Vector2
 
- Public Types inherited from Eigen::RotationBase< Rotation2D< _Scalar >, 2 >
enum  
 
enum  
 
typedef Matrix< Scalar, Dim, DimRotationMatrixType
 
typedef Matrix< Scalar, Dim, DimRotationMatrixType
 
typedef ei_traits< Rotation2D< _Scalar > >::Scalar Scalar
 
typedef internal::traits< Rotation2D< _Scalar > >::Scalar Scalar
 
typedef Matrix< Scalar, Dim, 1 > VectorType
 

Public Member Functions

Scalar angle () const
 
Scalarangle ()
 
Scalar angle () const
 
Scalarangle ()
 
template<typename NewScalarType >
internal::cast_return_type< Rotation2D, Rotation2D< NewScalarType > >::type cast () const
 
template<typename NewScalarType >
internal::cast_return_type< Rotation2D, Rotation2D< NewScalarType > >::type cast () const
 
template<typename Derived >
Rotation2DfromRotationMatrix (const MatrixBase< Derived > &m)
 
template<typename Derived >
Rotation2DfromRotationMatrix (const MatrixBase< Derived > &m)
 
template<typename Derived >
Rotation2D< Scalar > & fromRotationMatrix (const MatrixBase< Derived > &mat)
 
Rotation2D inverse () const
 
Rotation2D inverse () const
 
bool isApprox (const Rotation2D &other, typename NumTraits< Scalar >::Real prec=precision< Scalar >()) const
 
bool isApprox (const Rotation2D &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const
 
Rotation2D operator* (const Rotation2D &other) const
 
Rotation2D operator* (const Rotation2D &other) const
 
Vector2 operator* (const Vector2 &vec) const
 
Vector2 operator* (const Vector2 &vec) const
 
Rotation2Doperator*= (const Rotation2D &other)
 
Rotation2Doperator*= (const Rotation2D &other)
 
 Rotation2D (Scalar a)
 
 Rotation2D (const Scalar &a)
 
template<typename OtherScalarType >
 Rotation2D (const Rotation2D< OtherScalarType > &other)
 
template<typename OtherScalarType >
 Rotation2D (const Rotation2D< OtherScalarType > &other)
 
Rotation2D slerp (Scalar t, const Rotation2D &other) const
 
Rotation2D slerp (const Scalar &t, const Rotation2D &other) const
 
Matrix2 toRotationMatrix (void) const
 
Matrix2 toRotationMatrix (void) const
 
- Public Member Functions inherited from Eigen::RotationBase< Rotation2D< _Scalar >, 2 >
VectorType _transformVector (const OtherVectorType &v) const
 
const Rotation2D< _Scalar > & derived () const
 
Rotation2D< _Scalar > & derived ()
 
const Rotation2D< _Scalar > & derived () const
 
Rotation2D< _Scalar > & derived ()
 
Rotation2D< _Scalar > inverse () const
 
Rotation2D< _Scalar > inverse () const
 
RotationMatrixType matrix () const
 
Transform< Scalar, Dimoperator* (const Translation< Scalar, Dim > &t) const
 
RotationMatrixType operator* (const Scaling< Scalar, Dim > &s) const
 
Transform< Scalar, Dimoperator* (const Transform< Scalar, Dim > &t) const
 
Transform< Scalar, Dim, Isometry > operator* (const Translation< Scalar, Dim > &t) const
 
RotationMatrixType operator* (const UniformScaling< Scalar > &s) const
 
EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector< Rotation2D< _Scalar >, OtherDerived, OtherDerived::IsVectorAtCompileTime >::ReturnType operator* (const EigenBase< OtherDerived > &e) const
 
Transform< Scalar, Dim, Mode > operator* (const Transform< Scalar, Dim, Mode, Options > &t) const
 
RotationMatrixType toRotationMatrix () const
 
RotationMatrixType toRotationMatrix () const
 

Static Public Member Functions

static Rotation2D Identity ()
 

Protected Attributes

Scalar m_angle
 

Private Types

typedef RotationBase< Rotation2D< _Scalar >, 2 > Base
 
typedef RotationBase< Rotation2D< _Scalar >, 2 > Base
 

Detailed Description

template<typename _Scalar>
class Eigen::Rotation2D< _Scalar >

Represents a rotation/orientation in a 2 dimensional space.

Parameters
_Scalarthe scalar type, i.e., the type of the coefficients

This class is equivalent to a single scalar representing a counter clock wise rotation as a single angle in radian. It provides some additional features such as the automatic conversion from/to a 2x2 rotation matrix. Moreover this class aims to provide a similar interface to Quaternion in order to facilitate the writing of generic algorithms dealing with rotations.

See also
class Quaternion, class Transform

Definition at line 234 of file ForwardDeclarations.h.

Member Typedef Documentation

template<typename _Scalar>
typedef RotationBase<Rotation2D<_Scalar>,2> Eigen::Rotation2D< _Scalar >::Base
private

Definition at line 38 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
typedef RotationBase<Rotation2D<_Scalar>,2> Eigen::Rotation2D< _Scalar >::Base
private

Definition at line 43 of file Geometry/Rotation2D.h.

template<typename _Scalar>
typedef Matrix<Scalar,2,2> Eigen::Rotation2D< _Scalar >::Matrix2

Definition at line 48 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
typedef Matrix<Scalar,2,2> Eigen::Rotation2D< _Scalar >::Matrix2

Definition at line 53 of file Geometry/Rotation2D.h.

template<typename _Scalar>
typedef _Scalar Eigen::Rotation2D< _Scalar >::Scalar

the scalar type of the coefficients

Definition at line 46 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
typedef _Scalar Eigen::Rotation2D< _Scalar >::Scalar

the scalar type of the coefficients

Definition at line 51 of file Geometry/Rotation2D.h.

template<typename _Scalar>
typedef Matrix<Scalar,2,1> Eigen::Rotation2D< _Scalar >::Vector2

Definition at line 47 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
typedef Matrix<Scalar,2,1> Eigen::Rotation2D< _Scalar >::Vector2

Definition at line 52 of file Geometry/Rotation2D.h.

Member Enumeration Documentation

template<typename _Scalar>
anonymous enum
Enumerator
Dim 

Definition at line 44 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
anonymous enum
Enumerator
Dim 

Definition at line 49 of file Geometry/Rotation2D.h.

Constructor & Destructor Documentation

template<typename _Scalar>
Eigen::Rotation2D< _Scalar >::Rotation2D ( Scalar  a)
inline

Construct a 2D counter clock wise rotation from the angle a in radian.

Definition at line 57 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
template<typename OtherScalarType >
Eigen::Rotation2D< _Scalar >::Rotation2D ( const Rotation2D< OtherScalarType > &  other)
inlineexplicit

Copy constructor with scalar type conversion

Definition at line 101 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Eigen::Rotation2D< _Scalar >::Rotation2D ( const Scalar a)
inline

Construct a 2D counter clock wise rotation from the angle a in radian.

Definition at line 62 of file Geometry/Rotation2D.h.

template<typename _Scalar>
template<typename OtherScalarType >
Eigen::Rotation2D< _Scalar >::Rotation2D ( const Rotation2D< OtherScalarType > &  other)
inlineexplicit

Copy constructor with scalar type conversion

Definition at line 106 of file Geometry/Rotation2D.h.

Member Function Documentation

template<typename _Scalar>
Scalar Eigen::Rotation2D< _Scalar >::angle ( ) const
inline
Returns
the rotation angle

Definition at line 60 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Scalar& Eigen::Rotation2D< _Scalar >::angle ( )
inline
Returns
a read-write reference to the rotation angle

Definition at line 63 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Scalar Eigen::Rotation2D< _Scalar >::angle ( ) const
inline
Returns
the rotation angle

Definition at line 65 of file Geometry/Rotation2D.h.

template<typename _Scalar>
Scalar& Eigen::Rotation2D< _Scalar >::angle ( )
inline
Returns
a read-write reference to the rotation angle

Definition at line 68 of file Geometry/Rotation2D.h.

template<typename _Scalar>
template<typename NewScalarType >
internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type Eigen::Rotation2D< _Scalar >::cast ( ) const
inline
Returns
*this with scalar type casted to NewScalarType

Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.

Definition at line 96 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
template<typename NewScalarType >
internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type Eigen::Rotation2D< _Scalar >::cast ( ) const
inline
Returns
*this with scalar type casted to NewScalarType

Note that if NewScalarType is equal to the current scalar type of *this then this function smartly returns a const reference to *this.

Definition at line 101 of file Geometry/Rotation2D.h.

template<typename _Scalar>
template<typename Derived >
Rotation2D& Eigen::Rotation2D< _Scalar >::fromRotationMatrix ( const MatrixBase< Derived > &  m)
template<typename _Scalar>
template<typename Derived >
Rotation2D& Eigen::Rotation2D< _Scalar >::fromRotationMatrix ( const MatrixBase< Derived > &  m)
template<typename Scalar >
template<typename Derived >
Rotation2D< Scalar > & Eigen::Rotation2D< Scalar >::fromRotationMatrix ( const MatrixBase< Derived > &  mat)

Set *this from a 2x2 rotation matrix mat. In other words, this function extract the rotation angle from the rotation matrix.

Definition at line 127 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
static Rotation2D Eigen::Rotation2D< _Scalar >::Identity ( )
inlinestatic

Definition at line 111 of file Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D Eigen::Rotation2D< _Scalar >::inverse ( void  ) const
inline
Returns
the inverse rotation

Definition at line 66 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D Eigen::Rotation2D< _Scalar >::inverse ( void  ) const
inline
Returns
the inverse rotation

Definition at line 71 of file Geometry/Rotation2D.h.

template<typename _Scalar>
bool Eigen::Rotation2D< _Scalar >::isApprox ( const Rotation2D< _Scalar > &  other,
typename NumTraits< Scalar >::Real  prec = precision<Scalar>() 
) const
inline
Returns
true if *this is approximately equal to other, within the precision determined by prec.
See also
MatrixBase::isApprox()

Definition at line 110 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
bool Eigen::Rotation2D< _Scalar >::isApprox ( const Rotation2D< _Scalar > &  other,
const typename NumTraits< Scalar >::Real &  prec = NumTraits<Scalar>::dummy_precision() 
) const
inline
Returns
true if *this is approximately equal to other, within the precision determined by prec.
See also
MatrixBase::isApprox()

Definition at line 117 of file Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D Eigen::Rotation2D< _Scalar >::operator* ( const Rotation2D< _Scalar > &  other) const
inline

Concatenates two rotations

Definition at line 69 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D Eigen::Rotation2D< _Scalar >::operator* ( const Rotation2D< _Scalar > &  other) const
inline

Concatenates two rotations

Definition at line 74 of file Geometry/Rotation2D.h.

template<typename _Scalar>
Vector2 Eigen::Rotation2D< _Scalar >::operator* ( const Vector2 vec) const
inline

Applies the rotation to a 2D vector

Definition at line 77 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Vector2 Eigen::Rotation2D< _Scalar >::operator* ( const Vector2 vec) const
inline

Applies the rotation to a 2D vector

Definition at line 82 of file Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D& Eigen::Rotation2D< _Scalar >::operator*= ( const Rotation2D< _Scalar > &  other)
inline

Concatenates two rotations

Definition at line 73 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D& Eigen::Rotation2D< _Scalar >::operator*= ( const Rotation2D< _Scalar > &  other)
inline

Concatenates two rotations

Definition at line 78 of file Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D Eigen::Rotation2D< _Scalar >::slerp ( Scalar  t,
const Rotation2D< _Scalar > &  other 
) const
inline
Returns
the spherical interpolation between *this and other using parameter t. It is in fact equivalent to a linear interpolation.

Definition at line 87 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Rotation2D Eigen::Rotation2D< _Scalar >::slerp ( const Scalar t,
const Rotation2D< _Scalar > &  other 
) const
inline
Returns
the spherical interpolation between *this and other using parameter t. It is in fact equivalent to a linear interpolation.

Definition at line 92 of file Geometry/Rotation2D.h.

template<typename Scalar >
Rotation2D< Scalar >::Matrix2 Eigen::Rotation2D< Scalar >::toRotationMatrix ( void  ) const

Constructs and

Returns
an equivalent 2x2 rotation matrix.

Definition at line 138 of file Eigen2Support/Geometry/Rotation2D.h.

template<typename _Scalar>
Matrix2 Eigen::Rotation2D< _Scalar >::toRotationMatrix ( void  ) const

Member Data Documentation

template<typename _Scalar>
Scalar Eigen::Rotation2D< _Scalar >::m_angle
protected

Definition at line 52 of file Eigen2Support/Geometry/Rotation2D.h.


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


tuw_aruco
Author(s): Lukas Pfeifhofer
autogenerated on Mon Jun 10 2019 15:41:09