ARGoS  3
A parallel, multi-engine simulator for swarm robotics
core/control_interface/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

namespace  argos
 

The namespace containing all the ARGoS related code.


Defines

#define REGISTER_CONTROLLER(CLASSNAME, LABEL)

Functions

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

Define Documentation

#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;                                          \
      }                                                                 \
   }

Definition at line 248 of file ci_controller.h.


Function Documentation

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.