summaryrefslogtreecommitdiff
path: root/sci-libs/opencascade/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-06-24 14:47:38 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-06-24 14:47:38 +0100
commitb4d43e8c611df4a8061b6f88d9e9f6b1e3c83903 (patch)
tree911928b566777494d08ebe2c16cb64f15af71901 /sci-libs/opencascade/files
parent61f10f985e19dfe20a4d9552902625edd5b6eabb (diff)
gentoo resync : 24.06.2021
Diffstat (limited to 'sci-libs/opencascade/files')
-rw-r--r--sci-libs/opencascade/files/opencascade-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch172
1 files changed, 172 insertions, 0 deletions
diff --git a/sci-libs/opencascade/files/opencascade-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch b/sci-libs/opencascade/files/opencascade-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch
new file mode 100644
index 000000000000..e2725ebb2c64
--- /dev/null
+++ b/sci-libs/opencascade/files/opencascade-7.5.1-fix-AllValues-name-collision-with-vtk-9.0.patch
@@ -0,0 +1,172 @@
+From f624c55d7b75ccbe3fdfef0db141fdbe1f6b383a Mon Sep 17 00:00:00 2001
+From: anv <anv@opencascade.com>
+Date: Tue, 27 Apr 2021 21:33:54 +0300
+Subject: [PATCH 1/2] 0032331: Visualization - Exception when trying to display
+ some surfaces using iVtk with VTK 9
+
+Updated memory allocation for vtkPolyData to use more suited method for VTK versions after 9.0
+---
+ src/IVtkDraw/IVtkDraw_Interactor.cxx | 7 +++
+ src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx | 50 ++++++++++++++++++-
+ 2 files changed, 56 insertions(+), 1 deletion(-)
+
+diff --git a/src/IVtkDraw/IVtkDraw_Interactor.cxx b/src/IVtkDraw/IVtkDraw_Interactor.cxx
+index f9f68c37b6..1b68c959f5 100644
+--- a/src/IVtkDraw/IVtkDraw_Interactor.cxx
++++ b/src/IVtkDraw/IVtkDraw_Interactor.cxx
+@@ -20,6 +20,13 @@
+ #include <vtkWin32OpenGLRenderWindow.h>
+ #else
+ #include <GL/glx.h>
++
++// Preventing naming collisions between
++// GLX and VTK versions 9.0 and above
++#ifdef AllValues
++#undef AllValues
++#endif
++
+ #include <vtkXRenderWindowInteractor.h>
+ #include <vtkXOpenGLRenderWindow.h>
+ #endif
+diff --git a/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx b/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx
+index 26ded68af5..bd289d2b51 100644
+--- a/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx
++++ b/src/IVtkTools/IVtkTools_SubPolyDataFilter.cxx
+@@ -87,6 +87,11 @@ int IVtkTools_SubPolyDataFilter::RequestData (vtkInformation *vtkNotUsed(theRequ
+
+ // Prepare the list of ids from the set of ids.
+ // Iterate on input cells.
++#if (VTK_MAJOR_VERSION >= 9)
++ // Count number of different cells.
++ int aNbVerts = 0, aNbLines = 0, aNbPolys = 0, aNbStrips = 0;
++ int aNbVertPts = 0, aNbLinePts = 0, aNbPolyPts = 0, aNbStripPts = 0;
++#endif
+ if (!myIdsSet.IsEmpty())
+ {
+ for (vtkIdType anI = 0; anI < aSize; anI++)
+@@ -95,13 +100,56 @@ int IVtkTools_SubPolyDataFilter::RequestData (vtkInformation *vtkNotUsed(theRequ
+ {
+ // Add a cell id to output if it's value is in the set.
+ anIdList->InsertNextId (anI);
++#if (VTK_MAJOR_VERSION >= 9)
++ switch (anInput->GetCellType(anI))
++ {
++ case VTK_VERTEX:
++ aNbVerts++;
++ aNbVertPts++;
++ break;
++ case VTK_POLY_VERTEX:
++ aNbVerts++;
++ aNbVertPts += anInput->GetCell(anI)->GetNumberOfPoints();
++ break;
++ case VTK_LINE:
++ aNbLines++;
++ aNbLinePts += 2;
++ break;
++ case VTK_POLY_LINE:
++ aNbLines++;
++ aNbLinePts += anInput->GetCell(anI)->GetNumberOfPoints();
++ break;
++ case VTK_TRIANGLE:
++ aNbPolys++;
++ aNbPolyPts += 3;
++ break;
++ case VTK_QUAD:
++ aNbPolys++;
++ aNbPolyPts += 4;
++ break;
++ case VTK_POLYGON:
++ aNbPolys++;
++ aNbPolyPts += anInput->GetCell(anI)->GetNumberOfPoints();
++ break;
++ case VTK_TRIANGLE_STRIP:
++ aNbStrips++;
++ aNbStripPts += anInput->GetCell(anI)->GetNumberOfPoints();
++ break;
++ }
++#endif
+ }
+ }
+ }
+
+ // Copy cells with their points according to the prepared list of cell ids.
+ anOutput->GetCellData()->AllocateArrays(anInput->GetCellData()->GetNumberOfArrays());
+- anOutput->Allocate(anInput, anIdList->GetNumberOfIds()); // Allocate output cells
++ // Allocate output cells
++#if (VTK_MAJOR_VERSION >= 9)
++ anOutput->AllocateExact (aNbVerts, aNbVertPts, aNbLines, aNbLinePts, aNbPolys, aNbPolyPts, aNbStrips, aNbStripPts);
++#else
++ anOutput->Allocate (anInput, anIdList->GetNumberOfIds());
++#endif
++
+ // Pass data arrays.
+ // Create new arrays for output data
+ vtkSmartPointer<vtkCellData> anInData = anInput->GetCellData();
+--
+2.31.1
+
+
+From 3a0d59614378af258b285c7a3cab66c4bb7cecd3 Mon Sep 17 00:00:00 2001
+From: Roman Beranek <roman.beranek@prusa3d.com>
+Date: Thu, 3 Jun 2021 15:41:45 +0200
+Subject: [PATCH 2/2] undef AllValues after inclusion of GL/glx.h
+
+Replicate the measure from 0032331 also for IVtkDraw.cxx and InterfaceGraphic.hxx
+---
+ src/IVtkDraw/IVtkDraw.cxx | 17 +++++++++++------
+ src/InterfaceGraphic/InterfaceGraphic.hxx | 4 +++-
+ 2 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/src/IVtkDraw/IVtkDraw.cxx b/src/IVtkDraw/IVtkDraw.cxx
+index 93d4a2fd1a..84bacdc55a 100644
+--- a/src/IVtkDraw/IVtkDraw.cxx
++++ b/src/IVtkDraw/IVtkDraw.cxx
+@@ -52,6 +52,17 @@
+
+ // prevent disabling some MSVC warning messages by VTK headers
+ #include <Standard_WarningsDisable.hxx>
++#ifndef _WIN32
++ #include <X11/X.h>
++ #include <X11/Shell.h>
++ #include <X11/Xlib.h>
++ #include <X11/Xutil.h>
++ #include <GL/glx.h>
++ #include <Xw_Window.hxx>
++ #ifdef AllValues
++ #undef AllValues
++ #endif
++#endif
+ #include <vtkAlgorithmOutput.h>
+ #include <vtkAppendPolyData.h>
+ #include <vtkBMPWriter.h>
+@@ -75,12 +86,6 @@
+ #include <vtkTIFFWriter.h>
+ #include <vtkWindowToImageFilter.h>
+ #ifndef _WIN32
+- #include <X11/X.h>
+- #include <X11/Shell.h>
+- #include <X11/Xlib.h>
+- #include <X11/Xutil.h>
+- #include <GL/glx.h>
+- #include <Xw_Window.hxx>
+ #include <vtkXRenderWindowInteractor.h>
+ #include <vtkXOpenGLRenderWindow.h>
+ #include <tk.h>
+diff --git a/src/InterfaceGraphic/InterfaceGraphic.hxx b/src/InterfaceGraphic/InterfaceGraphic.hxx
+index c533f68cd5..bf02b3f397 100644
+--- a/src/InterfaceGraphic/InterfaceGraphic.hxx
++++ b/src/InterfaceGraphic/InterfaceGraphic.hxx
+@@ -39,7 +39,9 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+ #include <GL/glx.h>
+-
++#ifdef AllValues
++#undef AllValues
++#endif
+ #endif
+
+ #endif // __INTERFACE_GRAPHIC_HXX
+--
+2.31.1
+