Jafar
|
00001 /* $Id: */ 00002 00003 #ifndef _MAP_MANAGER_FACTORY_HPP_ 00004 #define _MAP_MANAGER_FACTORY_HPP_ 00005 00006 #include <cstddef> 00007 00008 namespace jafar { 00009 namespace slam { 00010 class AbstractMapManager; 00011 class SlamEkf; 00012 class MapManagerFactory { 00013 public: 00014 virtual ~MapManagerFactory(); 00015 virtual AbstractMapManager* createMapManager( SlamEkf& slam_ ) const = 0; 00016 }; 00017 class DefaultMapManagerFactory : public MapManagerFactory { 00018 public: 00019 virtual ~DefaultMapManagerFactory(); 00020 virtual AbstractMapManager* createMapManager( SlamEkf& slam_ ) const; 00021 }; 00022 class LocalMapManagerFactory : public MapManagerFactory { 00023 public: 00024 LocalMapManagerFactory( std::size_t _sizeLocalMapMax, std::size_t _sizeFeatureState); 00025 virtual ~LocalMapManagerFactory(); 00026 virtual AbstractMapManager* createMapManager( SlamEkf& slam_ ) const; 00027 private: 00028 std::size_t m_sizeLocalMapMax; 00029 std::size_t m_sizeFeatureState; 00030 }; 00031 class GlobalMapManagerFactory : public MapManagerFactory { 00032 public: 00033 GlobalMapManagerFactory( double _sizeVoxel, unsigned int _nbObsMin, double _minUncertainty); 00034 virtual ~GlobalMapManagerFactory(); 00035 virtual AbstractMapManager* createMapManager( SlamEkf& slam_ ) const; 00036 private: 00037 double m_sizeVoxel; 00038 unsigned int m_nbObsMin; 00039 double m_minUncertainty; 00040 }; 00041 } 00042 } 00043 00044 #endif
Generated on Wed Oct 15 2014 00:37:28 for Jafar by doxygen 1.7.6.1 |