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

Represents a 3D rotation as a rotation angle around an arbitrary 3D axis. More...

#include <ForwardDeclarations.h>

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

Public Types

enum  { Dim = 3 }
 
enum  { Dim = 3 }
 
typedef Matrix< Scalar, 3, 3 > Matrix3
 
typedef Matrix< Scalar, 3, 3 > Matrix3
 
typedef Quaternion< ScalarQuaternionType
 
typedef Quaternion< ScalarQuaternionType
 
typedef _Scalar Scalar
 
typedef _Scalar Scalar
 
typedef Matrix< Scalar, 3, 1 > Vector3
 
typedef Matrix< Scalar, 3, 1 > Vector3
 
- Public Types inherited from Eigen::RotationBase< AngleAxis< _Scalar >, 3 >
enum  
 
enum  
 
typedef Matrix< Scalar, Dim, DimRotationMatrixType
 
typedef Matrix< Scalar, Dim, DimRotationMatrixType
 
typedef ei_traits< AngleAxis< _Scalar > >::Scalar Scalar
 
typedef internal::traits< AngleAxis< _Scalar > >::Scalar Scalar
 
typedef Matrix< Scalar, Dim, 1 > VectorType
 

Public Member Functions

Scalar angle () const
 
Scalarangle ()
 
Scalar angle () const
 
Scalarangle ()
 
 AngleAxis ()
 
 AngleAxis ()
 
template<typename Derived >
 AngleAxis (Scalar angle, const MatrixBase< Derived > &axis)
 
 AngleAxis (const QuaternionType &q)
 
template<typename Derived >
 AngleAxis (const MatrixBase< Derived > &m)
 
template<typename Derived >
 AngleAxis (const Scalar &angle, const MatrixBase< Derived > &axis)
 
template<typename QuatDerived >
 AngleAxis (const QuaternionBase< QuatDerived > &q)
 
template<typename Derived >
 AngleAxis (const MatrixBase< Derived > &m)
 
template<typename OtherScalarType >
 AngleAxis (const AngleAxis< OtherScalarType > &other)
 
template<typename OtherScalarType >
 AngleAxis (const AngleAxis< OtherScalarType > &other)
 
const Vector3axis () const
 
Vector3axis ()
 
const Vector3axis () const
 
Vector3axis ()
 
template<typename NewScalarType >
internal::cast_return_type< AngleAxis, AngleAxis< NewScalarType > >::type cast () const
 
template<typename NewScalarType >
internal::cast_return_type< AngleAxis, AngleAxis< NewScalarType > >::type cast () const
 
template<typename Derived >
AngleAxisfromRotationMatrix (const MatrixBase< Derived > &m)
 
template<typename Derived >
AngleAxisfromRotationMatrix (const MatrixBase< Derived > &m)
 
template<typename Derived >
AngleAxis< Scalar > & fromRotationMatrix (const MatrixBase< Derived > &mat)
 Sets *this from a 3x3 rotation matrix. More...
 
AngleAxis inverse () const
 
AngleAxis inverse () const
 
bool isApprox (const AngleAxis &other, const typename NumTraits< Scalar >::Real &prec=NumTraits< Scalar >::dummy_precision()) const
 
bool isApprox (const AngleAxis &other, typename NumTraits< Scalar >::Real prec=precision< Scalar >()) const
 
QuaternionType operator* (const AngleAxis &other) const
 
QuaternionType operator* (const QuaternionType &other) const
 
QuaternionType operator* (const AngleAxis &other) const
 
QuaternionType operator* (const QuaternionType &other) const
 
Matrix3 operator* (const Matrix3 &other) const
 
Vector3 operator* (const Vector3 &other) const
 
template<class QuatDerived >
AngleAxisoperator= (const QuaternionBase< QuatDerived > &q)
 
template<typename Derived >
AngleAxisoperator= (const MatrixBase< Derived > &m)
 
AngleAxisoperator= (const QuaternionType &q)
 
template<typename Derived >
AngleAxisoperator= (const MatrixBase< Derived > &m)
 
template<typename QuatDerived >
AngleAxis< Scalar > & operator= (const QuaternionBase< QuatDerived > &q)
 
