ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef LIGHT_ENTITY_H 00008 #define LIGHT_ENTITY_H 00009 00010 namespace argos { 00011 class CLightEntity; 00012 class CLedEquippedEntity; 00013 } 00014 00015 #include <argos3/core/simulator/entity/positional_entity.h> 00016 #include <argos3/plugins/simulator/entities/led_equipped_entity.h> 00017 00018 namespace argos { 00019 00020 class CLightEntity : public CLEDEntity { 00021 00022 public: 00023 00024 ENABLE_VTABLE(); 00025 00026 public: 00027 00028 CLightEntity(); 00029 00030 CLightEntity(const std::string& str_id, 00031 const CVector3& c_position, 00032 const CColor& c_color, 00033 Real f_intensity); 00034 00035 virtual void Init(TConfigurationNode& t_tree); 00036 00037 inline Real GetIntensity() const { 00038 return m_fIntensity; 00039 } 00040 00041 inline void SetIntensity(Real f_intensity) { 00042 m_fIntensity = f_intensity; 00043 } 00044 00045 virtual std::string GetTypeDescription() const { 00046 return "light"; 00047 } 00048 00049 protected: 00050 00051 Real m_fIntensity; 00052 }; 00053 00054 } 00055 00056 #endif