22 struct TMetricMapInitializer;
36 typedef std::map<std::string,std::pair<MapDefCtorFunctor,MapCtorFromDefFunctor> >
TListRegisteredMaps;
44 #define MAP_DEFINITION_START(_CLASS_NAME_,_LINKAGE_) \ 47 struct _LINKAGE_ TMapDefinitionBase : public mrpt::maps::TMetricMapInitializer { \ 48 TMapDefinitionBase() : TMetricMapInitializer(CLASS_ID(_CLASS_NAME_)) { } \ 50 struct _LINKAGE_ TMapDefinition : public TMapDefinitionBase { \ 52 #define MAP_DEFINITION_END(_CLASS_NAME_,_LINKAGE_) \ 55 void loadFromConfigFile_map_specific(const mrpt::utils::CConfigFileBase &source, const std::string §ionNamePrefix) MRPT_OVERRIDE; \ 56 void dumpToTextStream_map_specific(mrpt::utils::CStream &out) const MRPT_OVERRIDE; \ 59 static mrpt::maps::TMetricMapInitializer* MapDefinition(); \ 61 static _CLASS_NAME_* CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer &def); \ 62 static mrpt::maps::CMetricMap* internal_CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer &def); \ 64 static const size_t m_private_map_register_id; \ 69 #define MAP_DEFINITION_REGISTER(_CLASSNAME_STRINGS, _CLASSNAME_WITH_NS) \ 70 const size_t _CLASSNAME_WITH_NS::m_private_map_register_id = mrpt::maps::internal::TMetricMapTypesRegistry::Instance().doRegister(_CLASSNAME_STRINGS,&_CLASSNAME_WITH_NS::MapDefinition,&_CLASSNAME_WITH_NS::internal_CreateFromMapDefinition); \ 71 mrpt::maps::TMetricMapInitializer* _CLASSNAME_WITH_NS::MapDefinition() { return new _CLASSNAME_WITH_NS::TMapDefinition; } \ 72 _CLASSNAME_WITH_NS* _CLASSNAME_WITH_NS::CreateFromMapDefinition(const mrpt::maps::TMetricMapInitializer &def) \ 73 { return dynamic_cast<_CLASSNAME_WITH_NS*>(_CLASSNAME_WITH_NS::internal_CreateFromMapDefinition(def)); } Virtual base for specifying the kind and parameters of one map (normally, to be inserted into mrpt::m...
std::map< std::string, std::pair< MapDefCtorFunctor, MapCtorFromDefFunctor > > TListRegisteredMaps
GLsizei const GLchar ** string
const TListRegisteredMaps & getAllRegistered() const
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Declares a virtual base class for all metric maps storage classes.
TListRegisteredMaps m_registry
mrpt::maps::TMetricMapInitializer *(* MapDefCtorFunctor)(void)
TMetricMapTypesRegistry()
GLuint const GLchar * name
typedef void(APIENTRYP PFNGLBLENDCOLORPROC)(GLclampf red
Class factory & registry for map classes.
mrpt::maps::CMetricMap *(* MapCtorFromDefFunctor)(const mrpt::maps::TMetricMapInitializer &)