Salome HOME
debug
[modules/smesh.git] / src / Tools / blocFissure / gmu / creeZoneDefautFilling.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4 from geomsmesh import geompy
5
6 # -----------------------------------------------------------------------------
7 # --- crée zone géométrique défaut a partir d'un filling
8
9 def creeZoneDefautFilling(filling, shapeDefaut, lgExtrusion=50):
10   """
11   Construction CAO de la zone à remailler, quand on utilise un filling,
12   après appel creeZoneDefautMaillage et quadranglesToShapeNoCorner
13   @param filling : la CAO de la peau du défaut reconstituée
14   @param shapeDefaut : objet géométrique représentant la fissure
15   (selon les cas, un point central, ou une shape plus complexe,
16   dont on ne garde que les vertices)
17   @return (facesDefaut = filling, centreDefaut, normalDefaut, extrusionDefaut)
18   """
19   logging.info("start")
20
21   trace = True
22   facesDefaut = filling
23   centreSphere = geompy.MakeCDG(shapeDefaut)
24   geompy.addToStudy(centreSphere, "cdg_defaut")
25   centreDefaut = geompy.MakeProjection(centreSphere, filling)
26   if trace:
27     geompy.addToStudy(centreDefaut, "centreDefaut")
28   normalDefaut = geompy.GetNormal(filling, centreDefaut)
29   if trace:
30     geompy.addToStudy(normalDefaut, "normalDefaut")
31   extrusionDefaut = geompy.MakePrismVecH(filling, normalDefaut, -lgExtrusion)
32   if trace:
33     geompy.addToStudy(extrusionDefaut, "extrusionDefaut")
34
35   return facesDefaut, centreDefaut, normalDefaut, extrusionDefaut