Volume Renderer DoF
GLWidget.h
Go to the documentation of this file.
1 #ifndef GLWIDGET_H
2 #define GLWIDGET_H
3 
4 #include "glew.h"
5 #include <QtCore\qtimer.h>
6 #include <QtCore\qelapsedtimer.h>
7 #include <QtGui\qmatrix4x4.h>
8 #include <QtGui\QMouseEvent>
9 #include <QtGui\QWheelEvent>
10 #include <QtGui\QKeyEvent>
11 #include <QtWidgets\qopenglwidget.h>
12 
13 #include "..\RENDER\GLShader.h"
14 #include "..\RENDER\GLCamera.h"
15 #include "RENDER\VolumeRenderer.h"
16 
18 class GLWidget : public QOpenGLWidget
19 {
20  Q_OBJECT
21 
22 public:
23  GLWidget(QWidget *parent);
24  ~GLWidget();
25 
26  // AUTO-CALL, FOR SETTINGS AND CONFIGS
27  void initializeGL();
28 
29  // RENDERER
30  void paintGL();
31 
32  // RE-ASSIGNS VIEWPORT AND PROJECTION
33  void resizeGL(int width, int height);
34 
35 
36 private:
37 
38 #define REFRESH 0x52 //r
39 #define ZOOM 0x5a //z
40 #define BLUR 0x42 //b
41 #define FOCUS 0x46 //f
42 
44  void setSignalsAndSlots();
45 
47  void setOpenGL();
48 
49  // MAINLY OBJECT ROTATION
50  void mouseMoveEvent(QMouseEvent* event);
51  void mousePressEvent(QMouseEvent* event);
52 
53  // CHANGES THE ACTUAL ZOOM/BLUR/FOCUS VALUE
54  void wheelEvent(QWheelEvent* event);
55 
56  // FULLSCREEN -- NOT WORKING
57  void mouseDoubleClickEvent(QMouseEvent* event);
58 
59  // KEY INPUT FOR ZOOM/BLUR/FOCUS/REFRESH
60  void keyPressEvent(QKeyEvent* event);
61 
63  VolumeRenderer* volumeRenderer = nullptr;
64 
66  QTimer* timer = nullptr;
67 
69  GLCamera* camera = nullptr;
70 
72  bool fullscreen;
73 
75  bool volumeLoaded;
76 
78  int keyPressed;
79 
81  GLint width;
82 
84  GLint height;
85 
87  QPoint position;
88 
90  QMatrix4x4 modelMatrix;
91 
92  private slots:
93 
95  void updateGL();
96 
98  void cleanup();
99 };
100 
101 #endif // GLWIDGET_H
GLWidget(QWidget *parent)
Definition: GLWidget.cpp:12
Definition: GLCamera.h:9
void initializeGL()
Definition: GLWidget.cpp:29
Definition: VolumeRenderer.h:16
void resizeGL(int width, int height)
Definition: GLWidget.cpp:64
~GLWidget()
Definition: GLWidget.cpp:24
void paintGL()
Definition: GLWidget.cpp:53
Definition: GLWidget.h:18