Version: 6.3.1

src/SMESH_I/SMESH_subMesh_i.hxx

Go to the documentation of this file.
00001 // Copyright (C) 2007-2011  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 //  SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
00024 //  File   : SMESH_subMesh_i.hxx
00025 //  Author : Paul RASCLE, EDF
00026 //  Module : SMESH
00027 //
00028 #ifndef _SMESH_SUBMESH_I_HXX_
00029 #define _SMESH_SUBMESH_I_HXX_
00030 
00031 #include "SMESH.hxx"
00032 
00033 #include <SALOMEconfig.h>
00034 #include CORBA_SERVER_HEADER(SMESH_Mesh)
00035 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
00036 #include CORBA_CLIENT_HEADER(GEOM_Gen)
00037 #include CORBA_CLIENT_HEADER(MED)
00038 
00039 #include "SALOME_GenericObj_i.hh"
00040 #include "SMESH_Mesh_i.hxx"
00041 
00042 class SMESH_Gen_i;
00043 
00044 class SMESH_I_EXPORT SMESH_subMesh_i:
00045   public virtual POA_SMESH::SMESH_subMesh,
00046   public virtual SALOME::GenericObj_i
00047 {
00048 public:
00049   SMESH_subMesh_i();
00050   SMESH_subMesh_i( PortableServer::POA_ptr thePOA,
00051                    SMESH_Gen_i*            gen_i,
00052                    SMESH_Mesh_i*           mesh_i,
00053                    int                     localId );
00054   ~SMESH_subMesh_i();
00055 
00056   CORBA::Long GetNumberOfElements()
00057     throw (SALOME::SALOME_Exception);
00058   
00059   CORBA::Long  GetNumberOfNodes( CORBA::Boolean all )
00060     throw (SALOME::SALOME_Exception);
00061   
00062   SMESH::long_array* GetElementsId()
00063     throw (SALOME::SALOME_Exception);
00064 
00065   SMESH::long_array* GetElementsByType( SMESH::ElementType theElemType )
00066     throw (SALOME::SALOME_Exception);
00067   
00068   //for omniORB conflict compilation
00069   /*SMESH::ElementType GetElementType( const CORBA::Long id, const bool iselem )
00070     throw (SALOME::SALOME_Exception);*/
00071   SMESH::ElementType GetElementType( CORBA::Long id, bool iselem )
00072     throw (SALOME::SALOME_Exception);
00073   
00074   SMESH::long_array* GetNodesId()
00075     throw (SALOME::SALOME_Exception);
00076   
00077   SMESH::SMESH_Mesh_ptr GetFather()
00078     throw (SALOME::SALOME_Exception);
00079   
00080   GEOM::GEOM_Object_ptr GetSubShape()
00081     throw (SALOME::SALOME_Exception);
00082 
00083   CORBA::Long GetId();   
00084 
00085   SALOME_MED::FAMILY_ptr GetFamily()
00086     throw (SALOME::SALOME_Exception);
00087 
00088 
00089   // =========================
00090   // interface SMESH_IDSource
00091   // =========================
00095   virtual SMESH::long_array* GetIDs();
00101   virtual SMESH::long_array* GetMeshInfo();
00105   virtual SMESH::array_of_ElementType* GetTypes();
00109   SMESH::SMESH_Mesh_ptr GetMesh();
00110 
00111 
00112   SMESH_Mesh_i* _mesh_i; //NRI
00113 
00114 protected:
00115   void changeLocalId(int localId) { _localId = localId; }
00116   SMESH_Gen_i* _gen_i;
00117   int _localId;
00118 
00119   friend void SMESH_Mesh_i::CheckGeomGroupModif();
00120 };
00121 
00122 #endif
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS