Salome HOME
bbf939417d7a853a789dcd1af59f838fc033c212
[modules/smesh.git] / src / Tools / blocFissure / gmu / genereElemsFissureElliptique.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4 from geomsmesh import geompy
5
6 from toreFissure import toreFissure
7 from ellipsoideDefaut import ellipsoideDefaut
8 from rotTrans import rotTrans
9 from genereMeshCalculZoneDefaut import genereMeshCalculZoneDefaut
10
11 # -----------------------------------------------------------------------------
12 # --- création élements géométriques fissure elliptique
13
14 def genereElemsFissureElliptique(shapeFissureParams):
15   """
16   TODO: a completer
17   """
18   logging.info('start')
19   
20   centreDefaut  = shapeFissureParams['centreDefaut']
21   vecteurDefaut = shapeFissureParams['vecteurDefaut']
22   demiGrandAxe  = shapeFissureParams['demiGrandAxe']
23   demiPetitAxe  = shapeFissureParams['demiPetitAxe']
24   orientation   = shapeFissureParams['orientation']
25   tailleDefaut  = shapeFissureParams['taille']
26
27   # --- ellipse incomplete : generatrice
28
29   allonge = demiGrandAxe/demiPetitAxe
30   rayonTore = demiPetitAxe/5.0
31   generatrice, FaceGenFiss, Pipe_1, FaceFissure, Plane_1, Pipe1Part = toreFissure(demiPetitAxe, allonge, rayonTore)
32   ellipsoide = ellipsoideDefaut(demiPetitAxe, allonge, rayonTore)
33
34   # --- positionnement sur le bloc defaut de generatrice, tore et plan fissure
35
36   pipe0 = rotTrans(Pipe_1, orientation, centreDefaut, vecteurDefaut)
37   gener1 = rotTrans(generatrice, orientation, centreDefaut, vecteurDefaut)
38   pipe1 = rotTrans(Pipe1Part, orientation, centreDefaut, vecteurDefaut)
39   facefis1 = rotTrans(FaceFissure, orientation, centreDefaut, vecteurDefaut)
40   plane1 = rotTrans(Plane_1, orientation, centreDefaut, vecteurDefaut)
41   ellipsoide1 = rotTrans(ellipsoide, orientation, centreDefaut, vecteurDefaut)
42
43   geompy.addToStudy( pipe0, 'pipe0' )
44   geompy.addToStudy( gener1, 'gener1' )
45   geompy.addToStudy( pipe1, 'pipe1' )
46   geompy.addToStudy( facefis1, 'facefis1' )
47   geompy.addToStudy( plane1, 'plane1' )
48   geompy.addToStudy( ellipsoide1, 'ellipsoide1' )
49
50   shapeDefaut = facefis1
51   xyz_defaut = geompy.PointCoordinates(centreDefaut)
52   coordsNoeudsFissure = genereMeshCalculZoneDefaut(facefis1, demiPetitAxe/10.0, demiPetitAxe/5.0)
53
54   return shapeDefaut, xyz_defaut, tailleDefaut, coordsNoeudsFissure, pipe0, gener1, pipe1, facefis1, plane1, ellipsoide1