Projet d'Informatique 2012
Simulation générique de systèmes physiques simples : vers les machines de Rube Goldberg
include/GUI/gui.h
Aller à la documentation de ce fichier.
00001 
00005 #ifndef GUI_H
00006 #define GUI_H
00007 
00008 #include <QtOpenGL>
00009 #include <QWidget>
00010 #include <QTimer>
00011 #include "include/Systeme.h"
00012 
00018 class GUI : public QGLWidget
00019 {
00020         Q_OBJECT
00021 
00022     public:
00023 
00031         explicit GUI(Systeme* systeme, int imagesParSecondes = 50, QWidget* parent = 0, char* nom = 0);
00032 
00037         Systeme* systeme();
00038 
00043         QTimer* timer() const;
00044 
00045     protected:
00046 
00050         virtual void initializeGL();
00051 
00055         virtual void resizeGL(int width, int height);
00056 
00060         virtual void paintGL();
00061 
00066         virtual void keyPressEvent(QKeyEvent* keyEvent);
00067 
00072         virtual void mousePressEvent (QMouseEvent* mouseEvent);
00073 
00078         virtual void wheelEvent (QWheelEvent* wheel_event);
00079         
00084         virtual void mouseMoveEvent (QMouseEvent* move_event);
00085 
00090         virtual void mouseDoubleClickEvent(QMouseEvent * mouseEvent);
00091 
00092 
00093     private:
00094 
00098         QTimer* m_Timer;
00099 
00103         Systeme* m_systeme;
00104 
00108         double h;
00109 
00113         double theta;
00114 
00118         double z;
00119 
00123         double y;
00124 
00125         QPoint lastPos;
00126 
00127     public slots:
00128 
00133         virtual void timeOutSlot();
00134 
00139         void stopSimulation();
00140 
00145         void startSimulation();
00146 
00151         void setImagesParSecondes(int nmbrImgSec);
00152 
00153 
00154     signals:
00155 
00159         void simulationStarted(bool = true);
00160 
00164         void simulationStopped(bool = true);
00165 
00166 };
00167 
00168 #endif // GUI_H
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Énumérations Valeurs énumérées Amis