File 0001-Remove-leftover-QVTKWidget-include-fix-for-VTK-9.patch of Package QCSXCAD

From 6c8d2faa73571e41d49b609b1406dec1e6a0fe8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
Date: Thu, 15 Oct 2020 13:48:37 +0200
Subject: [PATCH] Remove leftover QVTKWidget include, fix for VTK 9

QVTKWidget has been removed finally in VTK 9, but as it is not used
directly in QCSXAPP it can be removed there.

Everywhere else, use QVTKOpenGLWidget/QVTKOpenGLStereoWidget.
---
 QCSXCAD.cpp       |  1 -
 QVTKStructure.cpp | 10 ++++++++--
 QVTKStructure.h   |  8 ++++++--
 export_pov.cpp    | 22 ++++++++++++++++++++--
 export_x3d.cpp    | 16 ++++++++++++++--
 5 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/QCSXCAD.cpp b/QCSXCAD.cpp
index 4cd4a74..a7450c6 100644
--- a/QCSXCAD.cpp
+++ b/QCSXCAD.cpp
@@ -58,7 +58,6 @@
 #include "CSPrimWire.h"
 #include "CSPrimUserDefined.h"
 
-#include <QVTKWidget.h>
 #include <vtkRendererCollection.h>
 #include <vtkRenderWindow.h>
 #include <vtkRenderer.h>
diff --git a/QVTKStructure.cpp b/QVTKStructure.cpp
index 1c9b539..1a6dff5 100644
--- a/QVTKStructure.cpp
+++ b/QVTKStructure.cpp
@@ -20,7 +20,10 @@
 #include "QVTKStructure.h"
 
 #include "vtkCommand.h"
-#if VTK_MAJOR_VERSION>=8
+#if VTK_MAJOR_VERSION>=9
+  #include "QVTKOpenGLStereoWidget.h"
+  #include "vtkGenericOpenGLRenderWindow.h"
+#elif VTK_MAJOR_VERSION==8
   #include "QVTKOpenGLWidget.h"
   #include "vtkGenericOpenGLRenderWindow.h"
 #else
@@ -99,7 +102,10 @@ QVTKStructure::QVTKStructure()
 	iResolution=32;
 	AllowUpdate=true;
 
-#if VTK_MAJOR_VERSION>=8
+#if VTK_MAJOR_VERSION>=9
+	VTKWidget = new QVTKOpenGLStereoWidget();
+	VTKWidget->setRenderWindow(vtkGenericOpenGLRenderWindow::New());
+#elif VTK_MAJOR_VERSION==8
 	VTKWidget = new QVTKOpenGLWidget();
 	VTKWidget->SetRenderWindow(vtkGenericOpenGLRenderWindow::New());
 #else
diff --git a/QVTKStructure.h b/QVTKStructure.h
index 6719711..4b0dd5e 100644
--- a/QVTKStructure.h
+++ b/QVTKStructure.h
@@ -21,7 +21,9 @@
 #include <QtGui>
 
 #include "vtkCommand.h"
-#if VTK_MAJOR_VERSION>=8
+#if VTK_MAJOR_VERSION>=9
+  class QVTKOpenGLStereoWidget;
+#elif VTK_MAJOR_VERSION==8
   class QVTKOpenGLWidget;
 #else
   class QVTKWidget;
@@ -100,7 +102,9 @@ protected:
 		unsigned int uID;
 	} VTKLayerStruct;
 
-#if VTK_MAJOR_VERSION>=8
+#if VTK_MAJOR_VERSION>=9
+	QVTKOpenGLStereoWidget *VTKWidget;
+#elif VTK_MAJOR_VERSION==8
 	QVTKOpenGLWidget *VTKWidget;
 #else
 	QVTKWidget *VTKWidget;
diff --git a/export_pov.cpp b/export_pov.cpp
index 07f6fb5..30c0943 100644
--- a/export_pov.cpp
+++ b/export_pov.cpp
@@ -18,7 +18,14 @@
 #include <QMessageBox>
 #include <QtXml>
 
