ARGoS 3
A parallel, multi-engine simulator for swarm robotics
ci_actuator.h
Go to the documentation of this file.
1
9#ifndef CI_ACTUATOR_H
10#define CI_ACTUATOR_H
11
12namespace argos {
13 class CCI_Actuator;
14}
15
16#include <argos3/core/config.h>
17#include <argos3/core/utility/datatypes/datatypes.h>
18#include <argos3/core/utility/configuration/base_configurable_resource.h>
19#include <map>
20
21#ifdef ARGOS_WITH_LUA
22extern "C" {
23#include <lua.h>
24#include <lualib.h>
25#include <lauxlib.h>
26}
27#endif
28
29namespace argos {
30
35
36 public:
37
38 typedef std::map<std::string, CCI_Actuator*, std::less<std::string> > TMap;
39
40 public:
41
45 virtual ~CCI_Actuator() {}
46
54 virtual void Init(TConfigurationNode& t_node) {}
55
62 virtual void Reset() {}
63
71 virtual void Destroy() {}
72
73#ifdef ARGOS_WITH_LUA
80 virtual void CreateLuaState(lua_State* pt_lua_state) = 0;
81#endif
82 };
83
84}
85
86#endif
The namespace containing all the ARGoS related code.
Definition ci_actuator.h:12
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
The basic interface for all actuators.
Definition ci_actuator.h:34
virtual void Destroy()
Destroys the actuator.
Definition ci_actuator.h:71
virtual void Reset()
Resets the actuator to the state it had just after Init().
Definition ci_actuator.h:62
std::map< std::string, CCI_Actuator *, std::less< std::string > > TMap
Definition ci_actuator.h:38
virtual void Init(TConfigurationNode &t_node)
Initializes the actuator from the XML configuration tree.
Definition ci_actuator.h:54
virtual void CreateLuaState(lua_State *pt_lua_state)=0
Creates the Lua state for this actuator.
virtual ~CCI_Actuator()
Class destructor.
Definition ci_actuator.h:45
This class is the base of all XML-configurable ARGoS interface.