0022458: [CEA 1039] Regressions on NETGEN_1D2D3D and "GetInPlaceByHistory"

This commit is contained in:
imn 2014-02-05 17:28:32 +00:00
parent 38f074f42c
commit d1ebdd0a87

View File

@ -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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/meshing/meshtype.cpp 2011-12-20 14:50:26.000000000 +0400
@@ -1,4 +1,5 @@
#include <mystdlib.h>
+#include <float.h> // 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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/meshing/meshtype.hpp 2011-12-20 14:50:26.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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/meshing/smoothing2.cpp 2011-12-20 14:50:26.000000000 +0400
@@ -302,7 +302,8 @@
vgrad = 0;
badness = 0;
@ -162,130 +162,9 @@ 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/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 2014-01-15 13:59:16.000000000 +0400
@@ -86,6 +86,9 @@
#include <TopOpeBRepTool_OutCurveType.hxx>
#include <TopOpeBRep_DSFiller.hxx>
#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
+
+#include <Standard_Version.hxx>
+
#include <stdio.h>
//=======================================================================
@@ -243,7 +246,12 @@
Standard_Integer i, nbExt = anExtPS.NbExt();
Extrema_POnSurf aPOnSurf;
for (i = 1; i <= nbExt; ++i )
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+ if (anExtPS.SquareDistance( i ) <= TolE * TolE) {
+#else
if (anExtPS.Value( i ) <= TolE) {
+#endif
aPOnSurf = anExtPS.Point( i );
break;
}
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 2014-01-15 13:59:16.000000000 +0400
@@ -178,7 +178,7 @@
}
}
- Standard_Real anglemax = - PI;
+ Standard_Real anglemax = - M_PI;
TopoDS_Edge SelectedEdge;
for ( itl.Initialize(LE); itl.More(); itl.Next()) {
const TopoDS_Edge& E = TopoDS::Edge(itl.Value());
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 2014-01-15 13:59:16.000000000 +0400
@@ -22,7 +22,6 @@
#include <BRepAdaptor_Surface.hxx>
#include <BRepAlgo_AsDes.hxx>
#include <BRepAlgo_FaceRestrictor.hxx>
-#include <BRepOffset_DataMapOfShapeReal.hxx>
#include <BRepTopAdaptor_FClass2d.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
@@ -51,6 +50,15 @@
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
+#include <Standard_Version.hxx>
+
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+#include <TopTools_DataMapOfShapeReal.hxx>
+#else
+#include <BRepOffset_DataMapOfShapeReal.hxx>
+#endif
+
//=======================================================================
//function : Partition_Loop2d
//purpose :
@@ -209,7 +217,7 @@
Cc->D1(uc, PC, CTg1);
if (!isForward) CTg1.Reverse();
- Standard_Real anglemin = 3 * PI, tolAng = 1.e-8;
+ Standard_Real anglemin = 3 * M_PI, tolAng = 1.e-8;
// select an edge whose first derivative is most left of CTg1
// ie an angle between Tg1 and CTg1 is least
@@ -233,7 +241,7 @@
// -PI < angle < PI
Standard_Real angle = Tg1.Angle(CTg1);
- if (PI - Abs(angle) <= tolAng)
+ if (M_PI - Abs(angle) <= tolAng)
{
// an angle is too close to PI; assure that an angle sign really
// reflects an edge position: +PI - an edge is worst,
@@ -519,7 +527,12 @@
DC.Initialize( DegEdge, F );
// avoid intersecting twice the same edge
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+ TopTools_DataMapOfShapeReal EUMap ( EdgesList.Extent() );
+#else
BRepOffset_DataMapOfShapeReal EUMap ( EdgesList.Extent() );
+#endif
Standard_Real U, f, l;
BRep_Tool::Range (DegEdge, f, l);
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 2014-01-15 13:59:16.000000000 +0400
@@ -79,6 +79,8 @@
#include <GeomAdaptor_Curve.hxx>
#include <TopOpeBRepTool_CurveTool.hxx>
+#include <Standard_Version.hxx>
+
#ifdef DEB
//# define PART_PERF
#endif
@@ -1169,7 +1171,12 @@
for (; j<=nbj && ok; ++j) {
if (Extrema.IsMin(j)) {
hasMin = Standard_True;
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+ ok = Extrema.SquareDistance(j) <= tol * tol;
+#else
ok = Extrema.Value(j) <= tol;
+#endif
}
}
}
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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/occ/occconstruction.cpp 2011-12-20 14:50:26.000000000 +0400
@@ -28,7 +28,7 @@
#include <BRepAlgoAPI_Common.hxx>
#include <BRepAlgoAPI_Fuse.hxx>
@ -296,8 +175,8 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occconstruction.cpp netgen-4.9.13_new/l
#include <BRepOffsetAPI_MakeOffsetShape.hxx>
#include <ShapeFix_Shape.hxx>
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 2014-01-15 13:59:16.000000000 +0400
--- netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp 2011-12-20 14:50:26.000000000 +0400
+++ netgen-4.9.13_new/libsrc/occ/occgenmesh.cpp 2014-02-05 20:16:34.000000000 +0400
@@ -15,6 +15,8 @@
#define DIVIDEEDGESECTIONS 1000
@ -412,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++)
@ -430,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);
@ -438,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;
@ -446,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;
}
@ -454,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
{
@ -523,7 +446,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc
}
}
@@ -497,17 +564,20 @@
@@ -497,17 +601,20 @@
bool exists = 0;
int j;
for (j = first_ep; j <= mesh.GetNP(); j++)
@ -545,7 +468,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc
(*testout) << "add meshpoint " << mp[i-1] << endl;
pnums[i] = mesh.GetNP();
}
@@ -591,6 +661,8 @@
@@ -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);
@ -554,7 +477,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgenmesh.cpp netgen-4.9.13_new/libsrc
mesh.CalcSurfacesOfNode();
multithread.task = savetask;
@@ -633,7 +705,8 @@
@@ -633,7 +742,8 @@
}
(*testout) << "mesh face " << k << endl;
@ -564,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 +974,8 @@
@@ -901,7 +1011,8 @@
// if (k != 36) continue;
// (*testout) << "optimize face " << k << endl;
@ -574,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 +1530,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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/occ/occgeom.cpp 2011-12-20 14:50:26.000000000 +0400
@@ -8,6 +8,8 @@
#include "ShapeAnalysis_CheckSmallFace.hxx"
#include "ShapeAnalysis_DataMapOfShapeListOfReal.hxx"
@ -800,7 +723,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/occ/occgeom.cpp netgen-4.9.13_new/libsrc/oc
}
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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/occ/occgeom.hpp 2011-12-20 14:50:26.000000000 +0400
@@ -15,8 +15,8 @@
#include "Geom_Curve.hxx"
#include "Geom2d_Curve.hxx"
@ -880,7 +803,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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/occ/occmeshsurf.cpp 2011-12-20 14:50:26.000000000 +0400
@@ -6,6 +6,7 @@
#include <meshing.hpp>
#include <GeomLProp_SLProps.hxx>
@ -987,9 +910,130 @@ 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
@@ -86,6 +86,9 @@
#include <TopOpeBRepTool_OutCurveType.hxx>
#include <TopOpeBRep_DSFiller.hxx>
#include <TopTools_DataMapIteratorOfDataMapOfShapeShape.hxx>
+
+#include <Standard_Version.hxx>
+
#include <stdio.h>
//=======================================================================
@@ -243,7 +246,12 @@
Standard_Integer i, nbExt = anExtPS.NbExt();
Extrema_POnSurf aPOnSurf;
for (i = 1; i <= nbExt; ++i )
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+ if (anExtPS.SquareDistance( i ) <= TolE * TolE) {
+#else
if (anExtPS.Value( i ) <= TolE) {
+#endif
aPOnSurf = anExtPS.Point( i );
break;
}
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
@@ -22,7 +22,6 @@
#include <BRepAdaptor_Surface.hxx>
#include <BRepAlgo_AsDes.hxx>
#include <BRepAlgo_FaceRestrictor.hxx>
-#include <BRepOffset_DataMapOfShapeReal.hxx>
#include <BRepTopAdaptor_FClass2d.hxx>
#include <BRep_Builder.hxx>
#include <BRep_Tool.hxx>
@@ -51,6 +50,15 @@
#include <gp_Pnt.hxx>
#include <gp_Pnt2d.hxx>
+#include <Standard_Version.hxx>
+
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+#include <TopTools_DataMapOfShapeReal.hxx>
+#else
+#include <BRepOffset_DataMapOfShapeReal.hxx>
+#endif
+
//=======================================================================
//function : Partition_Loop2d
//purpose :
@@ -209,7 +217,7 @@
Cc->D1(uc, PC, CTg1);
if (!isForward) CTg1.Reverse();
- Standard_Real anglemin = 3 * PI, tolAng = 1.e-8;
+ Standard_Real anglemin = 3 * M_PI, tolAng = 1.e-8;
// select an edge whose first derivative is most left of CTg1
// ie an angle between Tg1 and CTg1 is least
@@ -233,7 +241,7 @@
// -PI < angle < PI
Standard_Real angle = Tg1.Angle(CTg1);
- if (PI - Abs(angle) <= tolAng)
+ if (M_PI - Abs(angle) <= tolAng)
{
// an angle is too close to PI; assure that an angle sign really
// reflects an edge position: +PI - an edge is worst,
@@ -519,7 +527,12 @@
DC.Initialize( DegEdge, F );
// avoid intersecting twice the same edge
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+ TopTools_DataMapOfShapeReal EUMap ( EdgesList.Extent() );
+#else
BRepOffset_DataMapOfShapeReal EUMap ( EdgesList.Extent() );
+#endif
Standard_Real U, f, l;
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
@@ -178,7 +178,7 @@
}
}
- Standard_Real anglemax = - PI;
+ Standard_Real anglemax = - M_PI;
TopoDS_Edge SelectedEdge;
for ( itl.Initialize(LE); itl.More(); itl.Next()) {
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
@@ -79,6 +79,8 @@
#include <GeomAdaptor_Curve.hxx>
#include <TopOpeBRepTool_CurveTool.hxx>
+#include <Standard_Version.hxx>
+
#ifdef DEB
//# define PART_PERF
#endif
@@ -1169,7 +1171,12 @@
for (; j<=nbj && ok; ++j) {
if (Extrema.IsMin(j)) {
hasMin = Standard_True;
+#if (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE) > 0x060400
+// porting to OCCT6.5.1
+ ok = Extrema.SquareDistance(j) <= tol * tol;
+#else
ok = Extrema.Value(j) <= tol;
+#endif
}
}
}
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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/occ/utilities.h 2011-12-20 14:50:26.000000000 +0400
@@ -33,6 +33,7 @@
#include <string>
@ -1000,7 +1044,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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/libsrc/stlgeom/stlgeommesh.cpp 2011-12-20 14:50:26.000000000 +0400
@@ -1435,7 +1435,8 @@
if (!optstring || strlen(optstring) == 0)
@ -1033,7 +1077,7 @@ diff -Naur netgen-4.9.13_orig/libsrc/stlgeom/stlgeommesh.cpp netgen-4.9.13_new/l
{
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 2014-01-15 13:59:16.000000000 +0400
+++ netgen-4.9.13_new/nglib/nglib.h 2011-12-20 14:50:26.000000000 +0400
@@ -24,7 +24,7 @@
// Philippose - 14.02.2009
// Modifications for creating a DLL in Windows