ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef QT_OPENGL_RENDER_H 00008 #define QT_OPENGL_RENDER_H 00009 00010 namespace argos { 00011 class CQTOpenGLRender; 00012 class CQTOpenGLApplication; 00013 } 00014 00015 #include <argos3/core/simulator/visualization/visualization.h> 00016 #include <argos3/plugins/simulator/visualizations/qt-opengl/qtopengl_main_window.h> 00017 00018 #ifdef ARGOS_WITH_LUA 00019 #include <argos3/plugins/simulator/visualizations/qt-opengl/qtopengl_lua_main_window.h> 00020 #endif 00021 00022 namespace argos { 00023 00024 class CQTOpenGLRender : public CVisualization { 00025 00026 public: 00027 00028 CQTOpenGLRender() : 00029 m_pcApplication(NULL), 00030 m_pcMainWindow(NULL), 00031 m_ppcOptions(NULL), 00032 m_nOptionNum(0) 00033 #ifdef ARGOS_WITH_LUA 00034 , m_pcQTOpenGLLuaMainWindow(NULL), 00035 m_bLuaEditor(false) 00036 #endif 00037 {} 00038 00039 virtual ~CQTOpenGLRender() {} 00040 00041 virtual void Init(TConfigurationNode& t_tree); 00042 00043 virtual void Execute(); 00044 00045 virtual void Destroy(); 00046 00047 CQTOpenGLMainWindow& GetMainWindow(); 00048 00049 #ifdef ARGOS_WITH_LUA 00050 CQTOpenGLLuaMainWindow& GetLuaMainWindow(); 00051 #endif 00052 00053 private: 00054 00055 CQTOpenGLApplication* m_pcApplication; 00056 CQTOpenGLMainWindow* m_pcMainWindow; 00057 char** m_ppcOptions; 00058 SInt32 m_nOptionNum; 00059 TConfigurationNode m_tConfTree; 00060 #ifdef ARGOS_WITH_LUA 00061 CQTOpenGLLuaMainWindow* m_pcQTOpenGLLuaMainWindow; 00062 bool m_bLuaEditor; 00063 #endif 00064 00065 }; 00066 00067 } 00068 00069 #endif