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 size_t GetSize() const; 00026 00027 void SetData(const CByteArray& c_data); 00028 00029 void SetData(size_t un_idx, 00030 UInt8 un_value); 00031 00032 void ClearData(); 00033 00034 #ifdef ARGOS_WITH_LUA 00035 virtual void CreateLuaState(lua_State* pt_lua_state); 00036 #endif 00037 00038 protected: 00039 00040 CByteArray m_cData; 00041 00042 }; 00043 00044 } 00045 00046 #endif