+
+ /*!
+ * SMESH_Group: interface of a standalone group object
+ */
+ interface SMESH_Group : SMESH_GroupBase
+ {
+ /*!
+ * Clears the group's contents
+ */
+ void Clear();
+
+ /*!
+ * Adds elements or nodes with specified identifiers to the group
+ */
+ long Add( in long_array elem_ids );
+ /*!
+ * Adds elements or nodes that match specified predicate to the group
+ */
+ long AddByPredicate( in Predicate thePredicate );
+ /*!
+ * Add all elements or nodes from the specified source to the group
+ */
+ long AddFrom( in SMESH_IDSource theSource );
+
+ /*!
+ * Removes elements or nodes with specified identifiers from the group
+ */
+ long Remove( in long_array elem_ids );
+ /*!
+ * Removes elements or nodes that match specified predicate from the group
+ */
+ long RemoveByPredicate( in Predicate thePredicate );
+
+ };
+
+ /*!
+ * SMESH_GroupOnGeom: interface of a group object linked to geometry
+ */
+ interface SMESH_GroupOnGeom : SMESH_GroupBase
+ {
+ GEOM::GEOM_Object GetShape();
+ };
+
+ /*!
+ * SMESH_GroupOnFilter: interface of a group object defined by filter
+ */
+ interface SMESH_GroupOnFilter : SMESH_GroupBase
+ {
+ void SetFilter( in Filter theFilter);
+ Filter GetFilter();
+ };
+