Salome HOME
Merge branch 'master' into V9_dev
[modules/smesh.git] / src / Tools / blocFissure / gmu / casStandard.py
index 4bfedef33a5422713db1f055c9ea2604ad8d22b0..262919590b64881cd480aa1c07f2f39c0b212637 100644 (file)
@@ -1,8 +1,10 @@
 # -*- coding: utf-8 -*-
 
 import os
-from blocFissure import gmu
-from blocFissure.gmu.geomsmesh import geompy, smesh
+from .geomsmesh import geompy, smesh
+from .geomsmesh import geomPublish
+from .geomsmesh import geomPublishInFather
+from . import initLog
 
 import math
 import GEOM
@@ -13,13 +15,13 @@ import SMESH
 #import NETGENPlugin
 import logging
 
-from blocFissure.gmu.fissureGenerique import fissureGenerique
+from .fissureGenerique import fissureGenerique
 
-from blocFissure.gmu.initEtude import initEtude
-from blocFissure.gmu.triedreBase import triedreBase
-from blocFissure.gmu.genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
-from blocFissure.gmu.creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
-from blocFissure.gmu.construitFissureGenerale import construitFissureGenerale
+from .initEtude import initEtude
+from .triedreBase import triedreBase
+from .genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
+from .creeZoneDefautDansObjetSain import creeZoneDefautDansObjetSain
+from .construitFissureGenerale import construitFissureGenerale
 
 O, OX, OY, OZ = triedreBase()
 
@@ -37,23 +39,31 @@ class casStandard(fissureGenerique):
     initEtude()
     self.references = references
     self.dicoParams = dicoParams
-    if self.dicoParams.has_key('nomCas'):
+    if 'nomCas' in self.dicoParams:
       self.nomCas = self.dicoParams['nomCas']
+    elif 'nomres' in self.dicoParams:
+      self.nomCas = os.path.splitext(os.path.split(self.dicoParams['nomres'])[1])[0]
     else:
-      self.nomCas = 'casStandard'    
+      self.nomCas = 'casStandard'
+    if 'reptrav' in self.dicoParams:
+      self.reptrav = self.dicoParams['reptrav']
+    else:
+      self.reptrav = '.'  
     self.numeroCas = numeroCas
     if self.numeroCas != 0:
       self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
     else:
       self.nomProbleme = self.nomCas
-    if self.dicoParams.has_key('lenSegPipe'):
+    if 'lenSegPipe' in self.dicoParams:
       self.lenSegPipe = self.dicoParams['lenSegPipe']
     else:
       self.lenSegPipe =self.dicoParams['rayonPipe']
-    if self.dicoParams.has_key('step'):
+    if 'step' in self.dicoParams:
       step = self.dicoParams['step']
     else:
       step = -1 # exécuter toutes les étapes
+    if 'aretesVives' not in self.dicoParams:
+      self.dicoParams['aretesVives'] = 0
     if self.numeroCas == 0: # valeur par défaut : exécution immédiate, sinon execution différée dans le cas d'une liste de problèmes
       self.executeProbleme(step)
     
@@ -76,7 +86,7 @@ class casStandard(fissureGenerique):
     pointIn_x   : optionnel : coordonnée x d'un point dans le solide sain (pour orienter la face - idem avec y,z)
     """
     logging.info("setParamShapeFissure %s", self.nomCas)
-    if self.dicoParams.has_key('pointInterieur'):
+    if 'pointInterieur' in self.dicoParams:
       self.shapeFissureParams = dict(lgInfluence = self.dicoParams['lgInfluence'],
                                      rayonPipe   = self.dicoParams['rayonPipe'],
                                      lenSegPipe  = self.lenSegPipe,
@@ -97,8 +107,8 @@ class casStandard(fissureGenerique):
     shellFiss = geompy.ImportFile( self.dicoParams['brepFaceFissure'], "BREP")
     fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"])
     geompy.UnionIDs(fondFiss, self.dicoParams['edgeFissIds'] )
-    geompy.addToStudy( shellFiss, 'shellFiss' )
-    geompy.addToStudyInFather( shellFiss, fondFiss, 'fondFiss' )
+    geomPublish(initLog.debug, shellFiss, 'shellFiss' )
+    geomPublishInFather(initLog.debug, shellFiss, fondFiss, 'fondFiss' )
 
 
     coordsNoeudsFissure = genereMeshCalculZoneDefaut(shellFiss, self.dicoParams['meshBrep'][0] ,self.dicoParams['meshBrep'][1])
@@ -108,12 +118,13 @@ class casStandard(fissureGenerique):
 
   # ---------------------------------------------------------------------------
   def setParamMaillageFissure(self):
-    self.maillageFissureParams = dict(nomRep           = '.',
-                                      nomFicSain       = self.nomCas,
-                                      nomFicFissure    = 'fissure_' + self.nomCas,
+    self.maillageFissureParams = dict(nomRep           = self.reptrav,
+                                      nomFicSain       = self.nomCas +'_sain',
+                                      nomFicFissure    = self.nomCas,
                                       nbsegRad         = self.dicoParams['nbSegRad'],
                                       nbsegCercle      = self.dicoParams['nbSegCercle'],
-                                      areteFaceFissure = self.dicoParams['areteFaceFissure'])
+                                      areteFaceFissure = self.dicoParams['areteFaceFissure'],
+                                      aretesVives      = self.dicoParams['aretesVives'])
 
   # ---------------------------------------------------------------------------
   def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams):