#include <se3.h>
Public Member Functions | |
template<int R, int C, typename P2 , typename Accessor > | |
Matrix< 6, 6, Precision > | adjoint (const Matrix< R, C, P2, Accessor > &M) const |
template<int S, typename P2 , typename Accessor > | |
Vector< 6, Precision > | adjoint (const Vector< S, P2, Accessor > &vect) const |
template<int S, typename P , typename VA > | |
SE3< Precision > | exp (const Vector< S, P, VA > &mu) |
const SO3< Precision > & | get_rotation () const |
SO3< Precision > & | get_rotation () |
Returns the rotation part of the transformation as a SO3. | |
const Vector< 3, Precision > & | get_translation () const |
Vector< 3, Precision > & | get_translation () |
Returns the translation part of the transformation as a Vector. | |
SE3 | inverse () const |
SE3 & | left_multiply_by (const SE3 &left) |
Vector< 6, Precision > | ln () const |
SE3 | operator* (const SE3 &rhs) const |
SE3 & | operator*= (const SE3 &rhs) |
template<class IP , int S, typename P , typename A > | |
SE3 (const Operator< Internal::Identity< IP > > &, const Vector< S, P, A > &T) | |
template<int S, typename P , typename A > | |
SE3 (const Vector< S, P, A > &v) | |
template<int S, typename P , typename A > | |
SE3 (const SO3< Precision > &R, const Vector< S, P, A > &T) | |
SE3 () | |
Default constructor. Initialises the the rotation to zero (the identity) and the translation to zero. | |
template<int R, int C, typename P2 , typename Accessor > | |
Matrix< 6, 6, Precision > | trinvadjoint (const Matrix< R, C, P2, Accessor > &M) const |
template<int S, typename P2 , typename Accessor > | |
Vector< 6, Precision > | trinvadjoint (const Vector< S, P2, Accessor > &vect) const |
Static Public Member Functions | |
template<int S, typename P , typename A > | |
static SE3 | exp (const Vector< S, P, A > &vect) |
static Matrix< 4, 4, Precision > | generator (int i) |
template<typename Base > | |
static Vector< 4, Precision > | generator_field (int i, const Vector< 4, Precision, Base > &pos) |
Returns the i-th generator times pos. | |
static Vector< 6, Precision > | ln (const SE3 &se3) |
Private Attributes | |
SO3< Precision > | my_rotation |
Vector< 3, Precision > | my_translation |
Related Functions | |
(Note that these are not member functions.) | |
template<int Rows, int C, typename PM , typename A , typename P > | |
Matrix< Rows, 4, typename Internal::MultiplyType< PM, P > ::type > | operator* (const Matrix< Rows, C, PM, A > &lhs, const SE3< P > &rhs) |
template<int R, int Cols, typename PM , typename A , typename P > | |
Matrix< 4, Cols, typename Internal::MultiplyType< P, PM > ::type > | operator* (const SE3< P > &lhs, const Matrix< R, Cols, PM, A > &rhs) |
template<int S, typename PV , typename A , typename P > | |
Vector< 4, typename Internal::MultiplyType< P, PV > ::type > | operator* (const Vector< S, PV, A > &lhs, const SE3< P > &rhs) |
template<typename PV , typename A , typename P > | |
Vector< 3, typename Internal::MultiplyType< P, PV > ::type > | operator* (const SE3< P > &lhs, const Vector< 3, PV, A > &rhs) |
template<int S, typename PV , typename A , typename P > | |
Vector< 4, typename Internal::MultiplyType< P, PV > ::type > | operator* (const SE3< P > &lhs, const Vector< S, PV, A > &rhs) |
template<typename Precision > | |
std::ostream & | operator<< (std::ostream &os, const SE3< Precision > &rhs) |
Represent a three-dimensional Euclidean transformation (a rotation and a translation). This can be represented by a matrix operating on a homogeneous co-ordinate, so that a vector is transformed to a new location by
This transformation is a member of the Special Euclidean Lie group SE3. These can be parameterised six numbers (in the space of the Lie Algebra). In this class, the first three parameters are a translation vector while the second three are a rotation vector, whose direction is the axis of rotation and length the amount of rotation (in radians), as for SO3
Definition at line 50 of file se3.h.
Matrix< Rows, 4, typename Internal::MultiplyType< PM, P >::type > operator* | ( | const Matrix< Rows, C, PM, A > & | lhs, | |
const SE3< P > & | rhs | |||
) | [related] |
Matrix< 4, Cols, typename Internal::MultiplyType< P, PM >::type > operator* | ( | const SE3< P > & | lhs, | |
const Matrix< R, Cols, PM, A > & | rhs | |||
) | [related] |
Vector< 4, typename Internal::MultiplyType< P, PV >::type > operator* | ( | const Vector< S, PV, A > & | lhs, | |
const SE3< P > & | rhs | |||
) | [related] |
Vector< 3, typename Internal::MultiplyType< P, PV >::type > operator* | ( | const SE3< P > & | lhs, | |
const Vector< 3, PV, A > & | rhs | |||
) | [related] |
Vector< 4, typename Internal::MultiplyType< P, PV >::type > operator* | ( | const SE3< P > & | lhs, | |
const Vector< S, PV, A > & | rhs | |||
) | [related] |
std::ostream & operator<< | ( | std::ostream & | os, | |
const SE3< Precision > & | rhs | |||
) | [related] |
SO3<Precision> TooN::SE3< Precision >::my_rotation [private] |
Vector<3, Precision> TooN::SE3< Precision >::my_translation [private] |