I have a working project on Qt using pcl and vtk....I was using QVTKWidget.
Now I need to re-build the project using QVTKOpenGLWidget as QVTKWidget is deprecated
This post suggests that the latest PCL version from master should be used QVTKOpenGLWidget and vtkGenericOpenGlRenderWindow with QTDesigner
I did that and changed the necessary files but when compiling the project always crashes when I link pclVisuiliser with QVTKOpenGLWidget.
QSurfaceFormat::setDefaultFormat(QVTKOpenGLWidget::defaultFormat());
QApplication app(argc, argv);
QVTKOpenGLWidget *widget = new QVTKOpenGLWidget();
vtkNew<vtkRenderer> renderer;
vtkNew<vtkGenericOpenGLRenderWindow> renderWindow;
renderWindow->AddRenderer(renderer.Get());
pcl::visualization::PCLVisualizer::Ptr pclViewer(new pcl::visualization::PCLVisualizer(renderer.Get(), renderWindow.Get(), "viewer", false));
widget->SetRenderWindow(pclViewer->getRenderWindow());
widget->show();
When these two lines are commented out the project doesn't crash :
pcl::visualization::PCLVisualizer::Ptr pclViewer(new pcl::visualization::PCLVisualizer(renderer.Get(), renderWindow.Get(), "viewer", false));
widget->SetRenderWindow(pclViewer->getRenderWindow());
I'm using Qt 5.9.5 and latest version from master on github for PCl and VTK.
Is there anything missing ?