smesh: [skip ci] port Netgen plugin to v6.2

This commit is contained in:
wmayer
2020-07-22 20:32:34 +02:00
parent 3e86f98d7a
commit 87fcebd538
3 changed files with 28 additions and 13 deletions

View File

@@ -99,16 +99,14 @@ namespace nglib {
# pragma clang diagnostic pop
#endif
//#define NETGEN_VERSION_6_2_1909
namespace netgen {
#if NETGEN_VERSION >= NETGEN_VERSION_STRING(6,2)
#ifdef NETGEN_VERSION_6_2_1909
typedef Refinement OCCRefinementSurfaces;
// https://github.com/NGSolve/netgen/commit/bee097b153b43d9346819789534536cd1b773428
int OCCGenerateMesh(OCCGeometry& geo, shared_ptr<Mesh>& mesh, MeshingParameters& params)
{
//geo.SetOCCParameters(occparam);
auto result = geo.GenerateMesh(mesh, params);
return result;
}
#endif
DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&);
#elif NETGEN_VERSION >= NETGEN_VERSION_STRING(6,0)
DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&, int, int);
#elif NETGEN_VERSION >= NETGEN_VERSION_STRING(5,0)

View File

@@ -84,9 +84,26 @@ namespace nglib {
# pragma clang diagnostic pop
#endif
//#define NETGEN_VERSION_6_2_1909
namespace netgen {
#if NETGEN_VERSION >= NETGEN_VERSION_STRING(6,2)
extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&);
#ifdef NETGEN_VERSION_6_2_1909
// https://github.com/NGSolve/netgen/commit/bee097b153b43d9346819789534536cd1b773428
int OCCGenerateMesh(OCCGeometry& geo, shared_ptr<Mesh>& mesh, MeshingParameters& mparams)
{
//geo.SetOCCParameters(occparam);
int perfstepsend = mparams.perfstepsend;
if (perfstepsend == netgen::MESHCONST_OPTSURFACE) {
mparams.perfstepsend = netgen::MESHCONST_MESHSURFACE;
}
auto result = geo.GenerateMesh(mesh, mparams);
mparams.perfstepsend = perfstepsend;
return result;
}
#else
DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&);
#endif
#elif NETGEN_VERSION >= NETGEN_VERSION_STRING(6,0)
DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&, int, int);
#elif NETGEN_VERSION >= NETGEN_VERSION_STRING(5,0)
@@ -95,7 +112,7 @@ namespace netgen {
DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, Mesh*&, int, int, char*);
#endif
DLL_HEADER extern MeshingParameters mparam;
#if NETGEN_VERSION < NETGEN_VERSION_STRING(6,2)
#ifndef NETGEN_VERSION_6_2_1909
DLL_HEADER extern void OCCSetLocalMeshSize(OCCGeometry & geom, Mesh & mesh);
#endif
}
@@ -316,7 +333,7 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh& aMesh,
netgen::mparam.minh = aMesher.GetDefaultMinSize( aShape, netgen::mparam.maxh );
}
// set local size depending on curvature and NOT closeness of EDGEs
#if NETGEN_VERSION >= NETGEN_VERSION_STRING(6,2)
#ifdef NETGEN_VERSION_6_2_1909
// https://github.com/NGSolve/netgen/commit/073e215bb6bc97d8712990cba9cc6e9e1e4d8b2a
netgen::mparam.closeedgefac = std::nullopt;
#else
@@ -324,7 +341,7 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh& aMesh,
#endif
//netgen::occparam.resthcloseedgefac = 1.0 + netgen::mparam.grading;
occgeoComm.face_maxh = netgen::mparam.maxh;
#if NETGEN_VERSION >= NETGEN_VERSION_STRING(6,2)
#ifdef NETGEN_VERSION_6_2_1909
// https://github.com/NGSolve/netgen/commit/bee097b153b43d9346819789534536cd1b773428
occgeoComm.Analyse(*ngMeshes[0], netgen::mparam);
#else
@@ -334,7 +351,7 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh& aMesh,
occgeoComm.vmap.Clear();
// set local size according to size of existing segments
#if NETGEN_VERSION >= NETGEN_VERSION_STRING(6,2)
#ifdef NETGEN_VERSION_6_2_1909
const double factor = netgen::mparam.closeedgefac.value();
#else
const double factor = netgen::occparam.resthcloseedgefac;

View File

@@ -96,7 +96,7 @@ namespace nglib {
}
namespace netgen {
#if NETGEN_VERSION >= NETGEN_VERSION_STRING(6,2)
extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&);
DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&);
#elif NETGEN_VERSION >= NETGEN_VERSION_STRING(6,0)
DLL_HEADER extern int OCCGenerateMesh (OCCGeometry&, shared_ptr<Mesh>&, MeshingParameters&, int, int);
#elif NETGEN_VERSION >= NETGEN_VERSION_STRING(5,0)