00001
00002
00003 #ifndef _MAPS_POSE_MANAGER_EVENTS_HPP_
00004 #define _MAPS_POSE_MANAGER_EVENTS_HPP_
00005
00006 #include <jmath/jblas.hpp>
00007
00008 namespace jafar {
00009 namespace slam {
00010 class SlamEkf;
00011 }
00012 namespace slammm {
00017 class MapsPoseManagerEventListener
00018 {
00019 friend class ListMapsPoseManager;
00020 protected:
00021 virtual ~MapsPoseManagerEventListener();
00022 virtual void firstMapPoseAdded(unsigned int _mapId, unsigned int _robotId, const jblas::vec& _robotState, const jblas::mat& _robotStateCov ) = 0;
00023 virtual void mapPoseAdded(unsigned int _mapId, unsigned int _robotId, unsigned int _previousMapId, const jblas::vec& _robotState, const jblas::mat& _robotStateCov ) = 0;
00024 virtual void loopConstraintEnforced( unsigned int _firstMapId, unsigned int _secondMapId, const jblas::vec& _transformation, const jblas::sym_mat& _transformationCov ) = 0;
00025 };
00026 class MapsPoseManagerEventAdapter : public MapsPoseManagerEventListener
00027 {
00028 protected:
00029 virtual ~MapsPoseManagerEventAdapter();
00030 virtual void firstMapPoseAdded(unsigned int _mapId, unsigned int _robotId, const jblas::vec& _robotState, const jblas::mat& _robotStateCov );
00031 virtual void mapPoseAdded(unsigned int _mapId, unsigned int _robotId, unsigned int _previousMapId, const jblas::vec& _robotState, const jblas::mat& _robotStateCov );
00032 virtual void loopConstraintEnforced( unsigned int _firstMapId, unsigned int _secondMapId, const jblas::vec& _transformation, const jblas::sym_mat& _transformationCov );
00033 };
00034 }
00035 }
00036
00037 #endif