]> SALOME platform Git repositories - plugins/netgenplugin.git/commitdiff
Salome HOME
Porting netgen asozinov/32536_linux
authorasozinov <alexey.sozinov@opencascade.com>
Fri, 28 Oct 2022 07:36:04 +0000 (10:36 +0300)
committerasozinov <alexey.sozinov@opencascade.com>
Fri, 28 Oct 2022 07:44:41 +0000 (10:44 +0300)
src/NETGENPlugin/NETGENPlugin_Mesher.cxx
src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cxx

index 2d9ff3bd5f70281c8e6a65eefc4571a5c206ec0a..8725e71c9f14225ec5f4a9f81bea8dc8bb340e99 100644 (file)
@@ -31,6 +31,7 @@
 #include "NETGENPlugin_Hypothesis_2D.hxx"
 #include "NETGENPlugin_SimpleHypothesis_3D.hxx"
 
+#include <BRepBndLib.hxx>
 #include <SMDS_FaceOfNodes.hxx>
 #include <SMDS_LinearEdge.hxx>
 #include <SMDS_MeshElement.hxx>
@@ -2900,7 +2901,7 @@ bool NETGENPlugin_Mesher::Compute()
   // Generate the mesh
   // -------------------------
 
-  _ngMesh = NULL;
+  //_ngMesh = NULL;
   NETGENPlugin_ngMeshInfo initState; // it remembers size of ng mesh equal to size of Smesh
 
   SMESH_Comment comment;
@@ -4506,10 +4507,19 @@ int NETGENPlugin_NetgenLibWrapper::GenerateMesh( netgen::OCCGeometry& occgeo,
 
   ngMesh->SetGeometry( shared_ptr<netgen::NetgenGeometry>( &occgeo, &NOOP_Deleter ));
 
+  ofstream MyFile("D:/plug.txt");
+  MyFile << "Before";
+  occgeo.BuildFMap();
+  MyFile << "\nAfter";
+
   netgen::mparam.perfstepsstart = startWith;
   netgen::mparam.perfstepsend   = endWith;
   std::shared_ptr<netgen::Mesh> meshPtr( ngMesh, &NOOP_Deleter );
+  MyFile << "\nGenMeshStart";
+
   err = occgeo.GenerateMesh( meshPtr, netgen::mparam );
+  MyFile << "\nGenMeshEnd";
+  MyFile << err;
 
 #else
   #ifdef NETGEN_V5
index 9c122c3f236351ad432cb26abcc3e745d1419b2b..f012bf26791b3c8b04dc0c9936ab7858df3a689a 100644 (file)
@@ -26,6 +26,8 @@
 #include "NETGENPlugin_Mesher.hxx"
 #include "NETGENPlugin_Hypothesis_2D.hxx"
 
+#include <BRepBndLib.hxx>
+#include <TopExp.hxx>
 #include <SMDS_MeshElement.hxx>
 #include <SMDS_MeshNode.hxx>
 #include <SMESHDS_Mesh.hxx>
@@ -226,6 +228,9 @@ bool NETGENPlugin_NETGEN_2D_ONLY::CheckHypothesis (SMESH_Mesh&         aMesh,
 bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh&         aMesh,
                                           const TopoDS_Shape& aShape)
 {
+  ofstream File("D:/2D_ONLY.txt");
+  File << "Compute Start\t";
+
   netgen::multithread.terminate = 0;
   //netgen::multithread.task = "Surface meshing";
 
@@ -240,6 +245,7 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh&         aMesh,
   netgen::Mesh * ngMeshes[2] = { (netgen::Mesh*) ngLib._ngMesh,  & ngMeshNoLocSize };
   netgen::OCCGeometry occgeoComm;
 
+  File << "1";
   // min / max sizes are set as follows:
   // if ( _hypParameters )
   //    min and max are defined by the user
@@ -290,6 +296,8 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh&         aMesh,
 #endif
     occgeoComm.face_maxh = netgen::mparam.maxh;
 #ifdef NETGEN_V6
+    occgeoComm.BuildFMap();
+
     netgen::OCCParameters occparam;
     netgen::OCCSetLocalMeshSize( occgeoComm, *ngMeshes[0], netgen::mparam, occparam );
 #else
@@ -335,6 +343,7 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh&         aMesh,
   // Loop on all FACEs
   // ==================
 
+  File << "2";
   vector< const SMDS_MeshNode* > nodeVec;
 
   TopExp_Explorer fExp( aShape, TopAbs_FACE );
@@ -597,6 +606,7 @@ bool NETGENPlugin_NETGEN_2D_ONLY::Compute(SMESH_Mesh&         aMesh,
     } // two attempts
   } // loop on FACEs
 
+  File << "\tCompute End\n";
   return true;
 }