summaryrefslogtreecommitdiff
path: root/src/gui/Stage.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/Stage.h')
-rw-r--r--src/gui/Stage.h40
1 files changed, 33 insertions, 7 deletions
diff --git a/src/gui/Stage.h b/src/gui/Stage.h
index cb46b7d..b0938af 100644
--- a/src/gui/Stage.h
+++ b/src/gui/Stage.h
@@ -22,6 +22,7 @@
namespace vhc {
+/** Une scene gere la representation graphique d'un accelerateur. */
class Stage: public QGLWidget {
Q_OBJECT
@@ -31,43 +32,68 @@ public:
Stage(QWidget* parent = NULL);
virtual ~Stage();
+ /** Retourne la camera de cette scene. */
Camera& getCamera();
+ /** Retourne le mode de representation. */
void setDisplayMode(util::DisplayMode value);
+
+ /** Affecte le mode de representation. */
util::DisplayMode getDisplayMode() const;
+ /** Retourne l'etat de la simulation. */
bool isRunning() const;
+
+ /** Affecte l'etat de simulation. */
void setRunning(bool value);
- ElementRenderer& getElementRenderer();
- BeamRenderer& getBeamRenderer();
+ ElementRenderer* getElementRenderer() const;
+ void setElementRenderer(ElementRenderer* value);
+ BeamRenderer* getBeamRenderer() const;
+ void setBeamRenderer(BeamRenderer* value);
- //TODO !!! temporary
- Accelerator* accelerator;
+
+ /** Retourne l'accelerateur de cette scene. */
+ Accelerator* getAccelerator() const;
+
+ /** Affecte l'accelerateur de cette scene. */
+ void setAccelerator(Accelerator* accelerator);
+
+ /** Retourne le pas de temps utilise pour simuler l'accelerateur de cette scene. */
+ double getStep() const;
+
+ /** Affecte le pas de temps utilise pour simuler l'accelerateur de cette scene. */
+ void setStep(double value);
protected:
+ /** Ecrit du texte sur l'ecran. */
void displayText(QString text[], int size);
void initializeGL();
void resizeGL (int width, int height);
void paintGL();
- //void mousePressEvent (QMouseEvent* event);
+ void mousePressEvent (QMouseEvent* event);
//void mouseReleaseEvent (QMouseEvent* event);
void keyPressEvent (QKeyEvent* event);
void keyReleaseEvent (QKeyEvent* event);
void mouseMoveEvent(QMouseEvent* event);
private:
+
+ Accelerator* accelerator;
+
//io
KeyManager keyManager;
//graphics
+ bool captured;
+
Camera camera;
- ElementRenderer elementRenderer;
- BeamRenderer beamRenderer;
+ ElementRenderer* elementRenderer;
+ BeamRenderer* beamRenderer;
QPoint center;
util::DisplayMode displayMode;