ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef CI_RANGE_AND_BEARING_ACTUATOR_H 00008 #define CI_RANGE_AND_BEARING_ACTUATOR_H 00009 00010 namespace argos { 00011 class CCI_RangeAndBearingActuator; 00012 } 00013 00014 #include <argos3/core/control_interface/ci_actuator.h> 00015 #include <argos3/core/utility/datatypes/byte_array.h> 00016 00017 namespace argos { 00018 00019 class CCI_RangeAndBearingActuator : public CCI_Actuator { 00020 00021 public: 00022 00023 virtual ~CCI_RangeAndBearingActuator() {} 00024 00025 inline size_t GetSize() const { 00026 return m_cData.Size(); 00027 } 00028 00029 void SetData(const CByteArray& c_data); 00030 00031 inline void SetData(size_t un_idx, 00032 UInt8 un_value) { 00033 m_cData[un_idx] = un_value; 00034 } 00035 00036 inline void ClearData() { 00037 m_cData.Zero(); 00038 } 00039 00040 #ifdef ARGOS_WITH_LUA 00041 virtual void CreateLuaState(lua_State* pt_lua_state); 00042 #endif 00043 00044 protected: 00045 00046 CByteArray m_cData; 00047 00048 }; 00049 00050 } 00051 00052 #endif