Salome HOME
updated copyright message
[modules/smesh.git] / src / Tools / blocFissure / gmu / identifieEdgesPeau_a.py
index fc872a45a5342a2df4b0f42a23dd221dcbf35611..313069a54c1db1fa395ed6d14bf7210638c6223c 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2014-2021  EDF R&D
+# Copyright (C) 2014-2023  EDF
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -28,9 +28,11 @@ from .geomsmesh import geomPublish
 from .geomsmesh import geomPublishInFather
 
 def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauFondIn, \
-                         endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, edgesListees):
+                         endsEdgeFond, facesPipePeau, edgeRadFacePipePeau, edgesListees, \
+                        nro_cas=None):
   """Identification précise des edges et disques des faces de peau selon index extremité fissure"""
   logging.info('start')
+  logging.info("Traitement des arêtes de '%s'", facePeau.GetName())
 
   for face in facesPeauSorted[:-1]: # la ou les faces débouchantes, pas la grande face de peau
     logging.debug("examen face debouchante circulaire")
@@ -43,37 +45,40 @@ def identifieEdgesPeau_a(edgesFissExtPipe, facePeau, facesPeauSorted, edgesPeauF
             j_aux_0 = j_aux
             break
         sharedVertices = geompy.GetSharedShapesMulti([face, edgesPeauFondIn[j_aux_0]], geompy.ShapeType["VERTEX"])
-        nameFace = "facePipePeau{}".format(i_aux)
-        nameVert = "endEdgeFond{}".format(i_aux)
-        nameEdge = "edgeRadFacePipePeau{}".format(i_aux)
+        nameFace = "facePipePeau_{}".format(i_aux)
+        nameVert = "endEdgeFond_{}".format(i_aux)
         facesPipePeau[i_aux] = face
         endsEdgeFond[i_aux] = sharedVertices[0]
-        geomPublish(initLog.debug, face, nameFace)
-        geomPublish(initLog.debug, sharedVertices[0], nameVert)
+        geomPublish(initLog.debug, face, nameFace, nro_cas)
+        geomPublish(initLog.debug, sharedVertices[0], nameVert, nro_cas)
         edgesFace = geompy.ExtractShapes(face, geompy.ShapeType["EDGE"], True)
         for edge in edgesFace:
           if geompy.MinDistance(edge, sharedVertices[0]) < 1e-3:
             edgeRadFacePipePeau[i_aux] = edge
-            geomPublish(initLog.debug, edge, nameEdge)
+            nameEdge = "edgeRadFacePipePeau_{}".format(i_aux)
+            geomPublish(initLog.debug, edge, nameEdge, nro_cas)
             break
 
-  # --- edges circulaires de la face de peau et points de jonction de la face externe de fissure
-  logging.debug("facesPipePeau: %s", facesPipePeau)
-  edgesCircPeau = [None for _ in range(len(facesPipePeau))]
-  verticesCircPeau = [None for _ in range(len(facesPipePeau))]
+  # --- edges elliptiques de la face de peau et points de jonction de la face externe de fissure
+  logging.info('Nombre de faces : len(facesPipePeau) = %d', len(facesPipePeau))
+  edgesCircPeau = list()
+  verticesCircPeau = list()
   for i_aux,fcirc in enumerate(facesPipePeau):
+    # Arêtes
     edges = geompy.GetSharedShapesMulti([facePeau, fcirc], geompy.ShapeType["EDGE"])
-    grpEdgesCirc = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"])
-    geompy.UnionList(grpEdgesCirc, edges)
-    edgesCircPeau[i_aux] = grpEdgesCirc
-    name = "edgeCirc{}".format(i_aux)
-    geomPublishInFather(initLog.debug, facePeau, grpEdgesCirc, name)
+    groupe = geompy.CreateGroup(facePeau, geompy.ShapeType["EDGE"])
+    geompy.UnionList(groupe, edges)
+    geomPublishInFather(initLog.always, facePeau, groupe, "edgeCirc_{}".format(i_aux))
+    edgesCircPeau.append(groupe)
     edgesListees = edgesListees + edges
+    # Sommets
     vertices = geompy.GetSharedShapesMulti([facePeau, fcirc], geompy.ShapeType["VERTEX"])
-    grpVertCircPeau = geompy.CreateGroup(facePeau, geompy.ShapeType["VERTEX"])
-    geompy.UnionList(grpVertCircPeau, vertices)
-    verticesCircPeau[i_aux] = grpVertCircPeau
-    name = "pointEdgeCirc{}".format(i_aux)
-    geomPublishInFather(initLog.debug, facePeau, grpVertCircPeau, name)
+    groupe = geompy.CreateGroup(facePeau, geompy.ShapeType["VERTEX"])
+    geompy.UnionList(groupe, vertices)
+    geomPublishInFather(initLog.info, facePeau, groupe, "point(s)EdgeCirc_{}".format(i_aux))
+    verticesCircPeau.append(groupe)
+
+  logging.info("==> Nombre de groupes d'arêtes   : len(edgesCircPeau)    = %d", len(edgesCircPeau))
+  logging.info("==> Nombre de groupes de sommets : len(verticesCircPeau) = %d", len(verticesCircPeau))
 
   return edgesCircPeau, verticesCircPeau