#include #include #include #include #include #include "gui/viewport/GLCamera.h" #include "gui/viewport/GLMesh.h" #include "gui/viewport/GLGrid.h" #include "Engine/Operator/Geometry.h" class ViewportGLWidget : public QOpenGLWidget, protected QOpenGLFunctions_3_2_Core { public: ViewportGLWidget(QWidget *parent) : QOpenGLWidget(parent) { } QSize sizeHint() const override { return QSize(-1, -1); } GLuint shaderProgram; GLCamera curCamera; std::unique_ptr triangleMesh_ ; std::unique_ptr gridMesh_ ; std::unique_ptr meshFromGeo(std::unique_ptr& geometry); protected: void initializeGL() override; void resizeGL(int w, int h) override; void paintGL() override; };