template<typename Derived >
AngleAxis< Scalar > & operator= (const MatrixBase< Derived > &mat)
 
Matrix3 toRotationMatrix (void) const
 
Matrix3 toRotationMatrix (void) const
 
- Public Member Functions inherited from Eigen::RotationBase< AngleAxis< _Scalar >, 3 >
VectorType _transformVector (const OtherVectorType &v) const
 
const AngleAxis< _Scalar > & derived () const
 
AngleAxis< _Scalar > & derived ()
 
const AngleAxis< _Scalar > & derived () const
 
AngleAxis< _Scalar > & derived ()
 
AngleAxis< _Scalar > inverse () const
 
AngleAxis< _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< AngleAxis< _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 const AngleAxis Identity ()
 

Protected Attributes

Scalar m_angle
 
Vector3 m_axis
 

Private Types

typedef RotationBase< AngleAxis< _Scalar >, 3 > Base
 
typedef RotationBase< AngleAxis< _Scalar >, 3 > Base
 

Friends

QuaternionType operator* (const QuaternionType &a, const AngleAxis &b)
 
QuaternionType operator* (const QuaternionType &a, const AngleAxis &b)
 
Matrix3 operator* (const Matrix3 &a, const AngleAxis &b)
 

Detailed Description

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

Represents a 3D rotation as a rotation angle around an arbitrary 3D axis.

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

The following two typedefs are provided for convenience:

AngleAxisForEuler How to define a rotation from Euler-angles

Combined with MatrixBase::Unit{X,Y,Z}, AngleAxis can be used to easily mimic Euler-angles. Here is an example:

Output:

Note
This class is not aimed to be used to store a rotation transformation, but rather to make easier the creation of other rotation (Quaternion, rotation Matrix) and transformation objects.
See also
class Quaternion, class Transform, MatrixBase::UnitX()
Parameters
_Scalarthe scalar type, i.e., the type of the coefficients.
Warning
When setting up an AngleAxis object, the axis vector must be normalized.

The following two typedefs are provided for convenience:

Combined with MatrixBase::Unit{X,Y,Z}, AngleAxis can be used to easily mimic Euler-angles. Here is an example:

Output:

Note
This class is not aimed to be used to store a rotation transformation, but rather to make easier the creation of other rotation (Quaternion, rotation Matrix) and transformation objects.
See also
class Quaternion, class Transform, MatrixBase::UnitX()

Definition at line 235 of file ForwardDeclarations.h.

Member Typedef Documentation

template<typename _Scalar>
typedef RotationBase<AngleAxis<_Scalar>,3> Eigen::AngleAxis< _Scalar >::Base
private

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

template<typename _Scalar>
typedef RotationBase<AngleAxis<_Scalar>,3> Eigen::AngleAxis< _Scalar >::Base
private

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

template<typename _Scalar>
typedef Matrix<Scalar,3,3> Eigen::AngleAxis< _Scalar >::Matrix3

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

template<typename _Scalar>
typedef Matrix<Scalar,3,3> Eigen::AngleAxis< _Scalar >::Matrix3

Definition at line 60 of file Geometry/AngleAxis.h.

template<typename _Scalar>
typedef Quaternion<Scalar> Eigen::AngleAxis< _Scalar >::QuaternionType

Definition at line 59 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
typedef Quaternion<Scalar> Eigen::AngleAxis< _Scalar >::QuaternionType

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

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

the scalar type of the coefficients

Definition at line 56 of file Eigen2Support/Geometry/AngleAxis.h.

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

the scalar type of the coefficients

Definition at line 59 of file Geometry/AngleAxis.h.

template<typename _Scalar>
typedef Matrix<Scalar,3,1> Eigen::AngleAxis< _Scalar >::Vector3

Definition at line 58 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
typedef Matrix<Scalar,3,1> Eigen::AngleAxis< _Scalar >::Vector3

Definition at line 61 of file Geometry/AngleAxis.h.

Member Enumeration Documentation

template<typename _Scalar>
anonymous enum
Enumerator
Dim 

Definition at line 54 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
anonymous enum
Enumerator
Dim 

Definition at line 57 of file Geometry/AngleAxis.h.

