105 #ifndef QVTKOpenGLWidget_h 106 #define QVTKOpenGLWidget_h 108 #include <QOpenGLWidget> 111 #include "vtkGUISupportQtModule.h" 115 class QOpenGLDebugLogger;
116 class QOpenGLFramebufferObject;
119 class QVTKOpenGLWidgetObserver;
125 typedef QOpenGLWidget Superclass;
127 QVTKOpenGLWidget(QWidget* parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
149 static void copyFromFormat(
const QSurfaceFormat& format,
vtkRenderWindow* win);
154 static void copyToFormat(
vtkRenderWindow* win, QSurfaceFormat& format);
161 static QSurfaceFormat defaultFormat();
166 virtual void setEnableHiDPI(
bool enable);
172 void mouseEvent(QMouseEvent* event);
180 virtual void cleanupContext();
192 void startEventCallback();
195 bool event(QEvent* evt) Q_DECL_OVERRIDE;
196 void initializeGL() Q_DECL_OVERRIDE;
197 void resizeGL(
int w,
int h) Q_DECL_OVERRIDE;
198 void paintGL() Q_DECL_OVERRIDE;
200 void mousePressEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
201 void mouseMoveEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
202 void mouseReleaseEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
203 void mouseDoubleClickEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
211 void requireRenderWindowInitialization();
233 virtual bool renderVTK();
249 void windowFrameEventCallback();
251 QOpenGLFramebufferObject* FBO;
253 bool DoVTKRenderInPaintGL;
255 friend class QVTKOpenGLWidgetObserver;
256 QOpenGLDebugLogger* Logger;
an interactor for QVTKOpenGLWidget (and QVTKWiget).
platform independent render window
create a window for renderers to draw into