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 |