mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-01 01:41:48 +08:00
2302ee8de0
* [netgen] update, add python feature and fix dll loader error. * format manifest * v db
161 lines
4.4 KiB
Diff
161 lines
4.4 KiB
Diff
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;
|