X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FNETGENPlugin%2FNETGENPlugin_NETGEN_3D.hxx;h=a33a661950d820ea5366c4d70e7f100de5c07dfe;hb=0ee85c91e926eee675bc63fe8c369e70723d8afe;hp=17430c9bbd5e49a290be1e9324ef5d94680d1e76;hpb=bc0818fc4c602b9fc07da44394126e47d3611163;p=plugins%2Fnetgenplugin.git diff --git a/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx b/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx old mode 100755 new mode 100644 index 17430c9..a33a661 --- a/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx +++ b/src/NETGENPlugin/NETGENPlugin_NETGEN_3D.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -37,14 +37,20 @@ #include "SMESH_Algo.hxx" #include "Utils_SALOME_Exception.hxx" +#include +#include + class StdMeshers_ViscousLayers; class StdMeshers_MaxElementVolume; class NETGENPlugin_Hypothesis; +class NETGENPlugin_NetgenLibWrapper; +class netgen_params; +class SMDS_MeshNode; class NETGENPLUGIN_EXPORT NETGENPlugin_NETGEN_3D: public SMESH_3D_Algo { public: - NETGENPlugin_NETGEN_3D(int hypId, int studyId, SMESH_Gen* gen); + NETGENPlugin_NETGEN_3D(int hypId, SMESH_Gen* gen); virtual ~NETGENPlugin_NETGEN_3D(); virtual bool CheckHypothesis(SMESH_Mesh& aMesh, @@ -65,12 +71,48 @@ class NETGENPLUGIN_EXPORT NETGENPlugin_NETGEN_3D: public SMESH_3D_Algo const TopoDS_Shape& aShape, MapShapeNbElems& aResMap); + bool computeFillNgMesh( + SMESH_Mesh& aMesh, + const TopoDS_Shape& aShape, + std::vector< const SMDS_MeshNode* > &nodeVec, + NETGENPlugin_NetgenLibWrapper &ngLib, + SMESH_MesherHelper &helper, + int &Netgen_NbOfNodes); + + bool computePrepareParam( + SMESH_Mesh& aMesh, + NETGENPlugin_NetgenLibWrapper &ngLib, + netgen::OCCGeometry &occgeo, + SMESH_MesherHelper &helper, + int &endWith); + + bool computeRunMesher( + netgen::OCCGeometry &occgeo, + std::vector< const SMDS_MeshNode* > &nodeVec, + netgen::Mesh* ngMesh, + NETGENPlugin_NetgenLibWrapper &ngLib, + int &startWith, int &endWith); + + bool computeFillMesh( + std::vector< const SMDS_MeshNode* > &nodeVec, + NETGENPlugin_NetgenLibWrapper &ngLib, + SMESH_MesherHelper &helper, + int &Netgen_NbOfNodes); + protected: - bool compute(SMESH_Mesh& mesh, - SMESH_MesherHelper& helper, - vector< const SMDS_MeshNode* >& nodeVec, - nglib::Ng_Mesh* ngMesh); + virtual bool getSurfaceElements( + SMESH_Mesh& aMesh, + const TopoDS_Shape& aShape, + SMESH_ProxyMesh::Ptr proxyMesh, + NETGENPlugin_Internals &internals, + SMESH_MesherHelper &helper, + std::map, TIDCompare>& listElements); + + bool compute(SMESH_Mesh& mesh, + SMESH_MesherHelper& helper, + std::vector< const SMDS_MeshNode* >& nodeVec, + NETGENPlugin_NetgenLibWrapper& ngLib); double _maxElementVolume;