TooN 2.1
|
Class to represent a two-dimensional rotation matrix. More...
#include <so2.h>
Classes | |
struct | Invert |
Public Member Functions | |
SO2 () | |
SO2 (const Matrix< 2, 2, Precision > &rhs) | |
SO2 (const Precision l) | |
template<int R, int C, typename P , typename A > | |
SO2 & | operator= (const Matrix< R, C, P, A > &rhs) |
void | coerce () |
Precision | ln () const |
SO2 | inverse () const |
template<typename P > | |
SO2 & | operator*= (const SO2< P > &rhs) |
template<typename P > | |
SO2< typename Internal::MultiplyType < Precision, P >::type > | operator* (const SO2< P > &rhs) const |
const Matrix< 2, 2, Precision > & | get_matrix () const |
Static Public Member Functions | |
static SO2 | exp (const Precision &d) |
static Matrix< 2, 2, Precision > | generator () |
Friends | |
std::istream & | operator>> (std::istream &, SO2 &) |
std::istream & | operator>> (std::istream &, SE2< Precision > &) |
std::istream & | operator>> (std::istream &, SIM2< Precision > &) |
Related Functions | |
(Note that these are not member functions.) | |
template<typename Precision > | |
SE2< Precision > | operator* (const SO2< Precision > &lhs, const SE2< Precision > &rhs) |
template<typename Precision > | |
std::ostream & | operator<< (std::ostream &os, const SO2< Precision > &rhs) |
template<typename Precision > | |
std::istream & | operator>> (std::istream &is, SO2< Precision > &rhs) |
template<int D, typename P1 , typename PV , typename Accessor > | |
Vector< 2, typename Internal::MultiplyType< P1, PV > ::type > | operator* (const SO2< P1 > &lhs, const Vector< D, PV, Accessor > &rhs) |
template<int D, typename P1 , typename PV , typename Accessor > | |
Vector< 2, typename Internal::MultiplyType< PV, P1 > ::type > | operator* (const Vector< D, PV, Accessor > &lhs, const SO2< P1 > &rhs) |
template<int R, int C, typename P1 , typename P2 , typename Accessor > | |
Matrix< 2, C, typename Internal::MultiplyType< P1, P2 > ::type > | operator* (const SO2< P1 > &lhs, const Matrix< R, C, P2, Accessor > &rhs) |
template<int R, int C, typename P1 , typename P2 , typename Accessor > | |
Matrix< R, 2, typename Internal::MultiplyType< P1, P2 > ::type > | operator* (const Matrix< R, C, P1, Accessor > &lhs, const SO2< P2 > &rhs) |
Class to represent a two-dimensional rotation matrix.
Two-dimensional rotation matrices are members of the Special Orthogonal Lie group SO2. This group can be parameterised with one number (the rotation angle).
Assigment operator from a general matrix.
This also calls coerce() to make sure that the matrix is a valid rotation matrix.
std::istream & operator>> | ( | std::istream & | is, |
SE2< Precision > & | rhs | ||
) | [friend] |
Read an SE2 from a stream.
std::istream & operator>> | ( | std::istream & | is, |
SIM2< Precision > & | rhs | ||
) | [friend] |
Read an SIM2 from a stream.
std::ostream & operator<< | ( | std::ostream & | os, |
const SO2< Precision > & | rhs | ||
) | [related] |
Write an SO2 to a stream.
std::istream & operator>> | ( | std::istream & | is, |
SO2< Precision > & | rhs | ||
) | [related] |
Read from SO2 to a stream.
References SO2< Precision >::coerce().
Vector< 2, typename Internal::MultiplyType< P1, PV >::type > operator* | ( | const SO2< P1 > & | lhs, |
const Vector< D, PV, Accessor > & | rhs | ||
) | [related] |
Right-multiply by a Vector.
References SO2< Precision >::get_matrix().
Vector< 2, typename Internal::MultiplyType< PV, P1 >::type > operator* | ( | const Vector< D, PV, Accessor > & | lhs, |
const SO2< P1 > & | rhs | ||
) | [related] |
Left-multiply by a Vector.
References SO2< Precision >::get_matrix().
Matrix< 2, C, typename Internal::MultiplyType< P1, P2 >::type > operator* | ( | const SO2< P1 > & | lhs, |
const Matrix< R, C, P2, Accessor > & | rhs | ||
) | [related] |
Right-multiply by a Matrix.
References SO2< Precision >::get_matrix().
Matrix< R, 2, typename Internal::MultiplyType< P1, P2 >::type > operator* | ( | const Matrix< R, C, P1, Accessor > & | lhs, |
const SO2< P2 > & | rhs | ||
) | [related] |
Left-multiply by a Matrix.
References SO2< Precision >::get_matrix().