From d0b3f328a8557f19fadf4bb5408572e0f091912c Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 23 Jun 2011 12:38:38 +0000 Subject: [PATCH] 0021014: EDF 1583 SMESH: Improvement of the Python Dump for the creation of groups + def GetFilterFromCriteria(self,criteria): + def GroupOnFilter(self, typ, name, filter): --- src/SMESH_SWIG/smeshDC.py | 54 ++++++++++++++++++++++++++++----------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/src/SMESH_SWIG/smeshDC.py b/src/SMESH_SWIG/smeshDC.py index 8f711537d..34a67d339 100644 --- a/src/SMESH_SWIG/smeshDC.py +++ b/src/SMESH_SWIG/smeshDC.py @@ -781,7 +781,7 @@ class smeshDC(SMESH._objref_SMESH_Gen): aCriterion.Compare = self.EnumToLong(FT_LessThan) elif Compare == ">": aCriterion.Compare = self.EnumToLong(FT_MoreThan) - else: + elif Compare != FT_Undefined: aCriterion.Compare = self.EnumToLong(FT_EqualTo) aTreshold = Compare @@ -896,6 +896,19 @@ class smeshDC(SMESH._objref_SMESH_Gen): aFilterMgr.UnRegister() return aFilter + ## Creates a filter from criteria + # @param criteria a list of criteria + # @return SMESH_Filter + # + # Example of Filters usage + # @ingroup l1_controls + def GetFilterFromCriteria(self,criteria): + aFilterMgr = self.CreateFilterManager() + aFilter = aFilterMgr.CreateFilter() + aFilter.SetCriteria(criteria) + aFilterMgr.UnRegister() + return aFilter + ## Creates a numerical functor by its type # @param theCriterion FT_...; functor type # @return SMESH_NumericalFunctor @@ -940,14 +953,14 @@ class smeshDC(SMESH._objref_SMESH_Gen): def CreateHypothesis(self, theHType, theLibName="libStdMeshersEngine.so"): return SMESH._objref_SMESH_Gen.CreateHypothesis(self, theHType, theLibName ) - ## Gets the mesh stattistic - # @return dictionary type element - count of elements + ## Gets the mesh statistic + # @return dictionary - # @ingroup l1_meshinfo def GetMeshInfo(self, obj): if isinstance( obj, Mesh ): obj = obj.GetMesh() d = {} - if hasattr(obj, "_narrow") and obj._narrow(SMESH.SMESH_IDSource): + if hasattr(obj, "GetMeshInfo"): values = obj.GetMeshInfo() for i in range(SMESH.Entity_Last._v): if i < len(values): d[SMESH.EntityType._item(i)]=values[i] @@ -1654,17 +1667,6 @@ class Mesh: pass pass - ## Creates a mesh group based on the geometric object \a grp - # and gives a \a name, \n if this parameter is not defined - # the name is the same as the geometric group name \n - # Note: Works like GroupOnGeom(). - # @param grp a geometric group, a vertex, an edge, a face or a solid - # @param name the name of the mesh group - # @return SMESH_GroupOnGeom - # @ingroup l2_grps_create - def Group(self, grp, name=""): - return self.GroupOnGeom(grp, name) - ## Deprecated, used only for compatibility! Please, use ExportMED() method instead. ## Exports the mesh in a file in MED format and chooses the \a version of MED format ## allowing to overwrite the file if it exists or add the exported data to its contents @@ -1744,6 +1746,17 @@ class Mesh: def CreateEmptyGroup(self, elementType, name): return self.mesh.CreateGroup(elementType, name) + ## Creates a mesh group based on the geometric object \a grp + # and gives a \a name, \n if this parameter is not defined + # the name is the same as the geometric group name \n + # Note: Works like GroupOnGeom(). + # @param grp a geometric group, a vertex, an edge, a face or a solid + # @param name the name of the mesh group + # @return SMESH_GroupOnGeom + # @ingroup l2_grps_create + def Group(self, grp, name=""): + return self.GroupOnGeom(grp, name) + ## Creates a mesh group based on the geometrical object \a grp # and gives a \a name, \n if this parameter is not defined # the name is the same as the geometrical group name @@ -1807,6 +1820,17 @@ class Mesh: else: return self.mesh.CreateGroupFromGEOM(typ, name, grp) + ## Creates a mesh group with given \a name based on the \a filter which + ## is a special type of group dynamically updating it's contents during + ## mesh modification + # @param typ the type of elements in the group + # @param name the name of the mesh group + # @param filter the filter defining group contents + # @return SMESH_GroupOnFilter + # @ingroup l2_grps_create + def GroupOnFilter(self, typ, name, filter): + return self.mesh.CreateGroupFromFilter(typ, name, filter) + ## Creates a mesh group by the given ids of elements # @param groupName the name of the mesh group # @param elementType the type of elements in the group -- 2.30.2