| 
    Jafar
   
    
   
   | 
  
  
  
 
A generic 3D transformation, support for uncertain transformation. More...
A generic 3D transformation, support for uncertain transformation.
#include <t3d.hpp>

Public Types | |
| enum | Type { EULER, QUATERNION, ROTATION_VECTOR, IDENTITY } | 
| enum | Standard { CALIFE_TO_JAFAR, JAFAR_TO_CALIFE } | 
Public Member Functions | |
| T3D & | operator= (const T3D &t) | 
| Assign t to the current object.   | |
| void | assign (T3D const &t) | 
| Assign t to the current object.   | |
| virtual Type | type () const =0 | 
| std::size_t | size () const | 
| jblas::vec const & | getX () const | 
| jblas::vec & | getX () | 
| jblas::sym_mat const & | getXCov () const | 
| jblas::sym_mat & | getXCov () | 
| jblas::vec | getXStdDev () | 
| Returns the square root of the diagonal of XCov.  | |
| const jblas::mat44 & | getM () const | 
| jblas::mat33 | getR () const | 
| jblas::vec3 | getT () const | 
| bool | hasCov () const | 
| bool | is2D () const | 
| bool | isMuptodate () const | 
| bool | isIdentity () const | 
| void | clear () | 
| clear x and xCov (to zero)  | |
| void | set (const jblas::vec &x_) | 
| set the value of the T3D to x_  | |
| void | set (const jblas::mat &M_) | 
| set the value of the T3D to the matrix M_  | |
| void | set (const jblas::mat &R_, const jblas::vec &t_) | 
| set the value of the T3D to the rotation matrix R_ and translation t_  | |
| void | set (const jblas::vec &x_, const jblas::vec &xStdDev_) | 
| set the value of the T3D to x_ with standard deviation xStdDev__  | |
| void | set (const jblas::vec &x_, const jblas::sym_mat &xCov_) | 
| set the value of the T3D to x_ with covariance xCov_  | |
| void | set2D (bool is2D=true) | 
| set the 2D flag  | |
| void | rearrange (const Standard &standard=JAFAR_TO_CALIFE) | 
| inverts order of rotation subvector and translation subvector : either you know what you're doing and use it or not so DON'T use it cause any t3d operation will give you false result  created it since I was bothered with all the inversions and those stuff in my code and here seems to be the right place for it.   | |
Static Public Member Functions | |
| static void | inv (T3D const &t, T3D &t_inv) | 
| Compute inverse transformation of t_ , result is stored in t_inv.   | |
| static void | inv (T3D const &t, T3D &t_inv, jblas::mat &J) | 
| Compute inverse transformation of t_ , result is stored in t_inv.   | |
| static void | compose (T3D const &t1, T3D const &t2, T3D &t3) | 
| Compose t1_ and t2_, the result is stored in t3_.   | |
| static void | composeIncr (T3D &t1, T3D const &t2) | 
| Compose t1_ and t2_, the result is stored in t1_.  | |
| static void | compose (T3D const &t1, T3D const &t2, T3D &t3, jblas::mat &J1, jblas::mat &J2) | 
| Compose t1_ and t2_, the result is stored in t3_, and also save the jacobian in J1 and J2.   | |
| static void | convert (T3D const &t1, T3D &t2) | 
| Convert t1_ to t2 format, result is stored in t2.  | |
| template<class T3D_res > | |
| static T3D_res | compose (T3D const &t1, T3D const &t2) | 
| template<class T3D_res > | |
| static T3D_res | inv (T3D const &t) | 
| static T3D * | create (Type type) | 
| Factory method, returns a t3d from its type.  | |
| static T3D * | clone (T3D const &t) | 
| Factory method, clone t.  | |
Protected Member Functions | |
| T3D (std::size_t size, bool hasCov_) | |
| T3D (std::size_t size, const jblas::vec &x_, bool hasCov_) | |
| T3D (std::size_t size, const jblas::vec &x_, const jblas::vec &xStdDev_) | |
| T3D (std::size_t size, const jblas::vec &x_, const jblas::sym_mat &xCov_) | |
| T3D (const jblas::mat &M_) | |
| T3D (const T3D &t_) | |
| virtual void | updateM () const =0 | 
| update the homogeneous matrix from x.  | |
| virtual void | updateX ()=0 | 
| update x from the homogeneous matrix.  | |
| void | loadKeyValueFile (jafar::kernel::KeyValueFile const &keyValueFile) | 
| Implement this method calling repeatedly KeyValueFile::getItem() method.  | |
| void | saveKeyValueFile (jafar::kernel::KeyValueFile &keyValueFile) | 
| Implement this method calling repeatedly KeyValueFile::setItem() method.  | |
| void | writeLogHeader (jafar::kernel::DataLogger &log) const | 
| Implements this method calling repeatidly log methods.   | |
| void | writeLogData (jafar::kernel::DataLogger &log) const | 
| Implements this method calling repeatidly log methods.   | |
Protected Attributes | |
| jblas::vec | x | 
| vector representing the t3d.  | |
| jblas::sym_mat | xCov | 
| covariance of x  | |
| jblas::mat44 | M | 
| homogeneous matrix of the t3d.  | |
| bool | p_hasCov | 
| bool | p_is2D | 
| bool | p_isMuptodate | 
Static Private Member Functions | |
| static void | invImpl (T3D const &t, T3D &t_inv) | 
Friends | |
| std::ostream & | operator<< (std::ostream &s, const T3D &t3d) | 
| t3d output stream function  | |
| void jafar::geom::T3D::assign | ( | T3D const & | t | ) | 
Assign t to the current object.
T3D t can be of any type.
| static void jafar::geom::T3D::compose | ( | T3D const & | t1, | 
| T3D const & | t2, | ||
| T3D & | t3 | ||
| ) |  [static] | 
        
