VisualizeVideo
 All Classes Functions Pages
GLWidget.h
1 #ifndef GLWIDGET_H
2 #define GLWIDGET_H
3 
4 
5 #include <GL/glew.h>
6 #include <QGLWidget>
7 #include <QEvent.h>
8 #include <QDatetime.h>
9 #include <Global.h>
10 #include "Camera.h"
11 #include "Shader.h"
12 #include <SceneManager.h>
13 #include <VideoManager.h>
14 #include <memory>
15 
16 
17 //class QtLogo;
18 
20 
23 class GLWidget : public QGLWidget
24 {
25  Q_OBJECT
26 
27 public:
29  GLWidget(QWidget *parent = 0);
30  ~GLWidget();
31 
32  QSize minimumSizeHint() const;
33  QSize sizeHint() const;
34 
36  void setVolume(bool performBackgroundDetect, int fps, int startFrame, int maxFrames);
38  void setVolume(QString filename, bool mode, int fps, int startFrame, int maxFrames);
40  void setAlpha(bool state);
42  void setHue(bool state);
44  void setHueValue(float val);
46  void setInvert(bool state);
48  void setOpacityValue(float val);
49 
50 public slots:
51  //void setXRotation(int angle);
52  //void setYRotation(int angle);
53  //void setZRotation(int angle);
54 
55 signals:
56  //void xRotationChanged(int angle);
57  //void yRotationChanged(int angle);
58  //void zRotationChanged(int angle);
59 
60 protected:
61  void initializeGL();
62  void paintGL();
63  void resizeGL(int width, int height);
64  void mousePressEvent(QMouseEvent *event);
65  void mouseMoveEvent(QMouseEvent *event);
66  void keyPressEvent(QKeyEvent *event);
67 
68 private:
69  bool volCreated;
70  std::shared_ptr<SceneManager> sceneManager;
71  std::shared_ptr<Camera> camera;
72  VolumeData vol;
73 
74 
75  //int xRot;
76  //int yRot;
77  //int zRot;
78  //RotationChanged(int angle);
79  QPoint lastPos;
80  QTime myTimer;
81  float oldtime;
82  float newtime;
83  float dt;
84  };
85 
86 #endif