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 }
 
typedef Matrix< Scalar, 2, 2 > Matrix2
 
typedef _Scalar Scalar
 
typedef Matrix< Scalar, 2, 1 > Vector2
 
- Public Types inherited from Eigen::RotationBase< Rotation2D< _Scalar >, 2 >
enum  
 
typedef Matrix< Scalar, Dim, DimRotationMatrixType
 
typedef internal::traits< Rotation2D< _Scalar > >::Scalar Scalar
 
typedef Matrix< Scalar, Dim, 1 > VectorType
 

Public Member Functions

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

Static Public Member Functions

static EIGEN_DEVICE_FUNC Rotation2D Identity ()
 

Protected Attributes

Scalar m_angle
 

Private Types

typedef RotationBase< Rotation2D< _Scalar >, 2 > Base
 

Detailed Description

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

Represents a rotation/orientation in a 2 dimensional space.

Template 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 269 of file ForwardDeclarations.h.

Member Typedef Documentation

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

Definition at line 43 of file Rotation2D.h.

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

Definition at line 53 of file Rotation2D.h.

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

the scalar type of the coefficients

Definition at line 51 of file Rotation2D.h.

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

Definition at line 52 of file Rotation2D.h.

Member Enumeration Documentation

template<typename _Scalar>
anonymous enum
Enumerator
Dim 

Definition at line 49 of file Rotation2D.h.

Constructor & Destructor Documentation

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

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

Definition at line 62 of file Rotation2D.h.

template<typename _Scalar>
EIGEN_DEVICE_FUNC Eigen::Rotation2D< _Scalar >::Rotation2D ( )
inline

Default constructor wihtout initialization. The represented rotation is undefined.

Definition at line 65 of file Rotation2D.h.

template<typename _Scalar>
template<typename Derived >
EIGEN_DEVICE_FUNC Eigen::Rotation2D< _Scalar >::Rotation2D ( const MatrixBase< Derived > &  m)
inlineexplicit

Construct a 2D rotation from a 2x2 rotation matrix mat.

See also
fromRotationMatrix()

Definition at line 72 of file Rotation2D.h.

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

Copy constructor with scalar type conversion

Definition at line 147 of file Rotation2D.h.

Member Function Documentation

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

Definition at line 78 of file Rotation2D.h.

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

Definition at line 81 of file Rotation2D.h.

template<typename _Scalar>
template<typename NewScalarType >
EIGEN_DEVICE_FUNC 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 142 of file Rotation2D.h.

template<typename _Scalar>
template<typename Derived >
EIGEN_DEVICE_FUNC Rotation2D& Eigen::Rotation2D< _Scalar >::fromRotationMatrix ( const MatrixBase< Derived > &  m)
template<typename _Scalar>
template<typename Derived >
EIGEN_DEVICE_FUNC 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 176 of file Rotation2D.h.

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

Definition at line 152 of file Rotation2D.h.

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

Definition at line 98 of file Rotation2D.h.

template<typename _Scalar>
EIGEN_DEVICE_FUNC 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 158 of file Rotation2D.h.

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

Concatenates two rotations

Definition at line 101 of file Rotation2D.h.

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

Applies the rotation to a 2D vector

Definition at line 109 of file Rotation2D.h.

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

Concatenates two rotations

Definition at line 105 of file Rotation2D.h.

template<typename _Scalar>
template<typename Derived >
EIGEN_DEVICE_FUNC Rotation2D& Eigen::Rotation2D< _Scalar >::operator= ( const MatrixBase< Derived > &  m)
inline

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

This method is an alias for fromRotationMatrix()

See also
fromRotationMatrix()

Definition at line 124 of file Rotation2D.h.

template<typename _Scalar>
EIGEN_DEVICE_FUNC 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 130 of file Rotation2D.h.

template<typename _Scalar>
EIGEN_DEVICE_FUNC Scalar Eigen::Rotation2D< _Scalar >::smallestAngle ( ) const
inline
Returns
the rotation angle in [-pi,pi]

Definition at line 90 of file Rotation2D.h.

template<typename _Scalar>
EIGEN_DEVICE_FUNC Scalar Eigen::Rotation2D< _Scalar >::smallestPositiveAngle ( ) const
inline
Returns
the rotation angle in [0,2pi]

Definition at line 84 of file Rotation2D.h.

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

Constructs and

Returns
an equivalent 2x2 rotation matrix.

Definition at line 188 of file Rotation2D.h.

Member Data Documentation

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

Definition at line 57 of file Rotation2D.h.


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


gtsam
Author(s):
autogenerated on Sat May 8 2021 02:54:15