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