ARGoS  3
A parallel, multi-engine simulator for swarm robotics
plugins/robots/foot-bot/control_interface/ci_footbot_turret_encoder_sensor.h
Go to the documentation of this file.
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