X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_Group.idl;h=37657674bf4f41da09810991f347e283cfa83f62;hp=9842df2f6f682ebace0a6870c513cfb17b73232e;hb=deb5f024f2af09293ce204616d618aeda01c965a;hpb=c3bf92bd87b770fd81631a3853f7f5bb1ac6a4e8 diff --git a/idl/SMESH_Group.idl b/idl/SMESH_Group.idl index 9842df2f6..37657674b 100644 --- a/idl/SMESH_Group.idl +++ b/idl/SMESH_Group.idl @@ -22,6 +22,7 @@ // Author : Sergey ANIKIN, OCC // $Header$ + #ifndef _SMESH_GROUP_IDL_ #define _SMESH_GROUP_IDL_ @@ -32,10 +33,12 @@ module SMESH { + interface Predicate; + /*! - * SMESH_Group: interface of group object + * SMESH_Group: base interface of group object */ - interface SMESH_Group : SALOME::GenericObj + interface SMESH_GroupBase : SALOME::GenericObj, SMESH_IDSource { /*! * Sets group name @@ -62,21 +65,11 @@ module SMESH */ boolean IsEmpty(); - /*! - * Clears the group's contents - */ - void Clear(); - /*! * returns true if the group contains an element with ID == */ boolean Contains( in long elem_id ); - /*! - * Adds elements to the group - */ - long Add( in long_array elem_ids ); - /*! * Returns ID of an element at position */ @@ -87,16 +80,43 @@ module SMESH */ long_array GetListOfID(); - /*! - * Removes elements from the group - */ - long Remove( in long_array elem_ids ); - /*! * Returns the mesh object this group belongs to */ SMESH_Mesh GetMesh(); }; + + /*! + * SMESH_Group: interface of group object + */ + interface SMESH_Group : SMESH_GroupBase + { + /*! + * Clears the group's contents + */ + void Clear(); + + /*! + * Adds elements to the group + */ + long Add( in long_array elem_ids ); + long AddByPredicate( in Predicate thePredicate ); + + /*! + * Removes elements from the group + */ + long Remove( in long_array elem_ids ); + long RemoveByPredicate( in Predicate thePredicate ); + + }; + /*! + * SMESH_Group: interface of group object linked to geometry + */ + interface SMESH_GroupOnGeom : SMESH_GroupBase + { + GEOM::GEOM_Object GetShape(); + }; + };