Public Types | Public Member Functions | Static Public Member Functions | Friends | List of all members
se3::SE3Tpl< _Scalar, _Options > Class Template Reference

The rigid transform aMb can be seen in two ways: More...

#include <gepetto/viewer/corba/se3.hh>

Public Types

enum  { Options = _Options }
 
enum  {
  LINEAR = 0,
  ANGULAR = 3
}
 
typedef _Scalar Scalar
 
typedef Eigen::Matrix< Scalar, 3, 1, OptionsVector3
 
typedef Eigen::Matrix< Scalar, 4, 1, OptionsVector4
 
typedef Eigen::Matrix< Scalar, 3, 3, OptionsMatrix3
 
typedef Eigen::Matrix< Scalar, 6, 1, OptionsVector6
 
typedef Eigen::Matrix< Scalar, 4, 4, OptionsMatrix4
 
typedef Eigen::Matrix< Scalar, 6, 6, OptionsMatrix6
 
typedef Eigen::Quaternion< Scalar, OptionsQuaternion
 

Public Member Functions

 SE3Tpl ()
 
template<typename M3 , typename v3 >
 SE3Tpl (const Eigen::MatrixBase< M3 > &R, const Eigen::MatrixBase< v3 > &p)
 
 SE3Tpl (int)
 
template<typename S2 , int O2>
 SE3Tpl (const SE3Tpl< S2, O2 > clone)
 
template<typename S2 , int O2>
SE3Tploperator= (const SE3Tpl< S2, O2 > &other)
 
const Matrix3rotation () const
 
const Vector3translation () const
 
Matrix3rotation ()
 
Vector3translation ()
 
void rotation (const Matrix3 &R)
 
void translation (const Vector3 &p)
 
Eigen::Matrix< Scalar, 4, 4, OptionstoHomogeneousMatrix () const
 
Matrix6 toActionMatrix () const
 Vb.toVector() = bXa.toMatrix() * Va.toVector() More...
 
SE3Tpl inverse () const
 aXb = bXa.inverse() More...
 
void disp (std::ostream &os) const
 
template<typename D >
internal::ActionReturn< D >::Type act (const D &d) const
 ay = aXb.act(by) More...
 
template<typename D >
internal::ActionReturn< D >::Type actInv (const D &d) const
 by = aXb.actInv(ay) More...
 
Vector3 act (const Vector3 &p) const
 
Vector3 actInv (const Vector3 &p) const
 
SE3Tpl act (const SE3Tpl &m2) const
 
SE3Tpl actInv (const SE3Tpl &m2) const
 
 operator Matrix4 () const
 
 operator Matrix6 () const
 
SE3Tpl operator* (const SE3Tpl &m2) const
 

Static Public Member Functions

static SE3Tpl Identity ()
 
static SE3Tpl Random ()
 

Friends

std::ostream & operator<< (std::ostream &os, const SE3Tpl &X)
 

Detailed Description

template<typename _Scalar, int _Options>
class se3::SE3Tpl< _Scalar, _Options >

The rigid transform aMb can be seen in two ways:

Member Typedef Documentation

◆ Matrix3

template<typename _Scalar, int _Options>
typedef Eigen::Matrix<Scalar,3,3,Options> se3::SE3Tpl< _Scalar, _Options >::Matrix3

◆ Matrix4

template<typename _Scalar, int _Options>
typedef Eigen::Matrix<Scalar,4,4,Options> se3::SE3Tpl< _Scalar, _Options >::Matrix4

◆ Matrix6

template<typename _Scalar, int _Options>
typedef Eigen::Matrix<Scalar,6,6,Options> se3::SE3Tpl< _Scalar, _Options >::Matrix6

◆ Quaternion

template<typename _Scalar, int _Options>
typedef Eigen::Quaternion<Scalar,Options> se3::SE3Tpl< _Scalar, _Options >::Quaternion

◆ Scalar

template<typename _Scalar, int _Options>
typedef _Scalar se3::SE3Tpl< _Scalar, _Options >::Scalar

◆ Vector3

template<typename _Scalar, int _Options>
typedef Eigen::Matrix<Scalar,3,1,Options> se3::SE3Tpl< _Scalar, _Options >::Vector3

◆ Vector4

template<typename _Scalar, int _Options>
typedef Eigen::Matrix<Scalar,4,1,Options> se3::SE3Tpl< _Scalar, _Options >::Vector4

◆ Vector6

template<typename _Scalar, int _Options>
typedef Eigen::Matrix<Scalar,6,1,Options> se3::SE3Tpl< _Scalar, _Options >::Vector6

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar, int _Options>
anonymous enum
Enumerator
Options 

◆ anonymous enum

template<typename _Scalar, int _Options>
anonymous enum
Enumerator
LINEAR 
ANGULAR 

Constructor & Destructor Documentation

◆ SE3Tpl() [1/4]

template<typename _Scalar, int _Options>
se3::SE3Tpl< _Scalar, _Options >::SE3Tpl ( )
inline

◆ SE3Tpl() [2/4]

