ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef FOOTBOT_LIGHT_ROTZONLY_SENSOR_H 00008 #define FOOTBOT_LIGHT_ROTZONLY_SENSOR_H 00009 00010 #include <string> 00011 #include <map> 00012 00013 namespace argos { 00014 class CFootBotLightRotZOnlySensor; 00015 class CLightSensorEquippedEntity; 00016 } 00017 00018 #include <argos3/plugins/robots/foot-bot/control_interface/ci_footbot_light_sensor.h> 00019 #include <argos3/core/utility/math/range.h> 00020 #include <argos3/core/utility/math/rng.h> 00021 #include <argos3/core/simulator/space/space.h> 00022 #include <argos3/core/simulator/sensor.h> 00023 00024 namespace argos { 00025 00026 class CFootBotLightRotZOnlySensor : public CSimulatedSensor, 00027 public CCI_FootBotLightSensor { 00028 00029 public: 00030 00031 CFootBotLightRotZOnlySensor(); 00032 00033 virtual ~CFootBotLightRotZOnlySensor() {} 00034 00035 virtual void SetRobot(CComposableEntity& c_entity); 00036 00037 virtual void Init(TConfigurationNode& t_tree); 00038 00039 virtual void Update(); 00040 00041 virtual void Reset(); 00042 00043 protected: 00044 00046 CEmbodiedEntity* m_pcEmbodiedEntity; 00047 00049 CLightSensorEquippedEntity* m_pcLightEntity; 00050 00052 CControllableEntity* m_pcControllableEntity; 00053 00055 bool m_bShowRays; 00056 00058 CRandom::CRNG* m_pcRNG; 00059 00061 bool m_bAddNoise; 00062 00064 CRange<Real> m_cNoiseRange; 00065 00067 CSpace& m_cSpace; 00068 }; 00069 00070 } 00071 00072 #endif