ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
#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>
Go to the source code of this file.
Classes | |
class | argos::CCI_Controller |
The basic interface for a robot controller. More... | |
Namespaces | |
namespace | argos |
The namespace containing all the ARGoS related code. | |
Defines | |
#define | REGISTER_CONTROLLER(CLASSNAME, LABEL) |
Functions | |
argos::CCI_Controller * | ControllerMaker (const std::string &str_label) |
Registers a new controller inside ARGoS. |
#define REGISTER_CONTROLLER | ( | CLASSNAME, | |
LABEL | |||
) |
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; \ } \ }
Definition at line 248 of file ci_controller.h.
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.