From 85f8b0f4495dc625b45b44c8c44c4969230d6065 Mon Sep 17 00:00:00 2001 From: jfa Date: Fri, 15 Apr 2005 09:08:52 +0000 Subject: [PATCH] PAL8616: the function Group should allow geometric shapes --- src/SMESH_SWIG/smesh.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/SMESH_SWIG/smesh.py b/src/SMESH_SWIG/smesh.py index 36f34541a..da30bd82a 100644 --- a/src/SMESH_SWIG/smesh.py +++ b/src/SMESH_SWIG/smesh.py @@ -408,21 +408,38 @@ class Mesh: Create a mesh group based on geometric object \a grp and give a \a name, if this parameter is not defined the name is the same as the geometric group name - \param grp is a geometric group + \param grp is a geometric group, a vertex, an edge, a face or a solid \param name is the name of the mesh group """ if name == "": name = grp.GetName() - tgeo = geompy.GetType(grp) - if tgeo == geompy.ShapeType["VERTEX"]: + + type = [] + tgeo = str(grp.GetShapeType()) + if tgeo == "VERTEX": type = SMESH.NODE - elif tgeo == geompy.ShapeType["EDGE"]: + elif tgeo == "EDGE": type = SMESH.EDGE - elif tgeo == geompy.ShapeType["FACE"]: + elif tgeo == "FACE": type = SMESH.FACE - elif tgeo == geompy.ShapeType["SOLID"]: + elif tgeo == "SOLID": type = SMESH.VOLUME - return self.mesh.CreateGroupFromGEOM(type, name, grp) + elif tgeo == "COMPOUND": + tgeo = geompy.GetType(grp) + if tgeo == geompy.ShapeType["VERTEX"]: + type = SMESH.NODE + elif tgeo == geompy.ShapeType["EDGE"]: + type = SMESH.EDGE + elif tgeo == geompy.ShapeType["FACE"]: + type = SMESH.FACE + elif tgeo == geompy.ShapeType["SOLID"]: + type = SMESH.VOLUME + + if type == []: + print "Mesh.Group: bad first argument: expected a group, a vertex, an edge, a face or a solid" + return 0 + else: + return self.mesh.CreateGroupFromGEOM(type, name, grp) def ExportToMED(self, f, version, opt=0): """