added Qt Example, next change it to fit my project
This commit is contained in:
50
QtMeshViewer/Header/OglViewerWidget.h
Normal file
50
QtMeshViewer/Header/OglViewerWidget.h
Normal file
@@ -0,0 +1,50 @@
|
||||
#pragma once
|
||||
|
||||
#include "geometryengine.h"
|
||||
|
||||
#include <QOpenGLWidget>
|
||||
#include <QOpenGLFunctions>
|
||||
#include <QMatrix4x4>
|
||||
#include <QQuaternion>
|
||||
#include <QVector2D>
|
||||
#include <QBasicTimer>
|
||||
#include <QOpenGLShaderProgram>
|
||||
#include <QOpenGLTexture>
|
||||
|
||||
class GeometryEngine;
|
||||
|
||||
class OglViewerWidget : public QOpenGLWidget, protected QOpenGLFunctions
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit OglViewerWidget(QWidget *parent = 0);
|
||||
~OglViewerWidget();
|
||||
|
||||
protected:
|
||||
void mousePressEvent(QMouseEvent *e) Q_DECL_OVERRIDE;
|
||||
void mouseReleaseEvent(QMouseEvent *e) Q_DECL_OVERRIDE;
|
||||
void timerEvent(QTimerEvent *e) Q_DECL_OVERRIDE;
|
||||
|
||||
void initializeGL() Q_DECL_OVERRIDE;
|
||||
void resizeGL(int w, int h) Q_DECL_OVERRIDE;
|
||||
void paintGL() Q_DECL_OVERRIDE;
|
||||
|
||||
void initShaders();
|
||||
void initTextures();
|
||||
|
||||
private:
|
||||
QBasicTimer timer;
|
||||
QOpenGLShaderProgram program;
|
||||
GeometryEngine *geometries;
|
||||
|
||||
QOpenGLTexture *texture;
|
||||
|
||||
QMatrix4x4 projection;
|
||||
|
||||
QVector2D mousePressPosition;
|
||||
QVector3D rotationAxis;
|
||||
qreal angularSpeed;
|
||||
QQuaternion rotation;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user