1 #include "QVTKOpenGLNativeWidget.h" 2 #include "QVTKOpenGLStereoWidget.h" 3 #include "QVTKOpenGLWidget.h" 4 #include "QVTKOpenGLWindow.h" 5 #include "QVTKRenderWidget.h" 6 #include "vtkGenericOpenGLRenderWindow.h" 7 #include "vtkLogger.h" 8 9 #include <QApplication> 10 #include <QEventLoop> 11 #include <QScopedPointer> 12 #include <QSurfaceFormat> 13 #include <QTimer> 14 #include <memory> 15 16 namespace detail 17 { 18 enum class Type 19 { 20 USE_QVTKRENDERWIDGET = 0, 21 USE_QVTKOPENGLNATIVEWIDGET = 1, 22 USE_QVTKOPENGLWINDOW = 2, 23 USE_QVTKOPENGLSTEREOWIDGET = 3, 24 USE_QVTKOPENGLWIDGET = 4 25 }; 26 27 Type select_widget(int argc, char* argv[]); 28 void set_default_format(Type type); 29 std::shared_ptr<QObject> create_widget_or_window(Type type, vtkGenericOpenGLRenderWindow* renWin); 30 std::shared_ptr<QWidget> create_widget( 31 Type type, vtkGenericOpenGLRenderWindow* renWin, QWidget* parent); 32 vtkRenderWindow* get_render_window(std::shared_ptr<QObject> widgetOrWindow); 33 void set_render_window(std::shared_ptr<QObject> widgetOrWindow, vtkRenderWindow* renWin); 34 void process_events_and_wait(int msec); 35 void show(std::shared_ptr<QObject> widgetOrWindow, const QSize& size); 36 QImage grab_framebuffer(std::shared_ptr<QObject> widgetOrWindow); 37 38 } 39