ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00012 #ifndef VISUALIZATION_H 00013 #define VISUALIZATION_H 00014 00015 namespace argos { 00016 class CVisualization; 00017 } 00018 00019 #include <argos3/core/utility/configuration/base_configurable_resource.h> 00020 #include <argos3/core/simulator/simulator.h> 00021 00022 #include <string> 00023 #include <map> 00024 00025 namespace argos { 00026 00027 class CVisualization : public CBaseConfigurableResource { 00028 00029 public: 00030 00031 CVisualization() : 00032 m_cSimulator(CSimulator::GetInstance()), 00033 m_cSpace(m_cSimulator.GetSpace()) {} 00034 00035 virtual ~CVisualization() {} 00036 00037 virtual void Init(TConfigurationNode& t_tree); 00038 00039 virtual void Reset() {} 00040 00041 virtual void Destroy() {} 00042 00043 virtual void Execute(); 00044 00045 inline const std::string& GetId() const { 00046 return m_strId; 00047 } 00048 00049 inline void SetId(const std::string& str_id) { 00050 m_strId = str_id; 00051 } 00052 00053 protected: 00054 00056 CSimulator& m_cSimulator; 00057 00059 CSpace& m_cSpace; 00060 00062 std::string m_strId; 00063 00064 }; 00065 00066 #define REGISTER_VISUALIZATION(CLASSNAME, \ 00067 LABEL, \ 00068 AUTHOR, \ 00069 VERSION, \ 00070 BRIEF_DESCRIPTION, \ 00071 LONG_DESCRIPTION, \ 00072 STATUS) \ 00073 REGISTER_SYMBOL(CVisualization, \ 00074 CLASSNAME, \ 00075 LABEL, \ 00076 AUTHOR, \ 00077 VERSION, \ 00078 BRIEF_DESCRIPTION, \ 00079 LONG_DESCRIPTION, \ 00080 STATUS) 00081 00082 } 00083 00084 #endif