]> SALOME platform Git repositories - plugins/netgenplugin.git/commitdiff
Salome HOME
Integrated in BR_imps_2013 branch: 0022357: EDF NETGENPLUGIN: NETGEN options
authorimn <imn@opencascade.com>
Wed, 4 Dec 2013 08:01:23 +0000 (08:01 +0000)
committerimn <imn@opencascade.com>
Wed, 4 Dec 2013 08:01:23 +0000 (08:01 +0000)
src/NETGEN/netgen49ForSalome.patch

index 0be0d34604cbc6e360c2e71ca5cb3b77d0dff04c..b8680efef7bb2f4143f6a105fab93c3d4acb08cc 100644 (file)
@@ -1012,3 +1012,46 @@ diff -Naur netgen-4.9.13_orig/nglib/nglib.h netgen-4.9.13_new/nglib/nglib.h
        #define DLL_HEADER   __declspec(dllexport)
     #else
        #define DLL_HEADER   __declspec(dllimport)
+    }
+diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp
+--- netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp       2013-11-29 20:02:13.000000000 +0400
++++ netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp        2013-11-29 20:30:03.000000000 +0400
+@@ -563,18 +563,21 @@
+                {
+                   bool exists = 0;
+                   int j;
+-                  for (j = first_ep; j <= mesh.GetNP(); j++)
+-                     if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps)
++                   for (j = first_ep; j <= mesh.GetNP(); j++)
++                   {
++                     if (!merge_solids && mesh.Point(j).GetLayer() != geomedgenr ) continue; // to support SALOME fuse edges
++                     if ((mesh.Point(j)-Point<3>(mp[i-1])).Length() < eps )
+                      {
+-                        exists = 1;
+-                        break;
++                       exists = 1;
++                       break;
+                      }
++                   }
+                      if (exists)
+                         pnums[i] = j;
+                      else
+                      {
+-                        mesh.AddPoint (mp[i-1]);
++                      mesh.AddPoint (mp[i-1], geomedgenr); // to support SALOME fuse edges
+                         (*testout) << "add meshpoint " << mp[i-1] << endl;
+                         pnums[i] = mesh.GetNP();
+                      }
+@@ -660,7 +663,10 @@
+       //      exit(10);
+       mesh.CalcSurfacesOfNode();
+-      multithread.task = savetask;
++      multithread.task = savetask;\r
++\r
++      for (int j = 1; j <= mesh.GetNP(); j++) // to support SALOME fuse edges: set level to zero\r
++        mesh.Point(j).SetPoint(mesh.Point(j));
+    }