-#include <QVTKWidget.h>
+#include "QVTKStructure.h"
+#if VTK_MAJOR_VERSION>=9
+  #include "QVTKOpenGLStereoWidget.h"
+#elif VTK_MAJOR_VERSION==8
+  #include "QVTKOpenGLWidget.h"
+#else
+  #include "QVTKWidget.h"
+#endif
 #include <vtkRendererCollection.h>
 #include <vtkRenderWindow.h>
 #include <vtkRenderer.h>
@@ -33,7 +40,6 @@
 #include "CSPrimCurve.h"
 #include "CSPrimWire.h"
 
-#include "QVTKStructure.h"
 #include "QCSXCAD.h"
 #include "export_pov.h"
 
@@ -201,7 +207,13 @@ void export_pov::export_wire( QTextStream &stream, size_t count, double *array,
 
 QString export_pov::get_camera()
 {
+#if VTK_MAJOR_VERSION>=9
+	vtkRendererCollection* collection = ((QVTKOpenGLStereoWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->renderWindow()->GetRenderers();
+#elif VTK_MAJOR_VERSION==8
+	vtkRendererCollection* collection = ((QVTKOpenGLWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->GetRenderWindow()->GetRenderers();
+#else
 	vtkRendererCollection* collection = ((QVTKWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->GetRenderWindow()->GetRenderers();
+#endif
 	vtkRenderer *r = collection->GetFirstRenderer();
 	if (!r)
 		return QString();
@@ -231,7 +243,13 @@ QString export_pov::get_camera()
 
 QString export_pov::get_light()
 {
+#if VTK_MAJOR_VERSION>=9
+	vtkRendererCollection* collection = ((QVTKOpenGLStereoWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->renderWindow()->GetRenderers();
+#elif VTK_MAJOR_VERSION==8
+	vtkRendererCollection* collection = ((QVTKOpenGLWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->GetRenderWindow()->GetRenderers();
+#else
 	vtkRendererCollection* collection = ((QVTKWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->GetRenderWindow()->GetRenderers();
+#endif
 	vtkRenderer *r = collection->GetFirstRenderer();
 	if (!r)
 		return QString();
diff --git a/export_x3d.cpp b/export_x3d.cpp
index 347463d..802d974 100644
--- a/export_x3d.cpp
+++ b/export_x3d.cpp
@@ -17,7 +17,14 @@
 
 #include <QMessageBox>
 
-#include <QVTKWidget.h>
+#include "QVTKStructure.h"
+#if VTK_MAJOR_VERSION>=9
+  #include "QVTKOpenGLStereoWidget.h"
+#elif VTK_MAJOR_VERSION==8
+  #include "QVTKOpenGLWidget.h"
+#else
+  #include "QVTKWidget.h"
+#endif
 #include <vtkRendererCollection.h>
 #include <vtkRenderWindow.h>
 #include <vtkRenderer.h>
@@ -29,7 +36,6 @@
 #include "CSPrimBox.h"
 #include "CSPrimPolygon.h"
 
-#include "QVTKStructure.h"
 #include "QCSXCAD.h"
 #include "export_x3d.h"
 
@@ -70,7 +76,13 @@ void export_X3D::save( QString filename )
 	export_properties( Scene, properties, Material );
 
 	// create camera
+#if VTK_MAJOR_VERSION>=9
+	vtkRendererCollection* collection = ((QVTKOpenGLStereoWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->renderWindow()->GetRenderers();
+#elif VTK_MAJOR_VERSION==8
+	vtkRendererCollection* collection = ((QVTKOpenGLWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->GetRenderWindow()->GetRenderers();
+#else
 	vtkRendererCollection* collection = ((QVTKWidget*)(m_CSX->StructureVTK->GetVTKWidget()))->GetRenderWindow()->GetRenderers();
+#endif
 	vtkRenderer *r = collection->GetFirstRenderer();
 	if (!r)
 		return;
-- 
2.28.0

openSUSE Build Service is sponsored by