aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/netgen/occ-78.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/netgen/occ-78.patch')
-rw-r--r--vcpkg/ports/netgen/occ-78.patch160
1 files changed, 160 insertions, 0 deletions
diff --git a/vcpkg/ports/netgen/occ-78.patch b/vcpkg/ports/netgen/occ-78.patch
new file mode 100644
index 0000000..ba67919
--- /dev/null
+++ b/vcpkg/ports/netgen/occ-78.patch
@@ -0,0 +1,160 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0846f39bd..f7516afa4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -372,25 +372,20 @@ if (USE_OCC)
+ TKGeomAlgo
+ TKGeomBase
+ TKHLR
+- TKIGES
+ TKLCAF
+ TKMath
+ TKMesh
+ TKOffset
+ TKPrim
+- TKSTEP
+- TKSTEP209
+- TKSTEPAttr
+- TKSTEPBase
+- TKSTL
++ TKDESTL
+ TKService
+ TKShHealing
+ TKTopAlgo
+ TKV3d
+ TKVCAF
+ TKXCAF
+- TKXDEIGES
+- TKXDESTEP
++ TKDEIGES
++ TKDESTEP
+ TKXSBase
+ TKernel
+ )
+diff --git a/libsrc/occ/Partition_Loop3d.hxx b/libsrc/occ/Partition_Loop3d.hxx
+index e1716691c..e8a434911 100644
+--- a/libsrc/occ/Partition_Loop3d.hxx
++++ b/libsrc/occ/Partition_Loop3d.hxx
+@@ -10,27 +10,16 @@
+ #ifndef _Partition_Loop3d_HeaderFile
+ #define _Partition_Loop3d_HeaderFile
+
+-#ifndef _TopTools_ListOfShape_HeaderFile
+-#include <TopTools_ListOfShape.hxx>
+-#endif
+-#ifndef _TopTools_IndexedDataMapOfShapeListOfShape_HeaderFile
+-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+-#endif
+-#ifndef _Standard_Boolean_HeaderFile
++#include <Standard_Version.hxx>
+ #include <Standard_Boolean.hxx>
+-#endif
+-#ifndef _Standard_Real_HeaderFile
+ #include <Standard_Real.hxx>
+-#endif
+-#ifndef _Standard_Version_HeaderFile
+-#include <Standard_Version.hxx>
+-#endif
++#include <TopTools_ListOfShape.hxx>
++#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
+
+-#if OCC_VERSION_HEX < 0x070000
++#if OCC_VERSION_HEX < 0x070000 || OCC_VERSION_HEX > 0x070799
+ #else
+ #include <TopTools_ShapeMapHasher.hxx>
+ #include <TopTools_OrientedShapeMapHasher.hxx>
+- #include <TopTools_MapOfOrientedShape.hxx>
+ #endif
+
+ class TopoDS_Shape;
+@@ -38,6 +27,8 @@ class TopoDS_Shape;
+ #if OCC_VERSION_HEX < 0x070000
+ class TopTools_ListOfShape;
+ class TopTools_MapOfOrientedShape;
++#else
++#include <TopTools_MapOfOrientedShape.hxx>
+ #endif
+
+ class TopoDS_Edge;
+diff --git a/libsrc/occ/occ_edge.cpp b/libsrc/occ/occ_edge.cpp
+index 0c907d78b..fd64c9a42 100644
+--- a/libsrc/occ/occ_edge.cpp
++++ b/libsrc/occ/occ_edge.cpp
+@@ -55,7 +55,11 @@ namespace netgen
+
+ size_t OCCEdge::GetHash() const
+ {
++#if OCC_VERSION_HEX < 0x070800
+ return edge.HashCode(std::numeric_limits<Standard_Integer>::max());
++#else
++ return std::hash<TopoDS_Shape>{}(edge);
++#endif
+ }
+
+ void OCCEdge::ProjectPoint(Point<3>& p, EdgePointGeomInfo* gi) const
+diff --git a/libsrc/occ/occ_face.cpp b/libsrc/occ/occ_face.cpp
+index 239982aa8..ea4dd15b4 100644
+--- a/libsrc/occ/occ_face.cpp
++++ b/libsrc/occ/occ_face.cpp
+@@ -32,7 +32,11 @@ namespace netgen
+
+ size_t OCCFace::GetHash() const
+ {
++#if OCC_VERSION_HEX < 0x070800
+ return face.HashCode(std::numeric_limits<Standard_Integer>::max());
++#else
++ return std::hash<TopoDS_Shape>{}(face);
++#endif
+ }
+
+ Point<3> OCCFace::GetCenter() const
+diff --git a/libsrc/occ/occ_solid.hpp b/libsrc/occ/occ_solid.hpp
+index d598de4a2..66f28d73a 100644
+--- a/libsrc/occ/occ_solid.hpp
++++ b/libsrc/occ/occ_solid.hpp
+@@ -16,8 +16,11 @@ namespace netgen
+ OCCSolid(TopoDS_Shape dshape)
+ : solid(TopoDS::Solid(dshape))
+ { }
+-
++#if OCC_VERSION_HEX < 0x070800
+ size_t GetHash() const override { return solid.HashCode(std::numeric_limits<Standard_Integer>::max()); }
++#else
++ size_t GetHash() const override { return std::hash<TopoDS_Solid>{}(solid); }
++#endif
+ };
+ }
+
+diff --git a/libsrc/occ/occ_vertex.cpp b/libsrc/occ/occ_vertex.cpp
+index 6e83c8944..be8e38732 100644
+--- a/libsrc/occ/occ_vertex.cpp
++++ b/libsrc/occ/occ_vertex.cpp
+@@ -19,6 +19,10 @@ namespace netgen
+
+ size_t OCCVertex::GetHash() const
+ {
++#if OCC_VERSION_HEX < 0x070800
+ return vertex.HashCode(std::numeric_limits<Standard_Integer>::max());
++#else
++ return std::hash<TopoDS_Shape>{}(vertex);
++#endif
+ }
+ }
+diff --git a/libsrc/occ/occgeom.cpp b/libsrc/occ/occgeom.cpp
+index bc0383f99..826134ba0 100644
+--- a/libsrc/occ/occgeom.cpp
++++ b/libsrc/occ/occgeom.cpp
+@@ -1716,9 +1716,13 @@ namespace netgen
+ /*
+ // enumerate shapes and archive only integers
+ auto my_hash = [](const TopoDS_Shape & key) {
++#if OCC_VERSION_HEX < 0x070800
+ auto occ_hash = key.HashCode(1<<31UL);
+ return std::hash<decltype(occ_hash)>()(occ_hash);
++#else
++ return std::hash<TopoDS_Shape>{}(key);
++#endif
+ };
+ */
+ TopTools_IndexedMapOfShape shape_map;
+ Array<TopoDS_Shape> shape_list;