template<typename _Scalar, int _Options>
template<typename M3 , typename v3 >
se3::SE3Tpl< _Scalar, _Options >::SE3Tpl ( const Eigen::MatrixBase< M3 > &  R,
const Eigen::MatrixBase< v3 > &  p 
)
inline

◆ SE3Tpl() [3/4]

template<typename _Scalar, int _Options>
se3::SE3Tpl< _Scalar, _Options >::SE3Tpl ( int  )
inline

◆ SE3Tpl() [4/4]

template<typename _Scalar, int _Options>
template<typename S2 , int O2>
se3::SE3Tpl< _Scalar, _Options >::SE3Tpl ( const SE3Tpl< S2, O2 >  clone)
inline

Member Function Documentation

◆ act() [1/3]

template<typename _Scalar, int _Options>
template<typename D >
internal::ActionReturn<D>::Type se3::SE3Tpl< _Scalar, _Options >::act ( const D &  d) const
inline

ay = aXb.act(by)

◆ act() [2/3]

template<typename _Scalar, int _Options>
Vector3 se3::SE3Tpl< _Scalar, _Options >::act ( const Vector3 p) const
inline

◆ act() [3/3]

template<typename _Scalar, int _Options>
SE3Tpl se3::SE3Tpl< _Scalar, _Options >::act ( const SE3Tpl< _Scalar, _Options > &  m2) const
inline

◆ actInv() [1/3]

template<typename _Scalar, int _Options>
template<typename D >
internal::ActionReturn<D>::Type se3::SE3Tpl< _Scalar, _Options >::actInv ( const D &  d) const
inline

by = aXb.actInv(ay)

◆ actInv() [2/3]

template<typename _Scalar, int _Options>
Vector3 se3::SE3Tpl< _Scalar, _Options >::actInv ( const Vector3 p) const
inline

◆ actInv() [3/3]

template<typename _Scalar, int _Options>
SE3Tpl se3::SE3Tpl< _Scalar, _Options >::actInv ( const SE3Tpl< _Scalar, _Options > &  m2) const
inline

◆ disp()

template<typename _Scalar, int _Options>
void se3::SE3Tpl< _Scalar, _Options >::disp ( std::ostream &  os) const
inline

◆ Identity()

template<typename _Scalar, int _Options>
static SE3Tpl se3::SE3Tpl< _Scalar, _Options >::Identity ( )
inlinestatic

◆ inverse()

template<typename _Scalar, int _Options>
SE3Tpl se3::SE3Tpl< _Scalar, _Options >::inverse ( ) const
inline

aXb = bXa.inverse()

◆ operator Matrix4()

template<typename _Scalar, int _Options>
se3::SE3Tpl< _Scalar, _Options >::operator Matrix4 ( ) const
inline

◆ operator Matrix6()

template<typename _Scalar, int _Options>
se3::SE3Tpl< _Scalar, _Options >::operator Matrix6 ( ) const
inline

◆ operator*()

template<typename _Scalar, int _Options>
SE3Tpl se3::SE3Tpl< _Scalar, _Options >::operator* ( const SE3Tpl< _Scalar, _Options > &  m2) const
inline

◆ operator=()

template<typename _Scalar, int _Options>
template<typename S2 , int O2>
SE3Tpl& se3::SE3Tpl< _Scalar, _Options >::operator= ( const SE3Tpl< S2, O2 > &  other)
inline

◆ Random()

template<typename _Scalar, int _Options>
static SE3Tpl se3::SE3Tpl< _Scalar, _Options >::Random ( )
inlinestatic

◆ rotation() [1/3]

template<typename _Scalar, int _Options>
const Matrix3& se3::SE3Tpl< _Scalar, _Options >::rotation ( ) const
inline

◆ rotation() [2/3]

template<typename _Scalar, int _Options>
Matrix3& se3::SE3Tpl< _Scalar, _Options >::rotation ( )
inline

◆ rotation() [3/3]

template<typename _Scalar, int _Options>
void se3::SE3Tpl< _Scalar, _Options >::rotation ( const Matrix3 R)
inline

◆ toActionMatrix()

template<typename _Scalar, int _Options>
Matrix6 se3::SE3Tpl< _Scalar, _Options >::toActionMatrix ( ) const
inline

Vb.toVector() = bXa.toMatrix() * Va.toVector()

◆ toHomogeneousMatrix()

template<typename _Scalar, int _Options>
Eigen::Matrix<Scalar,4,4,Options> se3::SE3Tpl< _Scalar, _Options >::toHomogeneousMatrix ( ) const
inline

◆ translation() [1/3]

template<typename _Scalar, int _Options>
const Vector3& se3::SE3Tpl< _Scalar, _Options >::translation ( ) const
inline

◆ translation() [2/3]

template<typename _Scalar, int _Options>
Vector3& se3::SE3Tpl< _Scalar, _Options >::translation ( )
inline

◆ translation() [3/3]

template<typename _Scalar, int _Options>
void se3::SE3Tpl< _Scalar, _Options >::translation ( const Vector3 p)
inline

Friends And Related Function Documentation

◆ operator<<

template<typename _Scalar, int _Options>
std::ostream& operator<< ( std::ostream &  os,
const SE3Tpl< _Scalar, _Options > &  X 
)
friend