mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-15 10:08:34 +05:00
0020594: EDF 1166 SMESH: Creation of a group of elements from a compound in TUI
fix GroupOnGeom() for the case of a compound which is not a GEOM group.
This commit is contained in:
parent
f46a7af424
commit
235f0b122d
@ -1393,19 +1393,37 @@ class Mesh:
|
||||
elif tgeo == "SHELL":
|
||||
typ = VOLUME
|
||||
elif tgeo == "COMPOUND":
|
||||
if len( self.geompyD.GetObjectIDs( grp )) == 0:
|
||||
print "Mesh.Group: empty geometric group", GetName( grp )
|
||||
return 0
|
||||
tgeo = self.geompyD.GetType(grp)
|
||||
if tgeo == geompyDC.ShapeType["VERTEX"]:
|
||||
typ = NODE
|
||||
elif tgeo == geompyDC.ShapeType["EDGE"]:
|
||||
typ = EDGE
|
||||
elif tgeo == geompyDC.ShapeType["FACE"]:
|
||||
typ = FACE
|
||||
elif tgeo == geompyDC.ShapeType["SOLID"]:
|
||||
typ = VOLUME
|
||||
|
||||
try: # it raises on a compound of compounds
|
||||
if len( self.geompyD.GetObjectIDs( grp )) == 0:
|
||||
print "Mesh.Group: empty geometric group", GetName( grp )
|
||||
return 0
|
||||
pass
|
||||
except:
|
||||
pass
|
||||
if grp.GetType() == 37: # GEOMImpl_Types.hxx: #define GEOM_GROUP 37
|
||||
# group
|
||||
tgeo = self.geompyD.GetType(grp)
|
||||
if tgeo == geompyDC.ShapeType["VERTEX"]:
|
||||
typ = NODE
|
||||
elif tgeo == geompyDC.ShapeType["EDGE"]:
|
||||
typ = EDGE
|
||||
elif tgeo == geompyDC.ShapeType["FACE"]:
|
||||
typ = FACE
|
||||
elif tgeo == geompyDC.ShapeType["SOLID"]:
|
||||
typ = VOLUME
|
||||
pass
|
||||
pass
|
||||
else:
|
||||
# just a compound
|
||||
for elemType, shapeType in [[VOLUME,"SOLID"],[FACE,"FACE"],
|
||||
[EDGE,"EDGE"],[NODE,"VERTEX"]]:
|
||||
if self.geompyD.SubShapeAll(grp,geompyDC.ShapeType[shapeType]):
|
||||
typ = elemType
|
||||
break
|
||||
pass
|
||||
pass
|
||||
pass
|
||||
pass
|
||||
if typ == None:
|
||||
print "Mesh.Group: bad first argument: expected a group, a vertex, an edge, a face or a solid"
|
||||
return 0
|
||||
|
Loading…
Reference in New Issue
Block a user