Jafar
|
The module geom contains 2D and 3D geometry tools.
i686_Linux-2.6.12-1.1381-FC3smp_g++-3
.4.4)setenv CGAL_OS_COMPILER i686_Linux-2.6.12-1.1381-FC3smp_g++-3.4.4 setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/local/CGAL-3.1/lib/$CGAL_OS_COMPILER"
./configure --with-cgal=/usr/local/CGAL-3.1 --with-cgallib=/usr/local/CGAL-3.1/lib/$CGAL_OS_COMPILER
Different T3D representations are available:
All the T3D representations share the same computation layer using homogeneous matrix.
A special attention is required for functions:
Consider with i.e.
then
so
and
with the Jacobian of with respect to the rotation part of the vectorized T3D.
Consider with i.e.
then
so
and
with the Jacobian of with respect to the rotation part of the vectorized T3D.
Extra doc for macro can go here... (you can delete this section if not relevant)
The interface of the module is generated from the following files:
try
{ } catch
block for this module. Classes | |
struct | jafar::geom::Box< T > |
class | jafar::geom::OGSensorModel |
class | jafar::geom::DenseOG |
class | jafar::geom::SparseOG |
class | jafar::geom::Atom< dimension > |
class Atom Atom is the base class of geometric objects. More... | |
class | jafar::geom::BoundingBox< dimension > |
A BoundingBox is the smallest box that contains an Atom . More... | |
class | jafar::geom::Facet< dimension > |
class | jafar::geom::GeomException |
Base class for all exceptions defined in the module geom. More... | |
class | jafar::geom::HyperPlane< dimension > |
An HyperPlane is a space of dimension (n-1), this correspond to a Plan in dimension 3 and to a Line in dimension 2. More... | |
class | jafar::geom::InterestPoint |
This class represents an interest point. More... | |
class | jafar::geom::Line< dimension > |
This class defines a line (which is a space of dimension 1). More... | |
class | jafar::geom::OrientedPlan< dimension > |
This class represent an hyperplan associated to a repere. More... | |
class | jafar::geom::Point< dimension > |
class Point This class represents a point. More... | |
class | jafar::geom::Point< dimension >::Driver |
class Driver Base class for driver of a point More... | |
class | jafar::geom::Point< dimension >::EuclideanDriver |
class EuclideanDriver Euclidean Driver for a point that is defined by its absolute coordinates. More... | |
class | jafar::geom::Rectangle< _T_ > |
This class is used to represent a rectangle on an image. More... | |
class | jafar::geom::Repere< dimension > |
This class represent a Repere which can be used as a reference for other. More... | |
class | jafar::geom::Repere3D |
3D Reference More... | |
class | jafar::geom::Segment< dimension > |
This class defines a segment (which is a bounded space of dimension 1). More... | |
class | jafar::geom::T3D |
A generic 3D transformation, support for uncertain transformation. More... | |
class | jafar::geom::T3DEuler |
A 3D transformation, the rotation is represented with Euler angles. More... | |
class | jafar::geom::T3DQuaternion |
A 3D transformation where the rotation is represented with a quaternion. More... | |
class | jafar::geom::T3DRotationVector |
A 3D transformation the rotation is represented with a quaternion. More... | |
class | jafar::stereo::StereoOGSensorModel |
Namespaces | |
namespace | jafar::geom::t3d |
This namespace contains free functions related to T3D class. | |
Typedefs | |
typedef boost::numeric::ublas::bounded_vector < double, 3 > | jafar::geom::VoxelCoord |
Functions | |
template<int dimension> | |
void | jafar::geom::cosAngleCov (const typename Atom< dimension >::HomogenousVecD &v1, const typename Atom< dimension >::HomogenousSymMatrixD &v1Cov, const typename Atom< dimension >::HomogenousVecD &v2, const typename Atom< dimension >::HomogenousSymMatrixD &v2Cov, double &angle, double &cov) |
Compute the cosinus of the angle between two vectors and the associated covariance. | |
template<int dimension> | |
bool | jafar::geom::intersection (const Line< dimension > &l1, const HyperPlane< dimension > &hyp, typename Atom< dimension >::HomogenousVecD &vec) |
Compute the interesection between a line and an hyperplane. | |
template<int dimension> | |
bool | jafar::geom::intersection (const Line< dimension > &l1, const Line< dimension > &l2, typename Atom< dimension >::HomogenousVecD &vec) |
Compute the interesection between two lines. | |
void | jafar::geom::t3d::invJacEuler (const jblas::vec &v, jblas::mat &J) |
Compute jacobian of inverse fonction (Euler). | |
void | jafar::geom::t3d::composeJacEuler (jblas::vec const &v1_, jblas::vec const &v2_, jblas::mat &J1, jblas::mat &J2) |
Compute jacobian of compose fonction (Euler). | |
template<class VecT , class VecPt , class MatJT , class MatJPt > | |
void | jafar::geom::t3d::pointFromFrameJacEuler (VecT const &t, VecPt const &pt, MatJT &JT, MatJPt &JPt) |
Compute jacobian of t3d::pointFromFrame() (Euler). | |
template<class VecT , class VecPt , class MatJT , class MatJPt > | |
void | jafar::geom::t3d::pointToFrameJacEuler (VecT const &t, VecPt const &pt, MatJT &JT, MatJPt &JPt) |
Compute jacobian of t3d::pointToFrame() (Euler). | |
template<class VecPtB , class VecPtA > | |
void | jafar::geom::t3d::pointFromFrame (T3D const &aToB, VecPtB const &ptB, VecPtA &ptA) |
Apply transformation aToB to ptB in order to obtain coordinate of the vector in frame A vA. | |
template<class VecPtB , class MatJT3D , class MatJPtB > | |
void | jafar::geom::t3d::pointFromFrameJac (T3D const &aToB, VecPtB const &ptB, MatJT3D &JT3D, MatJPtB &JPtB) |
Compute jacobian of pointFromFrame() | |
template<class VecPtB , class MatJT3D , class MatJPtB > | |
void | jafar::geom::t3d::pointFromFrameJac (T3D const &aToB, VecPtB const &ptB, VecPtB &ptA, MatJT3D &JT3D, MatJPtB &JPtB) |
Compute pointFromFrame() and its jacobians. | |
template<class VecPtB , class VecPtA > | |
void | jafar::geom::t3d::pointToFrame (T3D const &aToB, VecPtA const &ptA, VecPtB &ptB) |
Apply transformation aToB to ptA in order to obtain coordinate of the vector in frame B ptB. | |
template<class VecPtB , class MatJT3D , class MatJPtA > | |
void | jafar::geom::t3d::pointToFrameJac (T3D const &aToB, VecPtB const &ptA, MatJT3D &JT3D, MatJPtA &JPtA) |
Compute jacobian of pointToFrame() | |
template<class VecPtB , class MatJT3D , class MatJPtA > | |
void | jafar::geom::t3d::pointToFrameJac (T3D const &aToB, VecPtB const &ptA, VecPtB &ptB, MatJT3D &JT3D, MatJPtA &JPtA) |
Compute pointToFrame() and its jacobians. | |
template<class VecT , class VecPt , class MatJT , class MatJPt > | |
void | jafar::geom::t3d::pointFromFrameJacQuaternion (VecT const &t, VecPt const &pt, MatJT &JT, MatJPt &JPt) |
Compute jacobian of pointFromFrame() | |
template<class VecT , class VecPt , class MatJT , class MatJPt > | |
void | jafar::geom::t3d::pointToFrameJacQuaternion (VecT const &t, VecPt const &pt, MatJT &JT, MatJPt &JPt) |
Compute jacobian of pointToFrame() |
bool jafar::geom::intersection | ( | const Line< dimension > & | l1, |
const HyperPlane< dimension > & | hyp, | ||
typename Atom< dimension >::HomogenousVecD & | vec | ||
) | [inline] |
Compute the interesection between a line and an hyperplane.
The result, is undefined if l1
and hyp
are parallel.
Definition at line 6 of file IntersectionImpl.hpp.
References jafar::geom::HyperPlane< dimension >::normal(), jafar::geom::HyperPlane< dimension >::origin(), jafar::geom::Line< dimension >::origin(), and jafar::geom::Line< dimension >::pointAt().
bool jafar::geom::intersection | ( | const Line< dimension > & | l1, |
const Line< dimension > & | l2, | ||
typename Atom< dimension >::HomogenousVecD & | vec | ||
) | [inline] |
Compute the interesection between two lines.
The result, is undefined if l1
and l2
are parallel lines.
void jafar::geom::t3d::pointFromFrameJac | ( | T3D const & | aToB, |
VecPtB const & | ptB, | ||
MatJT3D & | JT3D, | ||
MatJPtB & | JPtB | ||
) |
Compute jacobian of pointFromFrame()
JT3D | Jacobian matrix with respect to the T3D. |
JPtB | Jacobian matrix with respect to the input point. |
Definition at line 47 of file t3dPointTools.hpp.
References jafar::geom::T3D::EULER, JFR_PRECOND, JFR_RUN_TIME, JFR_TRACE_END, jafar::geom::t3d::pointFromFrameJacEuler(), jafar::geom::t3d::pointFromFrameJacQuaternion(), jafar::geom::T3D::QUATERNION, and jafar::geom::T3D::type().
void jafar::geom::t3d::pointFromFrameJac | ( | T3D const & | aToB, |
VecPtB const & | ptB, | ||
VecPtB & | ptA, | ||
MatJT3D & | JT3D, | ||
MatJPtB & | JPtB | ||
) |
Compute pointFromFrame() and its jacobians.
aToB | input T3D from frame A to frame B |
ptB | input point expressed in frame B |
ptA | output point expressed in frame A |
JT3D | output Jacobian matrix with respect to the T3D. |
JPtB | output Jacobian matrix with respect to the input point. |
Definition at line 82 of file t3dPointTools.hpp.
References jafar::geom::T3D::EULER, JFR_PRECOND, JFR_RUN_TIME, JFR_TRACE_END, jafar::geom::t3d::pointFromFrame(), jafar::geom::t3d::pointFromFrameJacEuler(), jafar::geom::t3d::pointFromFrameJacQuaternion(), jafar::geom::T3D::QUATERNION, and jafar::geom::T3D::type().
void jafar::geom::t3d::pointFromFrameJacQuaternion | ( | VecT const & | t, |
VecPt const & | pt, | ||
MatJT & | JT, | ||
MatJPt & | JPt | ||
) |
Compute jacobian of pointFromFrame()
t | vectorized T3DQuaternion must be of size 7. |
pt | 3D point must be of size 3. |
JT | Jacobian matrix with respect to the T3D must be 3x7. |
JPt | Jacobian matrix with respect to the input point must be 3x3. |
Definition at line 65 of file t3dQuaternion.hpp.
References JFR_PRECOND.
Referenced by jafar::geom::t3d::pointFromFrameJac().
void jafar::geom::t3d::pointToFrame | ( | T3D const & | aToB, |
VecPtA const & | ptA, | ||
VecPtB & | ptB | ||
) |
Apply transformation aToB to ptA in order to obtain coordinate of the vector in frame B ptB.
This operation requires the invertion of aToB.
Definition at line 118 of file t3dPointTools.hpp.
References JFR_PRECOND.
Referenced by jafar::geom::t3d::pointToFrameJac().
void jafar::geom::t3d::pointToFrameJac | ( | T3D const & | aToB, |
VecPtB const & | ptA, | ||
MatJT3D & | JT3D, | ||
MatJPtA & | JPtA | ||
) |
Compute jacobian of pointToFrame()
JT3D | Jacobian matrix with respect to the T3D. |
JPtA | Jacobian matrix with respect to the input point. |
Definition at line 168 of file t3dPointTools.hpp.
References jafar::geom::T3D::EULER, JFR_PRECOND, JFR_RUN_TIME, JFR_TRACE_END, jafar::geom::t3d::pointToFrameJacEuler(), jafar::geom::t3d::pointToFrameJacQuaternion(), jafar::geom::T3D::QUATERNION, and jafar::geom::T3D::type().
void jafar::geom::t3d::pointToFrameJac | ( | T3D const & | aToB, |
VecPtB const & | ptA, | ||
VecPtB & | ptB, | ||
MatJT3D & | JT3D, | ||
MatJPtA & | JPtA | ||
) |
Compute pointToFrame() and its jacobians.
aToB | input T3D from frame A to frame B |
ptA | input point expressed in frame A |
ptB | output point expressed in frame B |
JT3D | output Jacobian matrix with respect to the T3D. |
JPtA | output Jacobian matrix with respect to the input point. |
Definition at line 203 of file t3dPointTools.hpp.
References jafar::geom::T3D::EULER, JFR_PRECOND, JFR_RUN_TIME, JFR_TRACE_END, jafar::geom::t3d::pointToFrame(), jafar::geom::t3d::pointToFrameJacEuler(), jafar::geom::t3d::pointToFrameJacQuaternion(), jafar::geom::T3D::QUATERNION, and jafar::geom::T3D::type().
void jafar::geom::t3d::pointToFrameJacQuaternion | ( | VecT const & | t, |
VecPt const & | pt, | ||
MatJT & | JT, | ||
MatJPt & | JPt | ||
) |
Compute jacobian of pointToFrame()
t | vectorized T3DQuaternion must be of size 7. |
pt | 3D point must be of size 3. |
JT | Jacobian matrix with respect to the T3D must be 3x7. |
JPt | Jacobian matrix with respect to the input point must be 3x3. |
Definition at line 120 of file t3dQuaternion.hpp.
References JFR_PRECOND.
Referenced by jafar::geom::t3d::pointToFrameJac().
Generated on Wed Oct 15 2014 00:37:30 for Jafar by doxygen 1.7.6.1 |