MRPT  2.0.2
Classes | Namespaces | Macros | Typedefs
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...
Declares a virtual base class for all metric maps storage classes.
Definition: CMetricMap.h:52
mrpt::vision::TStereoCalibResults out

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:102

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 2.0.2 Git: 9b4fd2465 Mon May 4 16:59:08 2020 +0200 at lun may 4 17:26:07 CEST 2020