#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));
+ }
+
+