Salome HOME
0021469: EDF 2074 SMESH: Body fitting algo leads to crash of salome
authoreap <eap@opencascade.com>
Mon, 16 Jan 2012 13:53:29 +0000 (13:53 +0000)
committereap <eap@opencascade.com>
Mon, 16 Jan 2012 13:53:29 +0000 (13:53 +0000)
   fix RemoveExcessIntPoints()

src/StdMeshers/StdMeshers_Cartesian_3D.cxx

index 9fb64deb3d8cc955496f01cf0fabb59e16c45dd8..800a9735d554ca13da9eb9bfa49a4b68cc175915 100644 (file)
@@ -402,10 +402,11 @@ namespace
     if ( _intPoints.size() < 2 ) return;
 
     set< Transition > tranSet;
-    multiset< IntersectionPoint >::iterator ip2 = _intPoints.begin(), ip1 = ip2++;
-    for ( ; ip2 != _intPoints.end(); ip1 = ip2++ )
+    multiset< IntersectionPoint >::iterator ip1, ip2 = _intPoints.begin();
+    while ( ip2 != _intPoints.end() )
     {
       tranSet.clear();
+      ip1 = ip2++;
       while ( ip2->_paramOnLine - ip1->_paramOnLine <= tol  && ip2 != _intPoints.end())
       {
         tranSet.insert( ip1->_transition );
@@ -426,7 +427,7 @@ namespace
   }
   //================================================================================
   /*
-   * Return "is OUT" state for nodes before the given intersention point
+   * Return "is OUT" state for nodes before the given intersection point
    */
   bool GridLine::GetIsOutBefore( multiset< IntersectionPoint >::iterator ip, bool prevIsOut )
   {