Salome HOME
Merge with version on tag OCC-V2_1_0d
[modules/smesh.git] / idl / SMESH_Group.idl
index 9842df2f6f682ebace0a6870c513cfb17b73232e..a39c3445d00f2e876350a289bca476abcc79ab6f 100644 (file)
@@ -22,6 +22,7 @@
 //  Author : Sergey ANIKIN, OCC
 //  $Header$
 
+
 #ifndef _SMESH_GROUP_IDL_
 #define _SMESH_GROUP_IDL_
 
@@ -33,9 +34,9 @@
 module SMESH
 {
   /*!
-   * 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 +63,11 @@ module SMESH
      */
     boolean IsEmpty();
 
-    /*!
-     * Clears the group's contents
-     */
-    void Clear();
-
     /*!
      * returns true if the group contains an element with ID == <elem_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 <elem_index>
      */
@@ -87,16 +78,41 @@ 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 );
+
+    /*!
+     * Removes elements from the group
+     */
+    long Remove( in long_array elem_ids );
+
+  };
+  /*!
+   * SMESH_Group: interface of group object linked to geometry
+   */
+  interface SMESH_GroupOnGeom : SMESH_GroupBase
+  {
+    GEOM::GEOM_Object GetShape();
+  };
+
 };