Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Points.hpp
00001 /* $Id$ */
00002 
00003 #ifndef _GEOMSLAM_POINTS_HPP
00004 #define _GEOMSLAM_POINTS_HPP
00005 
00006 #include "geom/Point.hpp"
00007 
00008 namespace jafar {
00009   namespace slam {
00010     class BaseFeature;
00011     class PointInvDepthFeatureModel;
00012   }
00013   namespace geomslam {
00022     class SlamPointDriver : public geom::Point3D::Driver {
00023       private:
00024         typedef geom::Atom3D::HomogenousVecD HomogenousVecD;
00025         typedef geom::Atom3D::VecD VecD;
00026         typedef geom::Atom3D::HomogenousMatrixD HomogenousMatrixD;
00027         typedef geom::Atom3D::HomogenousSymMatrixD HomogenousSymMatrixD;
00028       public:
00029         SlamPointDriver( const slam::BaseFeature* feature );
00030         virtual ~SlamPointDriver();
00031         virtual Driver* clone() const;
00032         virtual HomogenousVecD homogenousCoordinates() const;
00033         virtual HomogenousSymMatrixD homogenousCoordinatesCov() const;
00034         virtual const geom::Repere3D* reference( ) const;
00035         virtual bool hasCov() const;
00036       private:
00037         const slam::BaseFeature* m_feature;
00038     };
00048     class SlamInvDepthPointDriver : public geom::Point3D::Driver {
00049       private:
00050         typedef geom::Atom3D::HomogenousVecD HomogenousVecD;
00051         typedef geom::Atom3D::VecD VecD;
00052         typedef geom::Atom3D::HomogenousMatrixD HomogenousMatrixD;
00053         typedef geom::Atom3D::HomogenousSymMatrixD HomogenousSymMatrixD;
00054         typedef geom::Atom3D::SymMatrixD SymMatrixD;
00055       public:
00056         SlamInvDepthPointDriver( const slam::BaseFeature* feature, slam::PointInvDepthFeatureModel& _model );
00057         virtual ~SlamInvDepthPointDriver();
00058         virtual Driver* clone() const;
00059         virtual HomogenousVecD homogenousCoordinates() const;
00060         virtual HomogenousSymMatrixD homogenousCoordinatesCov() const;
00061         virtual const geom::Repere3D* reference( ) const;
00062         virtual bool hasCov() const;
00063       private:
00064         const slam::BaseFeature* m_feature;
00065         slam::PointInvDepthFeatureModel& m_model;
00066     };
00067   }
00068 }
00069 
00070 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:20 for Jafar by doxygen 1.7.6.1
LAAS-CNRS