1 # -*- coding: utf-8 -*-
4 from .geomsmesh import geompy
5 from .geomsmesh import geomPublish
6 from .geomsmesh import geomPublishInFather
9 # -----------------------------------------------------------------------------
10 # --- cree zone geometrique defaut a partir d'un filling
12 def creeZoneDefautFilling(filling, shapeDefaut, lgExtrusion=50):
14 Construction CAO de la zone a remailler, quand on utilise un filling,
15 apres appel creeZoneDefautMaillage et quadranglesToShapeNoCorner
16 @param filling : la CAO de la peau du defaut reconstituee
17 @param shapeDefaut : objet geometrique representant la fissure
18 (selon les cas, un point central, ou une shape plus complexe,
19 dont on ne garde que les vertices)
20 @return (facesDefaut = filling, centreDefaut, normalDefaut, extrusionDefaut)
26 centreSphere = geompy.MakeCDG(shapeDefaut)
27 geomPublish(initLog.debug, centreSphere, "cdg_defaut")
28 centreDefaut = geompy.MakeProjection(centreSphere, filling)
30 geomPublish(initLog.debug, centreDefaut, "centreDefaut")
31 normalDefaut = geompy.GetNormal(filling, centreDefaut)
33 geomPublish(initLog.debug, normalDefaut, "normalDefaut")
34 extrusionDefaut = geompy.MakePrismVecH(filling, normalDefaut, -lgExtrusion)
36 geomPublish(initLog.debug, extrusionDefaut, "extrusionDefaut")
38 return facesDefaut, centreDefaut, normalDefaut, extrusionDefaut