Back to index

salome-smesh  6.5.0
SMESH_Group.idl
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  File   : SMESH_Group.idl
00024 //  Author : Sergey ANIKIN, OCC
00025 //  $Header: /home/server/cvs/SMESH/SMESH_SRC/idl/SMESH_Group.idl,v 1.9.20.5.8.1 2012-04-13 09:31:02 vsr Exp $
00026 //
00027 #ifndef _SMESH_GROUP_IDL_
00028 #define _SMESH_GROUP_IDL_
00029 
00030 #include "SALOME_Exception.idl"
00031 #include "SALOME_GenericObj.idl"
00032 #include "SALOMEDS_Attributes.idl"
00033 
00034 #include "SMESH_Mesh.idl"
00035 
00036 module SMESH
00037 {
00038   interface Predicate;
00039   interface Filter;
00040 
00044   interface SMESH_GroupBase : SALOME::GenericObj, SMESH_IDSource
00045   {
00049     void SetName( in string name );
00050 
00054     string GetName();
00055 
00059     ElementType GetType();
00060 
00064     long Size();
00065 
00069     boolean IsEmpty();
00070 
00074     boolean Contains( in long elem_id );
00075 
00079     long GetID( in long elem_index );
00080 
00084     long_array GetListOfID();
00085 
00090     long GetNumberOfNodes();
00091 
00096     long_array GetNodeIDs();
00097 
00101     boolean IsNodeInfoAvailable();
00102 
00106     void SetColor(in SALOMEDS::Color theColor);
00107 
00111     SALOMEDS::Color GetColor();
00112 
00117     void SetColorNumber( in long color );
00118 
00123     long GetColorNumber();
00124   }; 
00125 
00129   interface SMESH_Group : SMESH_GroupBase
00130   {
00134     void Clear();
00135 
00139     long Add( in long_array elem_ids );
00143     long AddByPredicate( in Predicate thePredicate );
00147     long AddFrom( in SMESH_IDSource theSource );
00148 
00152     long Remove( in long_array elem_ids );
00156     long RemoveByPredicate( in Predicate thePredicate );
00157 
00158   };
00159 
00163   interface SMESH_GroupOnGeom : SMESH_GroupBase
00164   {
00165     GEOM::GEOM_Object GetShape();
00166   };
00167 
00171   interface SMESH_GroupOnFilter : SMESH_GroupBase
00172   {
00173     void   SetFilter( in Filter theFilter); 
00174     Filter GetFilter();
00175   };
00176 
00177 };
00178 
00179 
00180 #endif