Salome HOME
debug
[modules/smesh.git] / src / Tools / blocFissure / gmu / shapesSurFissure.py
1 # -*- coding: utf-8 -*-
2
3 import logging
4 from geomsmesh import geompy
5
6 # -----------------------------------------------------------------------------
7 # --- identification des shapes modifiées par la duplication des noeuds de la face fissure (d'un coté de la face)
8
9 def shapesSurFissure(blocPartition, plane1, faceFissure, gencnt):
10   """
11   TODO: a completer
12   """
13   logging.info('start')
14
15   shapesAModifier = []
16   vertex = geompy.MakeVertexOnSurface(plane1, 0.5, 0.5)
17   normal = geompy.GetNormal(plane1, vertex)
18   extrusion = geompy.MakePrismVecH(plane1, normal, 100)
19
20   sharedSolids = []
21   solids= geompy.GetShapesOnBox ( extrusion, blocPartition, geompy.ShapeType("SOLID"), GEOM.ST_ONIN )
22   for solid in solids:
23     sharedSolids += geompy.GetSharedShapes(faceFissure, solid, geompy.ShapeType["SOLID"])
24   logging.debug("sharedSolids %s",sharedSolids)
25
26   sharedFaces = []
27   faces= geompy.GetShapesOnBox ( extrusion, blocPartition, geompy.ShapeType("FACE"), GEOM.ST_ONIN )
28   for face in faces:
29     sharedFaces += geompy.GetSharedShapes(faceFissure, face, geompy.ShapeType["FACE"])
30   logging.debug("sharedFaces %s",sharedFaces)
31
32   sharedEdges = []
33   edges= geompy.GetShapesOnBox ( extrusion, blocPartition, geompy.ShapeType("EDGE"), GEOM.ST_ONIN )
34   for edge in edges:
35     if not edge.IsSame(gencnt):
36       sharedEdges += geompy.GetSharedShapes(faceFissure, edge, geompy.ShapeType["EDGE"])
37   logging.debug("sharedEdges %s",sharedEdges)
38
39   shapesAModifier = [ sharedSolids, sharedFaces, sharedEdges]
40   return shapesAModifier