Constructor & Destructor Documentation

template<typename _Scalar>
Eigen::AngleAxis< _Scalar >::AngleAxis ( )
inline

Default constructor without initialization.

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

template<typename _Scalar>
template<typename Derived >
Eigen::AngleAxis< _Scalar >::AngleAxis ( Scalar  angle,
const MatrixBase< Derived > &  axis 
)
inline

Constructs and initialize the angle-axis rotation from an angle in radian and an axis which must be normalized.

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

template<typename _Scalar>
Eigen::AngleAxis< _Scalar >::AngleAxis ( const QuaternionType q)
inline

Constructs and initialize the angle-axis rotation from a quaternion q.

Definition at line 75 of file Eigen2Support/Geometry/AngleAxis.h.

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

Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix.

Definition at line 78 of file Eigen2Support/Geometry/AngleAxis.h.

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

Copy constructor with scalar type conversion

Definition at line 133 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
Eigen::AngleAxis< _Scalar >::AngleAxis ( )
inline

Default constructor without initialization.

Definition at line 72 of file Geometry/AngleAxis.h.

template<typename _Scalar>
template<typename Derived >
Eigen::AngleAxis< _Scalar >::AngleAxis ( const Scalar angle,
const MatrixBase< Derived > &  axis 
)
inline

Constructs and initialize the angle-axis rotation from an angle in radian and an axis which must be normalized.

Warning
If the axis vector is not normalized, then the angle-axis object represents an invalid rotation.

Definition at line 79 of file Geometry/AngleAxis.h.

template<typename _Scalar>
template<typename QuatDerived >
Eigen::AngleAxis< _Scalar >::AngleAxis ( const QuaternionBase< QuatDerived > &  q)
inlineexplicit

Constructs and initialize the angle-axis rotation from a quaternion q.

Definition at line 81 of file Geometry/AngleAxis.h.

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

Constructs and initialize the angle-axis rotation from a 3x3 rotation matrix.

Definition at line 84 of file Geometry/AngleAxis.h.

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

Copy constructor with scalar type conversion

Definition at line 128 of file Geometry/AngleAxis.h.

Member Function Documentation

template<typename _Scalar>
Scalar Eigen::AngleAxis< _Scalar >::angle ( ) const
inline

Definition at line 80 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
Scalar& Eigen::AngleAxis< _Scalar >::angle ( )
inline

Definition at line 81 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
Scalar Eigen::AngleAxis< _Scalar >::angle ( ) const
inline

Definition at line 86 of file Geometry/AngleAxis.h.

template<typename _Scalar>
Scalar& Eigen::AngleAxis< _Scalar >::angle ( )
inline

Definition at line 87 of file Geometry/AngleAxis.h.

template<typename _Scalar>
const Vector3& Eigen::AngleAxis< _Scalar >::axis ( ) const
inline

Definition at line 83 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
Vector3& Eigen::AngleAxis< _Scalar >::axis ( )
inline

Definition at line 84 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
const Vector3& Eigen::AngleAxis< _Scalar >::axis ( ) const
inline

Definition at line 89 of file Geometry/AngleAxis.h.

template<typename _Scalar>
Vector3& Eigen::AngleAxis< _Scalar >::axis ( )
inline

Definition at line 90 of file Geometry/AngleAxis.h.

template<typename _Scalar>
template<typename NewScalarType >
internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type Eigen::AngleAxis< _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 123 of file Geometry/AngleAxis.h.

template<typename _Scalar>
template<typename NewScalarType >
internal::cast_return_type<AngleAxis,AngleAxis<NewScalarType> >::type Eigen::AngleAxis< _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 128 of file Eigen2Support/Geometry/AngleAxis.h.

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

Sets *this from a 3x3 rotation matrix.

Definition at line 195 of file Geometry/AngleAxis.h.

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

Definition at line 134 of file Geometry/AngleAxis.h.

template<typename _Scalar>
AngleAxis Eigen::AngleAxis< _Scalar >::inverse ( void  ) const
inline
Returns
the inverse rotation, i.e., an angle-axis with opposite rotation angle

Definition at line 105 of file Geometry/AngleAxis.h.

