ARGoS  3
A parallel, multi-engine simulator for swarm robotics
plugins/simulator/sensors/colored_blob_omnidirectional_camera_rotzonly_sensor.h
Go to the documentation of this file.
00001 #ifndef COLORED_BLOB_OMNIDIRECTIONAL_CAMERA_ROTZONLY_SENSOR_H
00002 #define COLORED_BLOB_OMNIDIRECTIONAL_CAMERA_ROTZONLY_SENSOR_H
00003 
00004 namespace argos {
00005    class CColoredBlobOmnidirectionalCameraRotZOnlySensor;
00006    class COmnidirectionalCameraEquippedEntity;
00007    class CLEDEntity;
00008    class CControllableEntity;
00009    class CLEDCheckOperation;
00010 }
00011 
00012 #include <argos3/core/utility/math/rng.h>
00013 #include <argos3/core/simulator/space/space.h>
00014 #include <argos3/core/simulator/sensor.h>
00015 #include <argos3/plugins/robots/generic/control_interface/ci_colored_blob_omnidirectional_camera_sensor.h>
00016 
00017 namespace argos {
00018 
00019    class CColoredBlobOmnidirectionalCameraRotZOnlySensor : public CSimulatedSensor,
00020                                                            public CCI_ColoredBlobOmnidirectionalCameraSensor {
00021 
00022    public:
00023 
00024       CColoredBlobOmnidirectionalCameraRotZOnlySensor();
00025 
00026       virtual ~CColoredBlobOmnidirectionalCameraRotZOnlySensor();
00027 
00028       virtual void SetRobot(CComposableEntity& c_entity);
00029 
00030       virtual void Init(TConfigurationNode& t_tree);
00031 
00032       virtual void Update();
00033 
00034       virtual void Reset();
00035 
00036       virtual void Destroy();
00037 
00038                         virtual void Enable();
00039 
00040                         virtual void Disable();
00041 
00042    protected:
00043 
00044       bool                                  m_bEnabled;
00045       COmnidirectionalCameraEquippedEntity* m_pcOmnicamEntity;
00046       CControllableEntity*                  m_pcControllableEntity;
00047       CEmbodiedEntity*                      m_pcEmbodiedEntity;
00048       CPositionalIndex<CLEDEntity>*         m_pcLEDIndex;
00049       CPositionalIndex<CEmbodiedEntity>*    m_pcEmbodiedIndex;
00050       CLEDCheckOperation*                   m_pcOperation;
00051       Real                                  m_fDistanceNoiseStdDev;
00052       CRandom::CRNG*                        m_pcRNG;
00053       bool                                  m_bShowRays;
00054 
00055    };
00056 }
00057 
00058 #endif