7 #ifndef QTOPENGL_MAIN_WINDOW_H
8 #define QTOPENGL_MAIN_WINDOW_H
11 class CQTOpenGLMainWindow;
12 class CQTOpenGLWidget;
13 class CQTOpenGLLogStream;
14 class CQTOpenGLUserFunctions;
30 #include <argos3/core/utility/configuration/argos_configuration.h>
31 #include <argos3/core/simulator/visualization/visualization.h>
32 #include <QMainWindow>
46 return *m_pcOpenGLWidget;
50 return *m_pcOpenGLWidget;
54 return *m_pcUserFunctions;
58 return *m_pcUserFunctions;
66 return m_strTextureDir;
71 void ReadSettingsPreCreation();
72 void ReadSettingsPostCreation();
75 void CreateExperimentActions();
76 void CreateCameraActions();
77 void CreatePOVRayActions();
78 void CreateHelpActions();
80 void CreateExperimentToolBar();
81 void CreateExperimentMenu();
82 void CreateCameraToolBar();
83 void CreateCameraMenu();
84 void CreatePOVRayMenu();
85 void CreateHelpMenu();
88 void CreateLogMessageDock();
89 void CreateConnections();
93 virtual void closeEvent(QCloseEvent* pc_event);
214 enum EExperimentState {
215 EXPERIMENT_INITIALIZED = 0,
217 EXPERIMENT_FAST_FORWARDING,
219 EXPERIMENT_SUSPENDED,
225 CQTOpenGLWidget* m_pcOpenGLWidget;
226 QString m_strIconDir;
227 QString m_strTextureDir;
229 EExperimentState m_eExperimentState;
231 QAction* m_pcPlayAction;
232 QAction* m_pcFastForwardAction;
233 QAction* m_pcStepAction;
234 QAction* m_pcResetAction;
235 QAction* m_pcTerminateAction;
236 QAction* m_pcPauseAction;
237 QAction* m_pcCaptureAction;
238 QAction* m_pcQuitAction;
239 QSpinBox* m_pcDrawFrameEvery;
240 QLCDNumber* m_pcCurrentStepLCD;
241 QToolBar* m_pcExperimentToolBar;
242 QMenu* m_pcExperimentMenu;
244 QAction* m_pcShowCameraXMLAction;
245 QList<QAction*> m_pcSwitchCameraActions;
246 QActionGroup* m_pcSwitchCameraActionGroup;
247 QDoubleSpinBox* m_pcFocalLength;
248 QToolBar* m_pcCameraToolBar;
249 QMenu* m_pcCameraMenu;
251 QAction* m_pcPOVRayXMLAction;
252 QAction* m_pcPOVRayPreviewAction;
253 QMenu* m_pcPOVRayMenu;
255 QAction* m_pcAboutQTAction;
258 QStatusBar* m_pcStatusbar;
260 QDockWidget* m_pcLogDock;
261 QDockWidget* m_pcLogErrDock;
262 QTextEdit* m_pcDockLogBuffer;
263 QTextEdit* m_pcDockLogErrBuffer;
264 CQTOpenGLLogStream* m_pcLogStream;
265 CQTOpenGLLogStream* m_pcLogErrStream;
267 bool m_bWasLogColored;
269 CQTOpenGLUserFunctions* m_pcUserFunctions;
The QTOpenGL user functions.
virtual ~CQTOpenGLMainWindow()
CQTOpenGLWidget & GetOpenGLWidget()
CQTOpenGLUserFunctions & GetUserFunctions()
void ExperimentResumed()
Emitted when the experiment has just been resumed.
void ExperimentDone()
Emitted when the experiment is finished.
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
void ResetExperiment()
Resets the state of the experiment to its state right after initialization.
CQTOpenGLMainWindow(TConfigurationNode &t_tree)
void ExperimentSuspended()
Emitted when the experiment has been suspended.
void FastForwardExperiment()
Fast forwards the experiment.
void TerminateExperiment()
Terminates the execution of the experiment.
void PauseExperiment()
Pauses the experiment.
void StepExperiment()
Executes one experiment time step.
const CQTOpenGLUserFunctions & GetUserFunctions() const
void ExperimentPaused()
Emitted when the experiment has been paused.
void CameraSwitched(int n_camera)
Emitted whenever the user presses a camera button to switch camera.
const CQTOpenGLWidget & GetOpenGLWidget() const
void ExperimentStarted()
Emitted when the experiment has just been started.
void ExperimentPlaying()
Emitted when the experiment has (re)started playing.
void ExperimentReset()
Emitted when the experiment has been reset.
void SwitchCamera(QAction *)
void ResumeExperiment()
Resumes a suspended experiment.
void SuspendExperiment()
Suspends an experiment due to an error.
const QString & GetTextureDir() const
void ExperimentFastForwarding()
Emitted when the experiment has (re)started fast-forwarding.
The namespace containing all the ARGoS related code.
const QString & GetIconDir() const
void PlayExperiment()
Plays the experiment.
QString GetCameraXMLData()