Salome HOME
23307: [EDF 7315] Improvement of DISTENE meshing plugins
[modules/smesh.git] / src / DriverSTL / DriverSTL_W_SMDS_Mesh.cxx
index 3907afff8fb6ff286212c7041811169c84ecb2f6..cb42a321b81a9f1a64be47b8cb8ae0915ac269a1 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -252,9 +252,10 @@ namespace
       gp_XY p = _prev->_xy - v->_xy;
       gp_XY t =  this->_xy - v->_xy;
       gp_XY n = _next->_xy - v->_xy;
-      return (( p ^ t ) > 0 &&
-              ( t ^ n ) > 0 &&
-              ( n ^ p ) > 0 );
+      const double tol = -1e-12;
+      return (( p ^ t ) >= tol &&
+              ( t ^ n ) >= tol &&
+              ( n ^ p ) >= tol );
       // return ( Area( _prev, this, v ) > 0 &&
       //          Area( this, _next, v ) > 0 &&
       //          Area( _next, _prev, v ) > 0 );
@@ -370,8 +371,9 @@ namespace
       v->GetTriaNodes( &nodes[ iN ] );
       iN += 3;
       v = v->Delete();
+      --nbVertices;
     }
-    
+
     return true;
 
   } // triangulate()