Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
MapsPoseManager.hpp
00001 /* $Id$ */
00002 
00003 #ifndef _MAPS_POSE_MANAGER_HPP_
00004 #define _MAPS_POSE_MANAGER_HPP_
00005 
00006 #include <kernel/dataLog.hpp>
00007 #include <geom/t3dEuler.hpp>
00008 #include <slam/slamEkf.hpp>
00009 #include <slam/robot.hpp>
00010 #include <slam/baseSlam.hpp>
00011 #include <slam/MapManagerFactory.hpp>
00012 
00013 #include "slammm/StartNewMapStrategy.hpp"
00014 
00015 namespace jafar {
00016   namespace slammm {
00017     class MapsPoseManagerEventListener;
00018     class StartNewMapStrategy;
00023     class MapsPoseManager : public kernel::DataLoggable {
00024       public:
00025         virtual ~MapsPoseManager() {}
00029         virtual void addFirstMapPose(unsigned int _mapId, unsigned int _robotId, const jblas::vec& _robotState, const jblas::mat& _robotStateCov ) = 0;
00033         virtual void addMapPose(unsigned int _mapId, unsigned int _robotId, unsigned int _previousMapId, const jblas::vec& _robotState, const jblas::mat& _robotStateCov ) = 0;
00037         virtual jafar::geom::T3DEuler getWorldToMapTransformation( unsigned int _mapId ) const = 0;
00042         virtual jafar::geom::T3DEuler getMapToMapTransformation( unsigned int _firstMapId, unsigned int _secondMapId ) const = 0;
00049         virtual void enforceLoopConstraint( unsigned int _firstMapId, unsigned int _secondMapId, const jblas::vec& _transformation, const jblas::sym_mat& _transformationCov ) = 0;
00050         virtual void enforceLoopConstraint( unsigned int _firstMapId, unsigned int _secondMapId, const geom::T3DEuler& _transformation );
00051         virtual bool canEnforceLoopConstraint( unsigned int _firstMapId, unsigned int _secondMapId ) const = 0;
00052       public:
00053         void addEventListener( MapsPoseManagerEventListener* listener );
00054         void removeEventListener( MapsPoseManagerEventListener* listener );
00055       protected:
00056         std::list<MapsPoseManagerEventListener*> m_eventListners;
00057     };
00058   }
00059 }
00060 
00061 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

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