Go to the documentation of this file.
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)); }
TMetricMapTypesRegistry()
const TListRegisteredMaps & getAllRegistered() const
mrpt::maps::TMetricMapInitializer *(* MapDefCtorFunctor)(void)
TListRegisteredMaps m_registry
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
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
mrpt::maps::CMetricMap *(* MapCtorFromDefFunctor)(const mrpt::maps::TMetricMapInitializer &)
Declares a virtual base class for all metric maps storage classes.
Class factory & registry for map classes.
Page generated by Doxygen 1.8.17 for MRPT 1.4.0 SVN: at Tue Mar 3 09:15:16 UTC 2020 | | |