Salome HOME
general crack dialog: working on log...
[modules/smesh.git] / src / Tools / blocFissure / gmu / creeZoneDefautMaillage.py
index 9fcb7d58e340560bf0c86422a59ea769345f8559..5225d9834096cd34b8de5d0204c8aad01e623918 100644 (file)
@@ -4,6 +4,8 @@ import logging
 from geomsmesh import geompy
 import math
 from distance2 import distance2
+import traceback
+from fissError import fissError
 
 # -----------------------------------------------------------------------------
 # --- zone de defaut extraite du maillage
@@ -12,7 +14,7 @@ def creeZoneDefautMaillage(maillagesSains, shapeDefaut, tailleDefaut,
                            nomZones, coordsNoeudsFissure):
   """
   Identification de la zone à remailler, opérations sur le maillage
-  de l'objet sain
+  de l'objet sain.
   La zone à remailler est définie à partir d'un objet géométrique
   ou à partir d'un jeu de points et d'une distance d'influence.
   @param maillagesSains : (le maillage de l'objet initial, booleen isHexa)
@@ -60,5 +62,12 @@ def creeZoneDefautMaillage(maillagesSains, shapeDefaut, tailleDefaut,
     verticesShapes.append(vertices)
     pass
 
+  if (nb == 0) :
+    texte = "La zone à remailler n'est pas détectée correctement.<br>"
+    texte += "Cause possible :<ul>"
+    texte += "<li>La distance d'influence est trop petite. "
+    texte += "L'ordre de grandeur minimal correspond à la taille des mailles du maillage sain dans la zone à remailler.</li></ul>"
+    raise fissError(traceback.extract_stack(),texte)
+
   dmoyen = math.sqrt(cumul/nb) # ~ taille de l'arête moyenne du maillage global
   return origShapes, verticesShapes, dmoyen