ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
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