Salome HOME
Update copyrights in the documentation.
[modules/smesh.git] / src / Tools / blocFissure / gmu / casStandard.py
index 9c1ac5505f06712fda793da4344e9e90009dda1f..e52b700130229425cdaf76b9f882d846e9425e97 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
+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.insereFissureGenerale import insereFissureGenerale
+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()
 
@@ -39,8 +41,14 @@ class casStandard(fissureGenerique):
     self.dicoParams = dicoParams
     if self.dicoParams.has_key('nomCas'):
       self.nomCas = self.dicoParams['nomCas']
+    elif self.dicoParams.has_key('nomres'):
+      self.nomCas = os.path.splitext(os.path.split(self.dicoParams['nomres'])[1])[0]
     else:
-      self.nomCas = 'casStandard'    
+      self.nomCas = 'casStandard'
+    if self.dicoParams.has_key('reptrav'):
+      self.reptrav = self.dicoParams['reptrav']
+    else:
+      self.reptrav = '.'  
     self.numeroCas = numeroCas
     if self.numeroCas != 0:
       self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
@@ -54,6 +62,8 @@ class casStandard(fissureGenerique):
       step = self.dicoParams['step']
     else:
       step = -1 # exécuter toutes les étapes
+    if not self.dicoParams.has_key('aretesVives'):
+      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)
     
@@ -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):
@@ -124,9 +135,9 @@ class casStandard(fissureGenerique):
   def genereMaillageFissure(self, geometriesSaines, maillagesSains,
                             shapesFissure, shapeFissureParams,
                             maillageFissureParams, elementsDefaut, step):
-    maillageFissure = insereFissureGenerale(maillagesSains,
-                                            shapesFissure, shapeFissureParams,
-                                            maillageFissureParams, elementsDefaut, step)
+    maillageFissure = construitFissureGenerale(maillagesSains,
+                                              shapesFissure, shapeFissureParams,
+                                              maillageFissureParams, elementsDefaut, step)
     return maillageFissure
 
   # ---------------------------------------------------------------------------