Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
MapManagerFactory.hpp
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
 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