Salome HOME
general crack dialog, another error detection
[modules/smesh.git] / src / Tools / blocFissure / gmu / restreintFaceFissure.py
index 50e867e0cbc3e4739460cde84ca8fbf1cdb99a74..c2a055f8ff1af58fc5d984df34e00ae00ba97901 100644 (file)
@@ -6,6 +6,8 @@ from geomsmesh import geomPublish
 from geomsmesh import geomPublishInFather
 import initLog
 from sortFaces import sortFaces
+import traceback
+from fissError import fissError
 
 def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne):
   """
@@ -22,7 +24,13 @@ def restreintFaceFissure(shapeDefaut, facesDefaut, pointInterne):
     logging.debug("selection de la face la plus proche du point interne, distance=%s",distfaces[0][0])
     facesPortFissure = distfaces[0][2]
   else:
-    facesPartShapeDefautSorted, minSurf, maxSurf = sortFaces(facesPartShapeDefaut) # la face de fissure dans le volume doit être la plus grande
+    try:
+      facesPartShapeDefautSorted, minSurf, maxSurf = sortFaces(facesPartShapeDefaut) # la face de fissure dans le volume doit être la plus grande
+    except:
+      texte = "Restriction de la face de fissure au domaine solide impossible. "
+      texte += "Cause possible : la face de fissure est tangente à la paroi solide. "
+      texte += "Elle doit déboucher franchement, sans que la surface dehors ne devienne plus grande que la surface dans le solide. "
+      raise fissError(traceback.extract_stack(),texte)
     logging.debug("surfaces faces fissure étendue, min %s, max %s", minSurf, maxSurf)
     facesPortFissure = facesPartShapeDefautSorted[-1]