X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FNETGEN%2Fnetgen49ForSalome.patch;h=022bd218be2ec7e37f437907feb49518668a3016;hb=82f69d183b2d0fc3782c2e73c88c6530379d7359;hp=f246a50daa2ab607132d805ea546a9959538942d;hpb=3302782c77867215774d0beed188c2e0bc8a579f;p=plugins%2Fnetgenplugin.git diff --git a/src/NETGEN/netgen49ForSalome.patch b/src/NETGEN/netgen49ForSalome.patch old mode 100644 new mode 100755 index f246a50..022bd21 --- a/src/NETGEN/netgen49ForSalome.patch +++ b/src/NETGEN/netgen49ForSalome.patch @@ -1,6 +1,6 @@ diff -Naur netgen-4.9.13_orig/libsrc/meshing/meshtype.cpp netgen-4.9.13_new/libsrc/meshing/meshtype.cpp --- netgen-4.9.13_orig/libsrc/meshing/meshtype.cpp 2009-09-13 14:28:38.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/meshing/meshtype.cpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/meshing/meshtype.cpp 2014-07-22 13:01:28.000000000 +0400 @@ -1,4 +1,5 @@ #include +#include // to get DBL_MIN defined @@ -101,7 +101,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/meshing/meshtype.cpp netgen-4.9.13_new/libs blockfill = 1; diff -Naur netgen-4.9.13_orig/libsrc/meshing/meshtype.hpp netgen-4.9.13_new/libsrc/meshing/meshtype.hpp --- netgen-4.9.13_orig/libsrc/meshing/meshtype.hpp 2009-11-09 13:50:43.000000000 +0300 -+++ netgen-4.9.13_new/libsrc/meshing/meshtype.hpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/meshing/meshtype.hpp 2014-07-22 13:01:28.000000000 +0400 @@ -12,6 +12,7 @@ Classes for NETGEN */ @@ -112,7 +112,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/meshing/meshtype.hpp netgen-4.9.13_new/libs SEGMENT = 1, SEGMENT3 = 2, diff -Naur netgen-4.9.13_orig/libsrc/meshing/smoothing2.cpp netgen-4.9.13_new/libsrc/meshing/smoothing2.cpp --- netgen-4.9.13_orig/libsrc/meshing/smoothing2.cpp 2009-11-09 13:47:09.000000000 +0300 -+++ netgen-4.9.13_new/libsrc/meshing/smoothing2.cpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/meshing/smoothing2.cpp 2014-07-22 13:01:28.000000000 +0400 @@ -302,7 +302,8 @@ vgrad = 0; badness = 0; @@ -164,7 +164,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/meshing/smoothing2.cpp netgen-4.9.13_new/li diff -Naur netgen-4.9.13_orig/libsrc/occ/occconstruction.cpp netgen-4.9.13_new/libsrc/occ/occconstruction.cpp --- netgen-4.9.13_orig/libsrc/occ/occconstruction.cpp 2009-08-24 06:32:47.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/occconstruction.cpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/occconstruction.cpp 2014-07-22 13:01:28.000000000 +0400 @@ -28,7 +28,7 @@ #include #include @@ -176,7 +176,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occconstruction.cpp netgen-4.9.13_new/l #include 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 2010-03-16 09:30:07.000000000 +0300 -+++ netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp 2014-07-22 13:01:28.000000000 +0400 @@ -15,6 +15,8 @@ #define DIVIDEEDGESECTIONS 1000 @@ -291,15 +291,17 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc pnt = c->Value(params[i]); ps[i-1] = MeshPoint (Point3d(pnt.X(), pnt.Y(), pnt.Z())); i++; -@@ -323,6 +336,7 @@ +@@ -323,6 +336,9 @@ (*testout) << "nedges = " << nedges << endl; double eps = 1e-6 * geom.GetBoundingBox().Diam(); + const double eps2 = eps * eps; // -- small optimization ++ ++ int first_vp = mesh.GetNP()+1; // -- to support SALOME sub-meshes for (int i = 1; i <= nvertices; i++) { -@@ -332,7 +346,8 @@ +@@ -332,7 +348,8 @@ bool exists = 0; if (merge_solids) for (PointIndex pi = 1; pi <= mesh.GetNP(); pi++) @@ -309,7 +311,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc { exists = 1; break; -@@ -362,6 +377,7 @@ +@@ -362,6 +379,7 @@ { TopoDS_Face face = TopoDS::Face(exp1.Current()); int facenr = geom.fmap.FindIndex(face); @@ -317,7 +319,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc if (face2solid[0][facenr-1] == 0) face2solid[0][facenr-1] = solidnr; -@@ -381,6 +397,7 @@ +@@ -381,6 +399,7 @@ int facenr = 0; int edgenr = 0; @@ -325,7 +327,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc (*testout) << "faces = " << geom.fmap.Extent() << endl; int curr = 0; -@@ -442,6 +459,7 @@ +@@ -442,6 +461,7 @@ //(*testout) << "ignoring degenerated edge" << endl; continue; } @@ -333,7 +335,49 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc if (geom.vmap.FindIndex(TopExp::FirstVertex (edge)) == geom.vmap.FindIndex(TopExp::LastVertex (edge))) -@@ -479,15 +497,64 @@ +@@ -474,20 +494,104 @@ + + if (!merge_solids) + { +- pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)); +- pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge)); ++ //pnums[0] = geom.vmap.FindIndex (TopExp::FirstVertex (edge)); ++ //pnums[pnums.Size()-1] = geom.vmap.FindIndex (TopExp::LastVertex (edge)); ++ MeshPoint dfltP ( Point<3> ( 0, 0, 0 ) ); ++ int *ipp[] = { &pnums[0], &pnums[pnums.Size()-1] }; ++ TopoDS_Iterator vIt( edge, false ); ++ TopoDS_Vertex v[2]; ++ v[0] = TopoDS::Vertex( vIt.Value() ); vIt.Next(); ++ v[1] = TopoDS::Vertex( vIt.Value() ); ++ if ( v[0].Orientation() == TopAbs_REVERSED ) ++ std::swap( v[0], v[1] ); ++ for ( int i = 0; i < 2; ++i) ++ { ++ int &ip = *ipp[i]; ++ ip = geom.vmap.FindIndex ( v[i] ); ++ if ( ip == 0 || ip > nvertices ) ++ { ++ int iv = ip; ++ if ( ip == 0 ) ++ ip = iv = geom.vmap.Add( v[i] ); ++ gp_Pnt pnt = BRep_Tool::Pnt( v[i] ); ++ MeshPoint mp( Point<3>(pnt.X(), pnt.Y(), pnt.Z()) ); ++ for (PointIndex pi = 1; pi < first_vp; pi++) ++ if ( Dist2 (mesh.Point(pi), Point<3>(mp)) < 1e-100 ) ++ { ++ ip = pi; ++ if ( mesh.Point(ip).GetLayer() != dfltP.GetLayer() && mesh.Point(ip).GetLayer() != iv ) ++ continue; ++ if ( mesh.Point(ip).GetLayer() == dfltP.GetLayer()) ++ mesh.Point(ip) = MeshPoint( mesh.Point(ip), iv ); ++ break; ++ } ++ } ++ else ++ { ++ ip += first_vp - 1; ++ } ++ } } else { @@ -402,7 +446,38 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc } } -@@ -633,7 +700,8 @@ +@@ -497,17 +601,20 @@ + bool exists = 0; + int j; + 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; + } ++ } + + 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(); + } +@@ -591,6 +698,8 @@ + // (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si + // << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl; + // exit(10); ++ for (int j = 1; j <= mesh.GetNP(); j++) // to support SALOME fuse edges: set level to zero ++ mesh.Point(j) = MeshPoint( (Point<3>&) mesh.Point(j) ); + + mesh.CalcSurfacesOfNode(); + multithread.task = savetask; +@@ -633,7 +742,8 @@ } (*testout) << "mesh face " << k << endl; @@ -412,7 +487,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc geom.facemeshstatus[k-1] = -1; -@@ -901,7 +969,8 @@ +@@ -901,7 +1011,8 @@ // if (k != 36) continue; // (*testout) << "optimize face " << k << endl; @@ -422,14 +497,14 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc FaceDescriptor & fd = mesh.GetFaceDescriptor(k); -@@ -1456,3 +1525,4 @@ +@@ -1456,3 +1567,4 @@ } #endif + diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.cpp netgen-4.9.13_new/libsrc/occ/occgeom.cpp --- netgen-4.9.13_orig/libsrc/occ/occgeom.cpp 2010-03-05 16:16:21.000000000 +0300 -+++ netgen-4.9.13_new/libsrc/occ/occgeom.cpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/occgeom.cpp 2014-07-22 13:01:28.000000000 +0400 @@ -8,6 +8,8 @@ #include "ShapeAnalysis_CheckSmallFace.hxx" #include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx" @@ -646,9 +721,21 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.cpp netgen-4.9.13_new/libsrc/oc return true; } +@@ -1038,9 +1095,9 @@ + { + cout << "writing stl..."; cout.flush(); + StlAPI_Writer writer; +- writer.RelativeMode() = Standard_False; ++ // writer.RelativeMode() = Standard_False; + +- writer.SetDeflection(0.02); ++ // writer.SetDeflection(0.02); + writer.Write(shape,filename); + + cout << "done" << endl; diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/occ/occgeom.hpp --- netgen-4.9.13_orig/libsrc/occ/occgeom.hpp 2010-01-14 19:56:19.000000000 +0300 -+++ netgen-4.9.13_new/libsrc/occ/occgeom.hpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/occgeom.hpp 2014-07-22 13:09:03.000000000 +0400 @@ -15,8 +15,8 @@ #include "Geom_Curve.hxx" #include "Geom2d_Curve.hxx" @@ -671,7 +758,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/oc #include "TopoDS_Wire.hxx" #include "BRepTools_WireExplorer.hxx" #include "BRepTools.hxx" -@@ -68,7 +68,7 @@ +@@ -68,18 +68,26 @@ #include "IGESToBRep_Reader.hxx" #include "Interface_Static.hxx" #include "GeomAPI_ExtremaCurveCurve.hxx" @@ -680,7 +767,15 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/oc #include "Standard_Failure.hxx" #include "ShapeUpgrade_ShellSewing.hxx" #include "ShapeFix_Shape.hxx" -@@ -80,6 +80,10 @@ + #include "ShapeFix_Wireframe.hxx" ++#include ++#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) <= 0x060702 ++// porting to OCCT6.7.3 + #include "BRepMesh.hxx" ++#endif + #include "BRepMesh_IncrementalMesh.hxx" + #include "BRepBndLib.hxx" + #include "Bnd_Box.hxx" #include "ShapeAnalysis.hxx" #include "ShapeBuild_ReShape.hxx" @@ -691,7 +786,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/oc // Philippose - 29/01/2009 // OpenCascade XDE Support -@@ -190,6 +194,9 @@ +@@ -190,6 +198,9 @@ class OCCGeometry : public NetgenGeometry { Point<3> center; @@ -701,7 +796,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/oc public: TopoDS_Shape shape; -@@ -241,6 +248,8 @@ +@@ -241,6 +252,8 @@ vmap.Clear(); } @@ -710,7 +805,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/oc void BuildFMap(); Box<3> GetBoundingBox() -@@ -260,9 +269,14 @@ +@@ -260,9 +273,14 @@ Point<3> Center() { return center;} @@ -728,7 +823,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.hpp netgen-4.9.13_new/libsrc/oc cout << "OCCGeometry::GetSurface using PLANESPACE" << endl; diff -Naur netgen-4.9.13_orig/libsrc/occ/occmeshsurf.cpp netgen-4.9.13_new/libsrc/occ/occmeshsurf.cpp --- netgen-4.9.13_orig/libsrc/occ/occmeshsurf.cpp 2009-08-24 06:32:47.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/occmeshsurf.cpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/occmeshsurf.cpp 2014-07-22 13:01:28.000000000 +0400 @@ -6,6 +6,7 @@ #include #include @@ -837,7 +932,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occmeshsurf.cpp netgen-4.9.13_new/libsr diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Inter3d.cxx netgen-4.9.13_new/libsrc/occ/Partition_Inter3d.cxx --- netgen-4.9.13_orig/libsrc/occ/Partition_Inter3d.cxx 2009-08-24 06:12:24.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/Partition_Inter3d.cxx 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Inter3d.cxx 2014-07-22 13:01:28.000000000 +0400 @@ -86,6 +86,9 @@ #include #include @@ -863,7 +958,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Inter3d.cxx netgen-4.9.13_new } diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Loop2d.cxx netgen-4.9.13_new/libsrc/occ/Partition_Loop2d.cxx --- netgen-4.9.13_orig/libsrc/occ/Partition_Loop2d.cxx 2009-08-24 06:12:24.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/Partition_Loop2d.cxx 2011-12-20 14:53:39.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Loop2d.cxx 2014-07-22 13:01:28.000000000 +0400 @@ -22,7 +22,6 @@ #include #include @@ -921,7 +1016,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Loop2d.cxx netgen-4.9.13_new/ BRep_Tool::Range (DegEdge, f, l); diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Loop.cxx netgen-4.9.13_new/libsrc/occ/Partition_Loop.cxx --- netgen-4.9.13_orig/libsrc/occ/Partition_Loop.cxx 2009-08-24 06:12:24.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/Partition_Loop.cxx 2011-12-20 14:53:05.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Loop.cxx 2014-07-22 13:01:28.000000000 +0400 @@ -178,7 +178,7 @@ } } @@ -933,7 +1028,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Loop.cxx netgen-4.9.13_new/li const TopoDS_Edge& E = TopoDS::Edge(itl.Value()); diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Spliter.cxx netgen-4.9.13_new/libsrc/occ/Partition_Spliter.cxx --- netgen-4.9.13_orig/libsrc/occ/Partition_Spliter.cxx 2009-08-24 06:12:24.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/Partition_Spliter.cxx 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/Partition_Spliter.cxx 2014-07-22 13:01:28.000000000 +0400 @@ -79,6 +79,8 @@ #include #include @@ -958,7 +1053,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/Partition_Spliter.cxx netgen-4.9.13_new } diff -Naur netgen-4.9.13_orig/libsrc/occ/utilities.h netgen-4.9.13_new/libsrc/occ/utilities.h --- netgen-4.9.13_orig/libsrc/occ/utilities.h 2009-08-24 06:12:24.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/utilities.h 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/occ/utilities.h 2014-07-22 13:01:28.000000000 +0400 @@ -33,6 +33,7 @@ #include @@ -969,7 +1064,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/utilities.h netgen-4.9.13_new/libsrc/oc diff -Naur netgen-4.9.13_orig/libsrc/stlgeom/stlgeommesh.cpp netgen-4.9.13_new/libsrc/stlgeom/stlgeommesh.cpp --- netgen-4.9.13_orig/libsrc/stlgeom/stlgeommesh.cpp 2009-08-10 15:40:51.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/stlgeom/stlgeommesh.cpp 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/libsrc/stlgeom/stlgeommesh.cpp 2014-07-22 13:01:28.000000000 +0400 @@ -1435,7 +1435,8 @@ if (!optstring || strlen(optstring) == 0) @@ -1000,9 +1095,21 @@ diff -Naur netgen-4.9.13_orig/libsrc/stlgeom/stlgeommesh.cpp netgen-4.9.13_new/l } else { +diff -Naur netgen-4.9.13_orig/ng/Makefile.in netgen-4.9.13_new/ng/Makefile.in +--- netgen-4.9.13_orig/ng/Makefile.in 2010-05-21 01:29:28.000000000 +0200 ++++ netgen-4.9.13_new/ng/Makefile.in 2016-05-26 14:39:47.128141997 +0200 +@@ -287,7 +287,7 @@ + $(top_builddir)/libsrc/gprim/libgprim.la \ + $(top_builddir)/libsrc/linalg/libla.la \ + $(top_builddir)/libsrc/general/libgen.la \ +- $(OCCLIBS) -L$(TK_BIN_DIR)/Togl1.7 $(TOGLLIBDIR) -lTogl1.7 $(LIBGLU) $(TK_LIB_SPEC) $(TCL_LIB_SPEC) $(MPI_LIBS) $(FFMPEG_LIBS) $(JPEGLIB_LIBS) $(PKG_LIBS) ++ $(OCCLIBS) -L$(TK_BIN_DIR)/Togl1.7 $(TOGLLIBDIR) -lTogl $(LIBGLU) $(TK_LIB_SPEC) $(TCL_LIB_SPEC) $(MPI_LIBS) $(FFMPEG_LIBS) $(JPEGLIB_LIBS) $(PKG_LIBS) + + + # add for static linkage of ngsolve: diff -Naur netgen-4.9.13_orig/nglib/nglib.h netgen-4.9.13_new/nglib/nglib.h --- netgen-4.9.13_orig/nglib/nglib.h 2010-05-18 15:20:25.000000000 +0400 -+++ netgen-4.9.13_new/nglib/nglib.h 2011-12-20 14:50:26.000000000 +0400 ++++ netgen-4.9.13_new/nglib/nglib.h 2014-07-22 13:01:28.000000000 +0400 @@ -24,7 +24,7 @@ // Philippose - 14.02.2009 // Modifications for creating a DLL in Windows @@ -1012,38 +1119,3 @@ 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-12-04 14:39:45.000000000 +0400 -+++ netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp 2013-12-04 15:20:24.000000000 +0400 -@@ -564,17 +564,20 @@ - bool exists = 0; - int j; - 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; - } -+ } - - 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(); - } -@@ -658,6 +661,8 @@ - // (*testout) << "edge " << mesh.LineSegment(i).edgenr << " face " << mesh.LineSegment(i).si - // << " p1 " << mesh.LineSegment(i)[0] << " p2 " << mesh.LineSegment(i)[1] << endl; - // exit(10); -+ for (int j = 1; j <= mesh.GetNP(); j++) // to support SALOME fuse edges: set level to zero -+ mesh.Point(j) = MeshPoint( (Point<3>&) mesh.Point(j) ); - - mesh.CalcSurfacesOfNode(); - multithread.task = savetask;