ci_controller.h File Reference
#include <argos3/core/utility/configuration/base_configurable_resource.h>
#include <argos3/core/utility/datatypes/datatypes.h>
#include <argos3/core/control_interface/ci_sensor.h>
#include <argos3/core/control_interface/ci_actuator.h>
#include <argos3/core/utility/plugins/factory.h>
#include <map>
#include <string>
#include <cxxabi.h>
#include <typeinfo>
Include dependency graph for ci_controller.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  argos::CCI_Controller
 The basic interface for a robot controller. More...
 

Namespaces

 argos
 The namespace containing all the ARGoS related code.
 

Macros

#define REGISTER_CONTROLLER(CLASSNAME, LABEL)
 

Functions

argos::CCI_ControllerControllerMaker (const std::string &str_label)
 Registers a new controller inside ARGoS. More...
 

Macro Definition Documentation

◆ REGISTER_CONTROLLER

#define REGISTER_CONTROLLER (   CLASSNAME,
  LABEL 
)
Value:
extern "C" { \
argos::CCI_Controller* ControllerMaker(const std::string& str_label) { \
if(str_label != LABEL) { \
THROW_ARGOSEXCEPTION("Controller label \"" << \
str_label << \
"\" does not match the registered one: \"" << \
LABEL << "\""); \
} \
return new CLASSNAME; \
} \
}
argos::CCI_Controller * ControllerMaker(const std::string &str_label)
Registers a new controller inside ARGoS.

Definition at line 248 of file ci_controller.h.

Function Documentation

◆ ControllerMaker()

argos::CCI_Controller* ControllerMaker ( const std::string &  str_label)

Registers a new controller inside ARGoS.

You must register your controller for ARGoS to be able to recognize it. This statement must be included in a .cpp file. It can't be in a header.