Compose t1_ and t2_, the result is stored in t3_.
| static void jafar::geom::T3D::compose | ( | T3D const & | t1, | 
| T3D const & | t2, | ||
| T3D & | t3, | ||
| jblas::mat & | J1, | ||
| jblas::mat & | J2 | ||
| ) |  [static] | 
        
Compose t1_ and t2_, the result is stored in t3_, and also save the jacobian in J1 and J2.
This compose function don't set the covariance of t3_.
| static void jafar::geom::T3D::inv | ( | T3D const & | t, | 
| T3D & | t_inv | ||
| ) |  [static] | 
        
Compute inverse transformation of t_ , result is stored in t_inv.
| static void jafar::geom::T3D::inv | ( | T3D const & | t, | 
| T3D & | t_inv, | ||
| jblas::mat & | J | ||
| ) |  [static] | 
        
Compute inverse transformation of t_ , result is stored in t_inv.
| void jafar::geom::T3D::rearrange | ( | const Standard & | standard = JAFAR_TO_CALIFE | ) | 
inverts order of rotation subvector and translation subvector : either you know what you're doing and use it or not so DON'T use it cause any t3d operation will give you false result created it since I was bothered with all the inversions and those stuff in my code and here seems to be the right place for it.
| virtual Type jafar::geom::T3D::type | ( | ) |  const [pure virtual] | 
        
Implemented in jafar::geom::T3DEuler, jafar::geom::T3DQuaternion, jafar::geom::T3DRotationVector, and jafar::geom::T3DIdentity.
Referenced by jafar::geom::t3d::pointFromFrameJac(), and jafar::geom::t3d::pointToFrameJac().
| void jafar::geom::T3D::writeLogData | ( | jafar::kernel::DataLogger & | log | ) |  const [protected, virtual] | 
        
Implements this method calling repeatidly log methods.
You should use writeData() or writeDataVector().
Implements jafar::kernel::DataLoggable.
| void jafar::geom::T3D::writeLogHeader | ( | jafar::kernel::DataLogger & | log | ) |  const [protected, virtual] | 
        
Implements this method calling repeatidly log methods.
You should use writeComment(), writeLegend() or writeLegendTokens().
Implements jafar::kernel::DataLoggable.
| Generated on Wed Oct 15 2014 00:37:37 for Jafar by doxygen 1.7.6.1 | 
 
 |