template<typename _Scalar>
AngleAxis Eigen::AngleAxis< _Scalar >::inverse ( ) const
inline
Returns
the inverse rotation, i.e., an angle-axis with opposite rotation angle

Definition at line 111 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
bool Eigen::AngleAxis< _Scalar >::isApprox ( const AngleAxis< _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 140 of file Geometry/AngleAxis.h.

template<typename _Scalar>
bool Eigen::AngleAxis< _Scalar >::isApprox ( const AngleAxis< _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 143 of file Eigen2Support/Geometry/AngleAxis.h.

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

Concatenates two rotations

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

template<typename _Scalar>
QuaternionType Eigen::AngleAxis< _Scalar >::operator* ( const QuaternionType other) const
inline

Concatenates two rotations

Definition at line 91 of file Eigen2Support/Geometry/AngleAxis.h.

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

Concatenates two rotations

Definition at line 93 of file Geometry/AngleAxis.h.

template<typename _Scalar>
QuaternionType Eigen::AngleAxis< _Scalar >::operator* ( const QuaternionType other) const
inline

Concatenates two rotations

Definition at line 97 of file Geometry/AngleAxis.h.

template<typename _Scalar>
Matrix3 Eigen::AngleAxis< _Scalar >::operator* ( const Matrix3 other) const
inline

Concatenates two rotations

Definition at line 99 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
Vector3 Eigen::AngleAxis< _Scalar >::operator* ( const Vector3 other) const
inline

Applies rotation to vector

Definition at line 107 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
template<class QuatDerived >
AngleAxis& Eigen::AngleAxis< _Scalar >::operator= ( const QuaternionBase< QuatDerived > &  q)
template<typename _Scalar>
template<typename Derived >
AngleAxis& Eigen::AngleAxis< _Scalar >::operator= ( const MatrixBase< Derived > &  m)
template<typename Scalar >
AngleAxis< Scalar > & Eigen::AngleAxis< Scalar >::operator= ( const QuaternionType q)

Set *this from a quaternion. The axis is normalized.

Definition at line 158 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
template<typename Derived >
AngleAxis& Eigen::AngleAxis< _Scalar >::operator= ( const MatrixBase< Derived > &  m)
template<typename _Scalar>
template<typename QuatDerived >
AngleAxis<Scalar>& Eigen::AngleAxis< _Scalar >::operator= ( const QuaternionBase< QuatDerived > &  q)

Set *this from a unit quaternion. The axis is normalized.

Warning
As any other method dealing with quaternion, if the input quaternion is not normalized then the result is undefined.

Definition at line 159 of file Geometry/AngleAxis.h.

template<typename Scalar >
template<typename Derived >
AngleAxis< Scalar > & Eigen::AngleAxis< Scalar >::operator= ( const MatrixBase< Derived > &  mat)

Set *this from a 3x3 rotation matrix mat.

Definition at line 178 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
Matrix3 Eigen::AngleAxis< _Scalar >::toRotationMatrix ( void  ) const
template<typename Scalar >
AngleAxis< Scalar >::Matrix3 Eigen::AngleAxis< Scalar >::toRotationMatrix ( void  ) const

Constructs and

Returns
an equivalent 3x3 rotation matrix.

Definition at line 189 of file Eigen2Support/Geometry/AngleAxis.h.

Friends And Related Function Documentation

template<typename _Scalar>
QuaternionType operator* ( const QuaternionType a,
const AngleAxis< _Scalar > &  b 
)
friend

Concatenates two rotations

Definition at line 95 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
QuaternionType operator* ( const QuaternionType a,
const AngleAxis< _Scalar > &  b 
)
friend

Concatenates two rotations

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

template<typename _Scalar>
Matrix3 operator* ( const Matrix3 a,
const AngleAxis< _Scalar > &  b 
)
friend

Concatenates two rotations

Definition at line 103 of file Eigen2Support/Geometry/AngleAxis.h.

Member Data Documentation

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

Definition at line 64 of file Eigen2Support/Geometry/AngleAxis.h.

template<typename _Scalar>
Vector3 Eigen::AngleAxis< _Scalar >::m_axis
protected

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


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:27