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 Types inherited from Eigen::RotationBase< Rotation2D< _Scalar >, 2 > | |
enum | |
typedef Matrix< Scalar, Dim, Dim > | RotationMatrixType |
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 Scalar & | angle () |
template<typename NewScalarType > | |
EIGEN_DEVICE_FUNC internal::cast_return_type< Rotation2D, Rotation2D< NewScalarType > >::type | cast () const |
template<typename Derived > | |
EIGEN_DEVICE_FUNC Rotation2D & | fromRotationMatrix (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 Rotation2D & | operator*= (const Rotation2D &other) |
template<typename Derived > | |
EIGEN_DEVICE_FUNC Rotation2D & | operator= (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 |
Represents a rotation/orientation in a 2 dimensional space.
_Scalar | the 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.
Definition at line 269 of file ForwardDeclarations.h.
|
private |
Definition at line 43 of file Rotation2D.h.
typedef Matrix<Scalar,2,2> Eigen::Rotation2D< _Scalar >::Matrix2 |
Definition at line 53 of file Rotation2D.h.
typedef _Scalar Eigen::Rotation2D< _Scalar >::Scalar |
the scalar type of the coefficients
Definition at line 51 of file Rotation2D.h.
typedef Matrix<Scalar,2,1> Eigen::Rotation2D< _Scalar >::Vector2 |
Definition at line 52 of file Rotation2D.h.
anonymous enum |
Enumerator | |
---|---|
Dim |
Definition at line 49 of file Rotation2D.h.
|
inlineexplicit |
Construct a 2D counter clock wise rotation from the angle a in radian.
Definition at line 62 of file Rotation2D.h.
|
inline |
Default constructor wihtout initialization. The represented rotation is undefined.
Definition at line 65 of file Rotation2D.h.
|
inlineexplicit |
Construct a 2D rotation from a 2x2 rotation matrix mat.
Definition at line 72 of file Rotation2D.h.
|
inlineexplicit |
Copy constructor with scalar type conversion
Definition at line 147 of file Rotation2D.h.
|
inline |
Definition at line 78 of file Rotation2D.h.
|
inline |
Definition at line 81 of file Rotation2D.h.
|
inline |
*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.
EIGEN_DEVICE_FUNC Rotation2D& Eigen::Rotation2D< _Scalar >::fromRotationMatrix | ( | const MatrixBase< Derived > & | m | ) |
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.
|
inlinestatic |
Definition at line 152 of file Rotation2D.h.
|
inline |
Definition at line 98 of file Rotation2D.h.
|
inline |
true
if *this
is approximately equal to other, within the precision determined by prec.Definition at line 158 of file Rotation2D.h.
|
inline |
Concatenates two rotations
Definition at line 101 of file Rotation2D.h.
|
inline |
Applies the rotation to a 2D vector
Definition at line 109 of file Rotation2D.h.
|
inline |
Concatenates two rotations
Definition at line 105 of file Rotation2D.h.
|
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()
Definition at line 124 of file Rotation2D.h.
|
inline |
*this
and other using parameter t. It is in fact equivalent to a linear interpolation. Definition at line 130 of file Rotation2D.h.
|
inline |
Definition at line 90 of file Rotation2D.h.
|
inline |
Definition at line 84 of file Rotation2D.h.
Rotation2D< Scalar >::Matrix2 EIGEN_DEVICE_FUNC Eigen::Rotation2D< Scalar >::toRotationMatrix | ( | void | ) | const |
Constructs and
Definition at line 188 of file Rotation2D.h.
|
protected |
Definition at line 57 of file Rotation2D.h.