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 |
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, Affine > | operator* (const DiagonalMatrix< Scalar, Dim > &l, const Derived &r) |
template<typename OtherDerived > | |
EIGEN_DEVICE_FUNC RotationMatrixType | operator* (const EigenBase< OtherDerived > &l, const Derived &r) |
Represents a rotation/orientation in a 2 dimensional space.
\geometry_module
_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 289 of file ForwardDeclarations.h.
|
private |
Definition at line 43 of file Rotation2D.h.
typedef Matrix<Scalar,2,2> Eigen::Rotation2D::Matrix2 |
Definition at line 53 of file Rotation2D.h.
typedef _Scalar Eigen::Rotation2D::Scalar |
the scalar type of the coefficients
Definition at line 51 of file Rotation2D.h.
typedef Matrix<Scalar,2,1> Eigen::Rotation2D::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 81 of file Rotation2D.h.
|
inline |
Definition at line 78 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::fromRotationMatrix | ( | const MatrixBase< Derived > & | m | ) |
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.
|
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 |
*this
with a generic expression e e can be:Definition at line 71 of file RotationBase.h.
|
inline |
Concatenates two rotations
Definition at line 101 of file Rotation2D.h.
|
inline |
*this
with a transformation t Definition at line 89 of file RotationBase.h.
|
inline |
*this
with a translation t Definition at line 56 of file RotationBase.h.
|
inline |
*this
with a uniform scaling s Definition at line 60 of file RotationBase.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::toRotationMatrix | ( | ) | const |
Constructs and
Definition at line 188 of file Rotation2D.h.
|
friend |
Definition at line 80 of file RotationBase.h.
|
friend |
Definition at line 76 of file RotationBase.h.
|
protected |
Definition at line 57 of file Rotation2D.h.