![]() |
RobWorkProject
23.9.11-
|
A 2x2 rotation matrix \( \mathbf{R}\in SO(2) \). More...
#include <Rotation2D.hpp>
Public Types | |
| typedef T | value_type |
| Value type. | |
| typedef Eigen::Rotation2D< T > | EigenMatrix2x2 |
| The type of the internal Eigen matrix implementation. | |
Public Member Functions | |
| Rotation2D () | |
| A rotation matrix with uninitialized storage. | |
| Rotation2D (T r11, T r12, T r21, T r22) | |
| Constructs an initialized 2x2 rotation matrix. More... | |
| Rotation2D (const rw::math::Vector2D< T > &i, const rw::math::Vector2D< T > &j) | |
| Constructs an initialized 2x2 rotation matrix \( \robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{cc} \robabx{a}{b}{\mathbf{i}} & \robabx{a}{b}{\mathbf{j}} \end{array} \right] \). More... | |
| Rotation2D (const T theta) | |
| Constructs an initialized 2x2 rotation matrix \( \robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{cc} \robabx{a}{b}{\mathbf{i}} & \robabx{a}{b}{\mathbf{j}} \end{array} \right] \). More... | |
| Rotation2D (const rw::math::Vector2D< T > &i) | |
| Construct an initialized 2x2 rotation matrix. More... | |
| template<class R > | |
| Rotation2D (const EigenMatrix2x2 &m) | |
| Construct a rotation matrix from an Eigen matrix. | |
| T & | operator() (size_t row, size_t column) |
| Returns reference to matrix element. More... | |
| const T & | operator() (size_t row, size_t column) const |
| Returns reference to matrix element. More... | |
| bool | operator== (const Rotation2D< T > &rhs) const |
| Comparison operator. More... | |
| bool | operator!= (const Rotation2D< T > &rhs) const |
| Comparison operator. More... | |
| EigenMatrix2x2 | e () const |
| Returns a Eigen 2x2 matrix \( \mathbf{M}\in SO(2) \) that represents this rotation. More... | |
| const Rotation2D | operator* (const Rotation2D &bRc) const |
| Calculates \( \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}} \) where this object is \( \robabx{a}{b}{\mathbf{R}} \). More... | |
| const rw::math::Vector2D< T > | operator* (const rw::math::Vector2D< T > &bVc) const |
| Calculates \( \robabx{a}{c}{\mathbf{v}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{v}} \) where this object is \( \robabx{a}{b}{\mathbf{R}} \). More... | |
Static Public Member Functions | |
| static const Rotation2D | identity () |
| Constructs a 2x2 rotation matrix set to identity. More... | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const Rotation2D &r) |
| Writes rotation matrix to stream. More... | |
Related Functions | |
(Note that these are not member functions.) | |
| template<class T > | |
| const Rotation2D< T > | inverse (const Rotation2D< T > &aRb) |
| The inverse \( \robabx{b}{a}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}}^{-1} \) of a rotation matrix. More... | |
| template<> | |
| void | write (const rw::math::Rotation2D< double > &sobject, rw::common::OutputArchive &oarchive, const std::string &id) |
| template<> | |
| void | write (const rw::math::Rotation2D< float > &sobject, rw::common::OutputArchive &oarchive, const std::string &id) |
| template<> | |
| void | read (rw::math::Rotation2D< double > &sobject, rw::common::InputArchive &iarchive, const std::string &id) |
| template<> | |
| void | read (rw::math::Rotation2D< float > &sobject, rw::common::InputArchive &iarchive, const std::string &id) |
| template<class Archive , class T > | |
| void | serialize (Archive &archive, rw::math::Rotation2D< T > &R, const unsigned int version) |
| Boost serialization. More... | |
A 2x2 rotation matrix \( \mathbf{R}\in SO(2) \).
\( \mathbf{R}= \left[ \begin{array}{cc} {}^A\hat{X}_B & {}^A\hat{Y}_B \end{array} \right] = \left[ \begin{array}{cc} r_{11} & r_{12} \\ r_{21} & r_{22} \end{array} \right] \)
|
inline |
Constructs an initialized 2x2 rotation matrix.
| r11 | \( r_{11} \) |
| r12 | \( r_{12} \) |
| r21 | \( r_{21} \) |
| r22 | \( r_{22} \) |
\( \mathbf{R} = \left[ \begin{array}{cc} r_{11} & r_{12} \\ r_{21} & r_{22} \end{array} \right] \)
|
inline |
Constructs an initialized 2x2 rotation matrix \( \robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{cc} \robabx{a}{b}{\mathbf{i}} & \robabx{a}{b}{\mathbf{j}} \end{array} \right] \).
| i | \( \robabx{a}{b}{\mathbf{i}} \) |
| j | \( \robabx{a}{b}{\mathbf{j}} \) |
|
inline |
Constructs an initialized 2x2 rotation matrix \( \robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{cc} \robabx{a}{b}{\mathbf{i}} & \robabx{a}{b}{\mathbf{j}} \end{array} \right] \).
| theta |
|
inline |
Construct an initialized 2x2 rotation matrix.
The second of column of the matrix is deduced from the first column.
| i | [in] The first column of the rotation matrix. |
|
inline |
Returns a Eigen 2x2 matrix \( \mathbf{M}\in SO(2) \) that represents this rotation.
|
inlinestatic |
Constructs a 2x2 rotation matrix set to identity.
\( \mathbf{R} = \left[ \begin{array}{cc} 1 & 0\\ 0 & 1 \end{array} \right] \)
|
inline |
Comparison operator.
The comparison operator makes a element wise comparison. Returns true if any of the elements are different.
| rhs | [in] Rotation2D to compare with |
|
inline |
Returns reference to matrix element.
| row | [in] row |
| column | [in] column |
|
inline |
Returns reference to matrix element.
| row | [in] row |
| column | [in] column |
|
inline |
Calculates \( \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}} \) where this object is \( \robabx{a}{b}{\mathbf{R}} \).
| bRc | [in] \( \robabx{b}{c}{\mathbf{R}} \) |
|
inline |
Calculates \( \robabx{a}{c}{\mathbf{v}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{v}} \) where this object is \( \robabx{a}{b}{\mathbf{R}} \).
| bVc | [in] \( \robabx{b}{c}{\mathbf{v}} \) |
|
inline |
Comparison operator.
The comparison operator makes a element wise comparison. Returns true only if all elements are equal.
| rhs | [in] Rotation2D to compare with |
|
related |
The inverse \( \robabx{b}{a}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}}^{-1} \) of a rotation matrix.
| aRb | [in] the rotation matrix \( \robabx{a}{b}{\mathbf{R}} \) |
\( \robabx{b}{a}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}}^{-1} = \robabx{a}{b}{\mathbf{R}}^T \)
|
friend |
Writes rotation matrix to stream.
| os | [in/out] output stream to use |
| r | [in] rotation matrix to print |
|
related |
Enable read-serialization of class T by overloading this method. Data is read from iarchive and filled into sobject.
| sobject | [out] the object in which the data should be streamed into |
| iarchive | [in] the InputArchive from which to read data. |
| id | [in] The id of the serialized sobject. |
|
related |
Enable read-serialization of class T by overloading this method. Data is read from iarchive and filled into sobject.
| sobject | [out] the object in which the data should be streamed into |
| iarchive | [in] the InputArchive from which to read data. |
| id | [in] The id of the serialized sobject. |
|
related |
Boost serialization.
| archive | [in] the boost archive to read from or write to. |
| R | [in/out] the rotation matrix to read/write. |
| version | [in] class version (currently version 0). |
|
related |
Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject.
| sobject | [in] the object from which the data should be streamed. |
| oarchive | [out] the OutputArchive in which data should be written. |
| id | [in] The id of the serialized sobject. |
|
related |
Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject.
| sobject | [in] the object from which the data should be streamed. |
| oarchive | [out] the OutputArchive in which data should be written. |
| id | [in] The id of the serialized sobject. |