4 #include <QOpenGLWidget> 17 class MeshView :
public QOpenGLWidget,
public QOpenGLFunctions
24 explicit MeshView(QWidget *parent = 0);
50 void setRenderer(QSharedPointer<AbstractRenderer> renderer);
54 void resizeGL(
int w,
int h)
override;
MeshView(QWidget *parent=0)
Definition: meshview.cpp:11
QMatrix4x4 mProjectionMatrix
Definition: meshview.h:94
The AbstractMeshViewCamera class Abstract class that will determine how the camera moves based on the...
Definition: abstractmeshviewcamera.h:16
void doneContextCurrent()
Definition: meshview.cpp:97
void mousePressEvent(QMouseEvent *event) override
Definition: meshview.cpp:53
~MeshView()
Definition: meshview.cpp:23
void mouseMoveEvent(QMouseEvent *event) override
Definition: meshview.cpp:58
Definition: meshview.h:17
void makeContextCurrent()
Definition: meshview.cpp:92
QSharedPointer< AbstractRenderer > getCurrentRenderer()
This method should ONLY be called on the OpenGL thread. It returns the appropriate renderer to be use...
Definition: meshview.cpp:74
AbstractMeshViewCamera * mCamera
Definition: meshview.h:98
void resizeGL(int w, int h) override
Definition: meshview.cpp:175
ToolManager * mTools
Definition: meshview.h:101
void scheduleRepaint()
Schedules a paintGL() call on the OpenGL thread.
Definition: meshview.cpp:87
void wheelEvent(QWheelEvent *event) override
Definition: meshview.cpp:68
QSharedPointer< AbstractRenderer > mRenderer
The Renderer object that will be used to draw to the screen.
Definition: meshview.h:78
void cleanUp()
Cleans up all resources.
Definition: meshview.cpp:103
void paintGL() override
Definition: meshview.cpp:162
void setRenderer(QSharedPointer< AbstractRenderer > renderer)
Makes the MeshView use a new Renderer.
Definition: meshview.cpp:32
QMutex mRendererMutex
Mutex for updating the mRenderer variable. This ensures that the mRenderer is not being used when it ...
Definition: meshview.h:90
QOpenGLContext * mContext
The context this MeshView was initialized with. This variable is only stored to disconnect its aboutT...
Definition: meshview.h:111
void initializeGL() override
Definition: meshview.cpp:145
Definition: meshviewcontainer.h:12
QSharedPointer< AbstractRenderer > mNextRenderer
nullptr if the Renderer does not need to change, else equal to the new renderer.
Definition: meshview.h:84
void mouseReleaseEvent(QMouseEvent *event) override
Definition: meshview.cpp:63