ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00009 #ifndef CI_ACTUATOR_H 00010 #define CI_ACTUATOR_H 00011 00012 namespace argos { 00013 class CCI_Actuator; 00014 } 00015 00016 #include <argos3/core/config.h> 00017 #include <argos3/core/utility/datatypes/datatypes.h> 00018 #include <argos3/core/utility/configuration/base_configurable_resource.h> 00019 #include <map> 00020 00021 #ifdef ARGOS_WITH_LUA 00022 extern "C" { 00023 #include <lua.h> 00024 #include <lualib.h> 00025 #include <lauxlib.h> 00026 } 00027 #endif 00028 00029 namespace argos { 00030 00034 class CCI_Actuator : public CBaseConfigurableResource { 00035 00036 public: 00037 00038 typedef std::map<std::string, CCI_Actuator*, std::less<std::string> > TMap; 00039 00040 public: 00041 00045 virtual ~CCI_Actuator() {} 00046 00054 virtual void Init(TConfigurationNode& t_node) {} 00055 00062 virtual void Reset() {} 00063 00071 virtual void Destroy() {} 00072 00073 #ifdef ARGOS_WITH_LUA 00074 00080 virtual void CreateLuaState(lua_State* pt_lua_state) = 0; 00081 #endif 00082 }; 00083 00084 } 00085 00086 #endif