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