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