Salome HOME
Prevent failure if a degenerated EDGE is not meshed
authoreap <eap@opencascade.com>
Fri, 15 Nov 2013 10:20:33 +0000 (10:20 +0000)
committereap <eap@opencascade.com>
Fri, 15 Nov 2013 10:20:33 +0000 (10:20 +0000)
src/SMESH/SMESH_subMesh.cxx

index c6e3d54647c8fa38c2310308fc7037f31d6533ea..7b6b7dac3545496e5d0c16e79d9f2bc52de4fb55 100644 (file)
@@ -1654,7 +1654,10 @@ bool SMESH_subMesh::ComputeStateEngine(int event)
         if (ret)
         {
           for (; ret && subS.More(); subS.Next())
-            ret = _father->GetSubMesh( subS.Current() )->IsMeshComputed();
+            if ( !_father->GetSubMesh( subS.Current() )->IsMeshComputed() &&
+                 ( _subShape.ShapeType() != TopAbs_EDGE ||
+                   !algo->isDegenerated( TopoDS::Edge( subS.Current() ))))
+              ret = false;
         }
         // Set _computeError
         if (!ret && !isComputeErrorSet)