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