ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef FOOTBOT_TURRET_DEFAULT_ACTUATOR_H 00008 #define FOOTBOT_TURRET_DEFAULT_ACTUATOR_H 00009 00010 #include <string> 00011 #include <map> 00012 00013 namespace argos { 00014 class CFootBotTurretDefaultActuator; 00015 } 00016 00017 #include <argos3/plugins/robots/foot-bot/control_interface/ci_footbot_turret_actuator.h> 00018 #include <argos3/plugins/robots/foot-bot/simulator/footbot_entity.h> 00019 #include <argos3/plugins/robots/foot-bot/simulator/footbot_turret_entity.h> 00020 #include <argos3/core/simulator/actuator.h> 00021 00022 namespace argos { 00023 00024 class CFootBotTurretDefaultActuator : public CSimulatedActuator, 00025 public CCI_FootBotTurretActuator { 00026 00027 public: 00028 00029 CFootBotTurretDefaultActuator(); 00030 virtual ~CFootBotTurretDefaultActuator() {} 00031 00032 virtual void SetRobot(CComposableEntity& c_entity); 00033 00034 virtual void SetRotation(const CRadians& c_angle); 00035 virtual void SetRotationSpeed(SInt32 n_speed_pulses); 00036 virtual void SetMode(ETurretModes e_mode); 00037 00038 virtual void Update(); 00039 virtual void Reset(); 00040 00041 private: 00042 00043 CFootBotTurretEntity* m_pcTurretEntity; 00044 00045 CRadians m_cDesiredRotation; 00046 Real m_fDesiredRotationSpeed; 00047 UInt8 m_unDesiredMode; 00048 00049 }; 00050 00051 } 00052 00053 #endif