ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00013 #ifndef CCI_FOOTBOT_TURRET_ENCODER_SENSOR_H 00014 #define CCI_FOOTBOT_TURRET_ENCODER_SENSOR_H 00015 00016 namespace argos { 00017 class CCI_FootBotTurretEncoderSensor; 00018 } 00019 00020 #include <argos3/core/control_interface/ci_sensor.h> 00021 #include <argos3/core/utility/math/vector2.h> 00022 00023 namespace argos { 00024 00025 class CCI_FootBotTurretEncoderSensor : virtual public CCI_Sensor { 00026 00027 public: 00028 00029 static const CRange<CRadians> ANGULAR_RANGE; 00030 00031 public: 00032 00033 virtual ~CCI_FootBotTurretEncoderSensor() {} 00034 00035 inline const CRadians& GetRotation() const { 00036 return m_cRotation; 00037 } 00038 00039 #ifdef ARGOS_WITH_LUA 00040 virtual void CreateLuaState(lua_State* pt_lua_state); 00041 00042 virtual void ReadingsToLuaState(lua_State* pt_lua_state); 00043 #endif 00044 00045 protected: 00046 00047 CRadians m_cRotation; 00048 00049 friend class CCI_FootBotTurretActuator; 00050 friend class CRealFootBotTurretActuator; 00051 00052 }; 00053 00054 } 00055 00056 #endif