ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 #ifndef LED_MEDIUM_H 00002 #define LED_MEDIUM_H 00003 00004 namespace argos { 00005 class CLEDMedium; 00006 class CLEDEntity; 00007 } 00008 00009 #include <argos3/core/simulator/medium/medium.h> 00010 #include <argos3/core/simulator/space/positional_indices/positional_index.h> 00011 #include <argos3/plugins/simulator/entities/led_entity.h> 00012 00013 namespace argos { 00014 00015 class CLEDMedium : public CMedium { 00016 00017 public: 00018 00022 CLEDMedium(); 00023 00027 virtual ~CLEDMedium(); 00028 00029 virtual void Init(TConfigurationNode& t_tree); 00030 virtual void PostSpaceInit(); 00031 virtual void Reset(); 00032 virtual void Destroy(); 00033 virtual void Update(); 00034 00039 void AddEntity(CLEDEntity& c_entity); 00040 00045 void RemoveEntity(CLEDEntity& c_entity); 00046 00051 CPositionalIndex<CLEDEntity>& GetIndex() { 00052 return *m_pcLEDEntityIndex; 00053 } 00054 00055 private: 00056 00058 CPositionalIndex<CLEDEntity>* m_pcLEDEntityIndex; 00059 00061 CLEDEntityGridUpdater* m_pcLEDEntityGridUpdateOperation; 00062 00063 }; 00064 00065 } 00066 00067 #endif