MRPT  1.9.9
TMetricMapTypesRegistry.h File Reference
#include <mrpt/obs/obs_frwds.h>
#include <functional>
#include <map>
#include <string>
Include dependency graph for TMetricMapTypesRegistry.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mrpt::maps::internal::TMetricMapTypesRegistry
 Class factory & registry for map classes. More...
 

Namespaces

 mrpt
 This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
 
 mrpt::maps
 
 mrpt::maps::internal
 

Macros

#define MAP_DEFINITION_START(_CLASS_NAME_)
 Add a MAP_DEFINITION_START() ... More...
 
#define MAP_DEFINITION_END(_CLASS_NAME_)
 
#define MAP_DEFINITION_REGISTER(_CLASSNAME_STRINGS, _CLASSNAME_WITH_NS)
 Registers one map class into TMetricMapInitializer factory. More...
 

Typedefs

using mrpt::maps::internal::MapDefCtorFunctor = std::function< mrpt::maps::TMetricMapInitializer *(void)>
 
using mrpt::maps::internal::MapCtorFromDefFunctor = std::function< mrpt::maps::CMetricMap *(const mrpt::maps::TMetricMapInitializer &)>
 

Macro Definition Documentation

◆ MAP_DEFINITION_END

#define MAP_DEFINITION_END (   _CLASS_NAME_)
Value:
TMapDefinition(); \
\
protected: \
void loadFromConfigFile_map_specific( \
const std::string& sectionNamePrefix) override; \
void dumpToTextStream_map_specific(std::ostream& out) const override; \
} \
; \
/** Returns default map definition initializer. See \
* mrpt::maps::TMetricMapInitializer */ \
static mrpt::maps::TMetricMapInitializer* MapDefinition(); \
/** Constructor from a map definition structure: initializes the map and \
* its parameters accordingly */ \
static _CLASS_NAME_* CreateFromMapDefinition( \
static mrpt::maps::CMetricMap* internal_CreateFromMapDefinition( \
/** ID used to initialize class registration (just ignore it) */ \
static const size_t m_private_map_register_id; \
/** @} */
Virtual base for specifying the kind and parameters of one map (normally, to be inserted into mrpt::m...
This class allows loading and storing values and vectors of different types from a configuration text...
GLsizei const GLchar ** string
Definition: glext.h:4116
Declares a virtual base class for all metric maps storage classes.
Definition: CMetricMap.h:52
GLsizei GLsizei GLchar * source
Definition: glext.h:4097

Definition at line 68 of file TMetricMapTypesRegistry.h.

◆ MAP_DEFINITION_REGISTER

#define MAP_DEFINITION_REGISTER (   _CLASSNAME_STRINGS,
  _CLASSNAME_WITH_NS 
)
Value:
const size_t _CLASSNAME_WITH_NS::m_private_map_register_id = \
_CLASSNAME_STRINGS, &_CLASSNAME_WITH_NS::MapDefinition, \
&_CLASSNAME_WITH_NS::internal_CreateFromMapDefinition); \
mrpt::maps::TMetricMapInitializer* _CLASSNAME_WITH_NS::MapDefinition() \
{ \
return new _CLASSNAME_WITH_NS::TMapDefinition; \
} \
_CLASSNAME_WITH_NS* _CLASSNAME_WITH_NS::CreateFromMapDefinition( \
{ \
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...
size_t doRegister(const std::string &name, MapDefCtorFunctor func1, MapCtorFromDefFunctor func2)
Return the index of the class in the list (not important, just used as a trick to initialize static m...

Registers one map class into TMetricMapInitializer factory.

One or several alternative class names can be provided, separated with whitespaces or commas

Definition at line 94 of file TMetricMapTypesRegistry.h.

◆ MAP_DEFINITION_START

#define MAP_DEFINITION_START (   _CLASS_NAME_)
Value:
public: \
/** @name Map Definition Interface stuff (see \
* mrpt::maps::TMetricMapInitializer) @{ */ \
struct TMapDefinitionBase : public mrpt::maps::TMetricMapInitializer \
{ \
TMapDefinitionBase() \
: TMetricMapInitializer(CLASS_ID(_CLASS_NAME_)) {} \
}; \
struct TMapDefinition : public TMapDefinitionBase \
{
Virtual base for specifying the kind and parameters of one map (normally, to be inserted into mrpt::m...
#define CLASS_ID(T)
Access to runtime class ID for a defined class name.
Definition: CObject.h:89

Add a MAP_DEFINITION_START() ...

MAP_DEFINITION_END() block inside the declaration of each metric map

Definition at line 57 of file TMetricMapTypesRegistry.h.




Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: 3316834cb Wed Aug 21 11:42:56 2019 +0200 at miƩ ago 21 11:50:11 CEST 2019