106 #ifndef QVTKOpenGLWidget_h 107 #define QVTKOpenGLWidget_h 109 #include <QOpenGLWidget> 112 #include "vtkGUISupportQtModule.h" 116 class QOpenGLDebugLogger;
117 class QOpenGLFramebufferObject;
120 class QVTKOpenGLWidgetObserver;
126 typedef QOpenGLWidget Superclass;
128 QVTKOpenGLWidget(QWidget* parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
148 static void copyFromFormat(
const QSurfaceFormat& format,
vtkRenderWindow* win);
153 static void copyToFormat(
vtkRenderWindow* win, QSurfaceFormat& format);
160 static QSurfaceFormat defaultFormat();
165 virtual void setEnableHiDPI(
bool enable);
171 void mouseEvent(QMouseEvent* event);
179 virtual void cleanupContext();
191 void startEventCallback();
194 bool event(QEvent* evt) Q_DECL_OVERRIDE;
195 void initializeGL() Q_DECL_OVERRIDE;
196 void resizeGL(
int w,
int h) Q_DECL_OVERRIDE;
197 void paintGL() Q_DECL_OVERRIDE;
199 void mousePressEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
200 void mouseMoveEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
201 void mouseReleaseEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
202 void mouseDoubleClickEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
210 void requireRenderWindowInitialization();
232 virtual bool renderVTK();
248 void windowFrameEventCallback();
250 QOpenGLFramebufferObject* FBO;
252 bool DoVTKRenderInPaintGL;
254 friend class QVTKOpenGLWidgetObserver;
255 QOpenGLDebugLogger* Logger;
vtkRenderWindow * GetRenderWindow()
virtual void SetRenderWindow(vtkRenderWindow *renwin)
an interactor for QVTKOpenGLWidget (and QVTKWiget).
platform independent render window
create a window for renderers to draw into