Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Types | Friends | List of all members
Eigen::Rotation2D Class Reference

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

#include <ForwardDeclarations.h>

Public Types

enum  { Dim = 2 }
 
typedef Matrix< Scalar, 2, 2 > Matrix2
 
typedef _Scalar Scalar
 
typedef Matrix< Scalar, 2, 1 > Vector2
 

Public Member Functions

EIGEN_DEVICE_FUNC Scalarangle ()
 
EIGEN_DEVICE_FUNC Scalar angle () const
 
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
 
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
 
EIGEN_DEVICE_FUNC Rotation2D operator* (const Rotation2D &other) const
 
template<int Mode, int Options>
EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Mode > operator* (const Transform< Scalar, Dim, Mode, Options > &t) const
 
EIGEN_DEVICE_FUNC Transform< Scalar, Dim, Isometryoperator* (const Translation< Scalar, Dim > &t) const
 
EIGEN_DEVICE_FUNC RotationMatrixType operator* (const UniformScaling< Scalar > &s) 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 ()
 
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 (const Scalar &a)
 
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
 

Static Public Member Functions

static EIGEN_DEVICE_FUNC Rotation2D Identity ()
 

Protected Attributes

Scalar m_angle
 

Private Types

typedef RotationBase< Rotation2D< _Scalar >, 2 > Base
 

Friends

EIGEN_DEVICE_FUNC friend Transform< Scalar, Dim, Affineoperator* (const DiagonalMatrix< Scalar, Dim > &l, const Derived &r)
 
template<typename OtherDerived >
EIGEN_DEVICE_FUNC RotationMatrixType operator* (const EigenBase< OtherDerived > &l, const Derived &r)
 

Detailed Description

Represents a rotation/orientation in a 2 dimensional space.

\geometry_module

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

Member Typedef Documentation

◆ Base

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

Definition at line 43 of file Rotation2D.h.

◆ Matrix2

Definition at line 53 of file Rotation2D.h.

◆ Scalar

typedef _Scalar Eigen::Rotation2D::Scalar

the scalar type of the coefficients

Definition at line 51 of file Rotation2D.h.

◆ Vector2

Definition at line 52 of file Rotation2D.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Dim 

Definition at line 49 of file Rotation2D.h.

Constructor & Destructor Documentation

◆ Rotation2D() [1/4]

EIGEN_DEVICE_FUNC Eigen::Rotation2D::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.

◆ Rotation2D() [2/4]

EIGEN_DEVICE_FUNC Eigen::Rotation2D::Rotation2D ( )
inline

Default constructor wihtout initialization. The represented rotation is undefined.

Definition at line 65 of file Rotation2D.h.

◆ Rotation2D() [3/4]

template<typename Derived >
EIGEN_DEVICE_FUNC Eigen::Rotation2D::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.

◆ Rotation2D() [4/4]

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

Copy constructor with scalar type conversion

Definition at line 147 of file Rotation2D.h.

Member Function Documentation

◆ angle() [1/2]

EIGEN_DEVICE_FUNC Scalar& Eigen::Rotation2D::angle ( )
inline
Returns
a read-write reference to the rotation angle

Definition at line 81 of file Rotation2D.h.

◆ angle() [2/2]

EIGEN_DEVICE_FUNC Scalar Eigen::Rotation2D::angle ( ) const
inline
Returns
the rotation angle

Definition at line 78 of file Rotation2D.h.

◆ cast()

template<typename NewScalarType >
EIGEN_DEVICE_FUNC internal::cast_return_type<Rotation2D,Rotation2D<NewScalarType> >::type Eigen::Rotation2D::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.

◆ fromRotationMatrix() [1/2]

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

◆ fromRotationMatrix() [2/2]

template<typename Derived >
EIGEN_DEVICE_FUNC Rotation2D<Scalar>& Eigen::Rotation2D::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.

◆ Identity()

static EIGEN_DEVICE_FUNC Rotation2D Eigen::Rotation2D::Identity ( )
inlinestatic

Definition at line 152 of file Rotation2D.h.

◆ inverse()

EIGEN_DEVICE_FUNC Rotation2D Eigen::Rotation2D::inverse ( ) const
inline
Returns
the inverse rotation

Definition at line 98 of file Rotation2D.h.

◆ isApprox()

EIGEN_DEVICE_FUNC bool Eigen::Rotation2D::isApprox ( const Rotation2D 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.

◆ operator*() [1/6]

template<typename OtherDerived >
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE internal::rotation_base_generic_product_selector<Derived,OtherDerived,OtherDerived::IsVectorAtCompileTime>::ReturnType Eigen::RotationBase::operator* ( typename OtherDerived  )
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.

◆ operator*() [2/6]

EIGEN_DEVICE_FUNC Rotation2D Eigen::Rotation2D::operator* ( const Rotation2D other) const
inline

Concatenates two rotations

Definition at line 101 of file Rotation2D.h.

◆ operator*() [3/6]

template<int Mode, int Options>
EIGEN_DEVICE_FUNC Transform<Scalar,Dim,Mode> Eigen::RotationBase::operator* ( int  Mode,
int  Options 
)
inline
Returns
the concatenation of the rotation *this with a transformation t

Definition at line 89 of file RotationBase.h.

◆ operator*() [4/6]

EIGEN_DEVICE_FUNC Transform<Scalar,Dim,Isometry> Eigen::RotationBase::operator*
inline
Returns
the concatenation of the rotation *this with a translation t

Definition at line 56 of file RotationBase.h.

◆ operator*() [5/6]

EIGEN_DEVICE_FUNC RotationMatrixType Eigen::RotationBase::operator*
inline
Returns
the concatenation of the rotation *this with a uniform scaling s

Definition at line 60 of file RotationBase.h.

◆ operator*() [6/6]

EIGEN_DEVICE_FUNC Vector2 Eigen::Rotation2D::operator* ( const Vector2 vec) const
inline

Applies the rotation to a 2D vector

Definition at line 109 of file Rotation2D.h.

◆ operator*=()

EIGEN_DEVICE_FUNC Rotation2D& Eigen::Rotation2D::operator*= ( const Rotation2D other)
inline

Concatenates two rotations

Definition at line 105 of file Rotation2D.h.

◆ operator=()

template<typename Derived >
EIGEN_DEVICE_FUNC Rotation2D& Eigen::Rotation2D::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.

◆ slerp()

EIGEN_DEVICE_FUNC Rotation2D Eigen::Rotation2D::slerp ( const Scalar t,
const Rotation2D 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.

◆ smallestAngle()

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

Definition at line 90 of file Rotation2D.h.

◆ smallestPositiveAngle()

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

Definition at line 84 of file Rotation2D.h.

◆ toRotationMatrix()

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

Constructs and

Returns
an equivalent 2x2 rotation matrix.

Definition at line 188 of file Rotation2D.h.

Friends And Related Function Documentation

◆ operator* [1/2]

EIGEN_DEVICE_FUNC friend Transform<Scalar,Dim,Affine> operator*
friend
Returns
the concatenation of a scaling l with the rotation r

Definition at line 80 of file RotationBase.h.

◆ operator* [2/2]

template<typename OtherDerived >
EIGEN_DEVICE_FUNC RotationMatrixType operator* ( typename OtherDerived  )
friend
Returns
the concatenation of a linear transformation l with the rotation r

Definition at line 76 of file RotationBase.h.

Member Data Documentation

◆ m_angle

Scalar Eigen::Rotation2D::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 Nov 16 2024 04:11:51