Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
baseSlam.hpp
00001 
00002 #ifndef _BASE_SLAM_HPP_
00003 #define _BASE_SLAM_HPP_
00004 
00005 #include <vector>
00006 #include <list>
00007 #include <jmath/jblas.hpp>
00008 #include <slam/slamEvents.hpp>
00009 
00010 namespace jafar {
00011   namespace geom {
00012     class T3DEuler;
00013   }
00014   namespace slam {
00015     class BaseRobot;
00016     class Observation;
00017     class SlamEventListener;
00022     class BaseSlam {
00023       public:
00024         virtual ~BaseSlam();
00025         virtual void addRobot( BaseRobot* ) = 0;
00026         virtual void addRobot( BaseRobot*, const jblas::vec& _robotState, const jblas::sym_mat& _robotStateCov ) = 0;
00027         virtual void predict(unsigned int _robotId, jblas::vec const& u) = 0;
00028         virtual bool hasFeature(unsigned int id, unsigned int robotId_ = 0) const = 0;
00029         virtual void getRobotPose(jafar::geom::T3DEuler& pose, unsigned int _robotId = 0) const = 0;
00030         virtual void removeFeature(unsigned int id) = 0;
00031         virtual void addEventListener(slam::SlamEventListener& listener) = 0;
00032         virtual void removeEventListener(slam::SlamEventListener& listener) = 0;
00033         virtual void processObservations(unsigned int frameIndex_,
00034              std::list<Observation*> const& knownObs,
00035              std::list<Observation*> const& newObs, unsigned int robotId_ = 0, int events_ = slam::SlamEventListener::ALL ) = 0;
00036         virtual void processObservations(unsigned int frameIndex_,
00037              std::vector<Observation*> const& knownObs,
00038              std::vector<Observation*> const& newObs, unsigned int robotId_ = 0, int events_ = slam::SlamEventListener::ALL ) = 0;
00039 
00040     };
00041   }
00042 }
00043 
00044 #endif // _BASE_SLAM_HPP_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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