Salome HOME
Merge multi-study removal branch.
[modules/smesh.git] / src / Tools / blocFissure / gmu / construitFissureGenerale.py
index f6858132f469a8aaec7bb8b1a8e771f69bf1b61e..904e83a721387d0d5a73695f36c2f11430287126 100644 (file)
@@ -3,12 +3,16 @@
 import logging
 import salome
 from geomsmesh import geompy
+from geomsmesh import geomPublish
+from geomsmesh import geomPublishInFather
+import initLog
 import GEOM
 from geomsmesh import smesh
 from salome.smesh import smeshBuilder
 import SMESH
 import math
 import bisect
+import traceback
 
 # from extractionOrientee import extractionOrientee
 # from extractionOrienteeMulti import extractionOrienteeMulti
@@ -48,6 +52,7 @@ from construitMaillagePipe import construitMaillagePipe
 from mailleAretesEtJonction import mailleAretesEtJonction
 from mailleFacesFissure import mailleFacesFissure
 from mailleFacesPeau import mailleFacesPeau
+from fissError import fissError
 
 # -----------------------------------------------------------------------------
 # --- procédure complète fissure générale
@@ -76,6 +81,9 @@ def construitFissureGenerale(maillagesSains,
   nbsegRad          = maillageFissureParams['nbsegRad']      # nombre de couches selon un rayon du pipe
   nbsegCercle       = maillageFissureParams['nbsegCercle']   # nombre de secteur dans un cercle du pipe
   areteFaceFissure  = maillageFissureParams['areteFaceFissure']
+  lgAretesVives     = 0
+  if maillageFissureParams.has_key('aretesVives'):
+    lgAretesVives   = maillageFissureParams['aretesVives']
 
   pointIn_x = 0.0
   pointIn_y = 0.0
@@ -116,6 +124,9 @@ def construitFissureGenerale(maillagesSains,
   #edgeFondExt              = elementsDefaut[14]
   centreFondFiss           = elementsDefaut[15]
   #tgtCentre                = elementsDefaut[16]
+  if lgAretesVives == 0:
+     lgAretesVives = dmoyen
+
 
   O, OX, OY, OZ = triedreBase()
 
@@ -130,7 +141,7 @@ def construitFissureGenerale(maillagesSains,
   (fissPipe, edgesPipeFiss, edgesFondFiss, wirePipeFiss, wireFondFiss) = partitionneFissureParPipe(shapesFissure, elementsDefaut, rayonPipe)
   edgesFondFiss, edgesIdByOrientation = orderEdgesFromWire(wireFondFiss)
   for i,edge in enumerate(edgesFondFiss):
-    geompy.addToStudyInFather(wireFondFiss, edge, "edgeFondFiss%d"%i)
+    geomPublishInFather(initLog.debug, wireFondFiss, edge, "edgeFondFiss%d"%i)
   
   # --- peau et face de fissure
   #
@@ -154,8 +165,8 @@ def construitFissureGenerale(maillagesSains,
   nbFacesFilling = len(partitionsPeauFissFond)
   
   ptEdgeFond = [ []  for i in range(nbFacesFilling)] # pour chaque face [points edge fond de fissure aux débouchés du pipe]
-  facesPipePeau = [ []  for i in range(nbFacesFilling)] # pour chaque face [faces du pipe débouchantes]
-  edgeRadFacePipePeau = [ []  for i in range(nbFacesFilling)] # pour chaque face [edge radiale des faces du pipe débouchantes ]
+  fsPipePeau = [ []  for i in range(nbFacesFilling)] # pour chaque face [faces du pipe débouchantes]
+  edRadFPiPo = [ []  for i in range(nbFacesFilling)] # pour chaque face [edge radiale des faces du pipe débouchantes ]
   fsFissuExt = [ []  for i in range(nbFacesFilling)] # pour chaque face [faces de fissure externes au pipe]
   edFisExtPe = [ []  for i in range(nbFacesFilling)] # pour chaque face [edge en peau des faces de fissure externes (pas subshape facePeau)]
   edFisExtPi = [ []  for i in range(nbFacesFilling)] # pour chaque face [edge commun au pipe des faces de fissure externes]
@@ -174,8 +185,8 @@ def construitFissureGenerale(maillagesSains,
                                                                       facesDefaut, centreFondFiss, rayonPipe,
                                                                       aretesVivesCoupees)      
       ptEdgeFond[ifil] = dataPPFF['endsEdgeFond']
-      facesPipePeau[ifil] = dataPPFF['facesPipePeau']
-      edgeRadFacePipePeau[ifil] = dataPPFF['edgeRadFacePipePeau']
+      fsPipePeau[ifil] = dataPPFF['facesPipePeau']
+      edRadFPiPo[ifil] = dataPPFF['edgeRadFacePipePeau']
       fsFissuExt[ifil] = dataPPFF['facesFissExt']
       edFisExtPe[ifil] = dataPPFF['edgesFissExtPeau']
       edFisExtPi[ifil] = dataPPFF['edgesFissExtPipe']
@@ -187,10 +198,15 @@ def construitFissureGenerale(maillagesSains,
       edFissPeau[ifil] = dataPPFF['edgesFissurePeau']
       ptFisExtPi[ifil] = dataPPFF['verticesPipePeau']
 
+  facesPipePeau = []
+  edgeRadFacePipePeau = []
+  for ifil in range(nbFacesFilling):
+    facesPipePeau += fsPipePeau[ifil]
+    edgeRadFacePipePeau += edRadFPiPo[ifil]
   
   for i, avc in enumerate(aretesVivesCoupees):
     name = "areteViveCoupee%d"%i
-    geompy.addToStudy(avc, name)
+    geomPublish(initLog.debug, avc, name)
   
   # --- identification des faces et edges de fissure externe pour maillage
   
@@ -236,7 +252,7 @@ def construitFissureGenerale(maillagesSains,
   
   # --- edges de bord, faces défaut à respecter
   
-  (internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen)
+  (internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives)
 
   # --- maillage faces de fissure
   
@@ -317,7 +333,7 @@ def construitFissureGenerale(maillagesSains,
   logging.info("fichier maillage fissure %s", fichierMaillageFissure)
 
   if salome.sg.hasDesktop():
-    salome.sg.updateObjBrowser(1)
+    salome.sg.updateObjBrowser()
 
   logging.info("maillage fissure fini")