Main MRPT website > C++ reference for MRPT 1.9.9
Classes | Namespaces | Macros | Typedefs
TMetricMapTypesRegistry.h File Reference
#include <mrpt/obs/obs_frwds.h>
#include <map>
#include <string>
#include <functional>
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; \
/** @} */

Definition at line 67 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)); \
}

Registers one map class into TMetricMapInitializer factory.

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

Definition at line 91 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 \
{

Add a MAP_DEFINITION_START() ...

MAP_DEFINITION_END() block inside the declaration of each metric map

Definition at line 57 of file TMetricMapTypesRegistry.h.

mrpt::maps::internal::TMetricMapTypesRegistry::Instance
static TMetricMapTypesRegistry & Instance()
Definition: TMetricMapTypesRegistry.cpp:22
mrpt::maps::TMetricMapInitializer
Virtual base for specifying the kind and parameters of one map (normally, to be inserted into mrpt::m...
Definition: TMetricMapInitializer.h:34
source
GLsizei GLsizei GLchar * source
Definition: glext.h:4082
mrpt::maps::CMetricMap
Declares a virtual base class for all metric maps storage classes.
Definition: CMetricMap.h:56
mrpt::config::CConfigFileBase
This class allows loading and storing values and vectors of different types from a configuration text...
Definition: config/CConfigFileBase.h:44
CLASS_ID
#define CLASS_ID(T)
Access to runtime class ID for a defined class name.
Definition: CObject.h:85
mrpt::maps::internal::TMetricMapTypesRegistry::doRegister
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...
Definition: TMetricMapTypesRegistry.cpp:28
string
GLsizei const GLchar ** string
Definition: glext.h:4101



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST