Kinetic Visualization
 All Classes Functions Variables Pages
OpenGLColorgradientWidget.h
1 #pragma once
2 
3 #include <GL/glew.h>
4 #include <QWidget>
5 #include <QGLWidget>
6 //#include <QtOpenGL>
7 #include <QGLContext>
8 #include <QGLFormat>
9 
10 #include "GLM/glm.hpp"
11 #include "Shader.h"
12 #include "TransferFunctionWidget.h"
13 
14 class OpenGLColorgradientWidget : public QGLWidget
15 {
16  Q_OBJECT
17 
18 public:
20  OpenGLColorgradientWidget(QWidget* parent = 0);
23 
24 public slots:
30  void generateTransferTexture(float* rgbaValues, int textureSize, int type);
32  void resetTransferTexture();
33 
34  void setMode(int mode);
35 
36 protected:
38  void initializeGL();
44  void resizeGL(int width,int height);
48  void paintGL();
49 
50 private:
52  GLuint textureHandle;
54  Shader* shader;
56  glm::mat4 projectionMatrix;
58  int screenWidth;
60  int screenHeight;
62  glm::vec4* vertices;
64  bool textureLoaded;
66  void calculateVertexCoord();
68  void checkGLError();
69 
70  GLuint textureParticleHandle;
71  int m_mode;
72 };