26 #ifndef MMLMonitorDisplayFactory_H 27 #define MMLMonitorDisplayFactory_H 65 if (mapObjectCreator.find(
id) != mapObjectCreator.end()) {
68 mapObjectCreator.insert( std::pair<std::string,CreateMonitorDisplayFunctionPointer>(
id, &createTheMonitorDisplay<C> ) );
69 displaysByType[type].push_back(
id);
83 if (mapObjectCreator.find(
id) != mapObjectCreator.end()) {
86 mapObjectCreator.insert( std::pair<std::string,CreateMonitorDisplayFunctionPointer>(
id, &createTheMonitorDisplay<C> ) );
88 displaysByType[i].push_back(
id);
96 bool isRegistered(std::string
id);
105 std::string getDisplayByType(
Monitor::type type,
const unsigned int i);
122 return new C(monitor,manager);
133 #endif // MMLMonitorDisplayFactory_H
A Factory for creating MMLMonitorDiplay.
Definition: MMLMonitorDisplayFactory.h:47
static MMLMonitorDisplay * createTheMonitorDisplay(Monitor *monitor, MMLComponent *manager)
function whose pointers are inserted into the map.
Definition: MMLMonitorDisplayFactory.h:121
type
type of the values stored (please update typeCount and doc if you update the enum) SCALAR: the monito...
Definition: Monitor.h:60
#define MMLCOMPONENT_API
Definition: MMLComponentAPI.h:54
Generic class for MML Monitor 3D/Graphical representation.
Definition: MMLMonitorDisplay.h:45
This class manage an MML monitoring document ".mml".
Definition: MMLComponent.h:48
std::map< std::string, CreateMonitorDisplayFunctionPointer > mapObjectCreator
A map between MonitorDisplay name as string to functions (CreateMonitorDisplayFunctionPointer) ...
Definition: MMLMonitorDisplayFactory.h:114
static MMLMonitorDisplayFactory * instance
unique instance of the factory
Definition: MMLMonitorDisplayFactory.h:129
bool registerClass(std::string id)
Register a class into the map for classes wich can display every types of monitors.
Definition: MMLMonitorDisplayFactory.h:82
A monitor calculate and store followed data (ex:calculation between current position and references) ...
Definition: Monitor.h:49
bool registerClass(std::string id, Monitor::type type)
Register a class into the map A registered class can be created using createMonitorDisplay().
Definition: MMLMonitorDisplayFactory.h:64
static const unsigned int typeCount
number of possible types (siez of the previous enum). Please always update if the enum is updated...
Definition: Monitor.h:67