From 91a8ffd31cf4717db9df0d736b48abb0d704a9dc Mon Sep 17 00:00:00 2001 From: wmayer Date: Mon, 11 Oct 2021 00:30:22 +0200 Subject: [PATCH] SMESH: port to OCCT 7.6 --- .../src/NETGENPlugin/NETGENPlugin_Mesher.cpp | 7 +++++++ .../salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp | 7 +++++-- .../src/StdMeshers/StdMeshers_Adaptive1D.cpp | 14 ++++++++++++++ .../src/StdMeshers/StdMeshers_Quadrangle_2D.cpp | 2 +- .../src/StdMeshers/StdMeshers_ViscousLayers.cpp | 8 ++++++++ 5 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp index cd6f0b2b07..ea83984b97 100644 --- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp +++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -700,7 +701,13 @@ double NETGENPlugin_Mesher::GetDefaultMinSize(const TopoDS_Shape& geom, BRep_Tool::Triangulation ( TopoDS::Face( fExp.Current() ), loc); if ( triangulation.IsNull() ) continue; const double fTol = BRep_Tool::Tolerance( TopoDS::Face( fExp.Current() )); +#if OCC_VERSION_HEX < 0x070600 const TColgp_Array1OfPnt& points = triangulation->Nodes(); +#else + auto points = [&triangulation](Standard_Integer index) { + return triangulation->Node(index); + }; +#endif const Poly_Array1OfTriangle& trias = triangulation->Triangles(); for ( int iT = trias.Lower(); iT <= trias.Upper(); ++iT ) { diff --git a/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp b/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp index 5a07308310..fbb1b25008 100644 --- a/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp +++ b/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshAlgos.cpp @@ -38,10 +38,13 @@ #include #include #include -#include -#include +#include +#include #include #include +#include +#include +#include #include #include diff --git a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp index 88970f36b5..7c51601c7b 100644 --- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp +++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Adaptive1D.cpp @@ -46,6 +46,7 @@ #include #include #include +#include #include #include #include @@ -318,13 +319,26 @@ namespace // internal utils { myFaceTol = SMESH_MesherHelper::MaxTolerance( face ); myTree = triaTree; +#if OCC_VERSION_HEX < 0x070600 myNodes = & tr->Nodes(); +#else + TColgp_Array1OfPnt* trNodes = new TColgp_Array1OfPnt( 1, tr->NbNodes() ); + for (Standard_Integer i = myNodes->Lower(); i <= myNodes->Upper(); i++) + { + trNodes->SetValue(i, tr->Node(i)); + } + myNodes = trNodes; + myOwnNodes = true; +#endif myPolyTrias = & tr->Triangles(); myTriasDeflection = tr->Deflection(); if ( !loc.IsIdentity() ) // transform nodes if necessary { TColgp_Array1OfPnt* trsfNodes = new TColgp_Array1OfPnt( myNodes->Lower(), myNodes->Upper() ); trsfNodes->Assign( *myNodes ); +#if OCC_VERSION_HEX >= 0x070600 + delete myNodes; // it's already a copy +#endif myNodes = trsfNodes; myOwnNodes = true; const gp_Trsf& trsf = loc; diff --git a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp index f7ac411d9a..5d5c15c366 100644 --- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp +++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp @@ -50,7 +50,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp index 8ee0e26832..e9f4618305 100644 --- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp +++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_ViscousLayers.cpp @@ -44,7 +44,10 @@ #include "SMESH_subMeshEventListener.hxx" #include "StdMeshers_FaceSide.hxx" +#include +#if OCC_VERSION_HEX < 0x070600 #include +#endif #include #include #include @@ -1340,8 +1343,13 @@ namespace VISCOUS_3D //case GeomAbs_SurfaceOfExtrusion: case GeomAbs_OffsetSurface: { +#if OCC_VERSION_HEX < 0x070600 Handle(Adaptor3d_HSurface) base = surface.BasisSurface(); return getRovolutionAxis( base->Surface(), axis ); +#else + Handle(Adaptor3d_Surface) base = surface.BasisSurface(); + return getRovolutionAxis( *base, axis ); +#endif } default: return false; }