Salome HOME
yfr : Merge with v1.2
[modules/smesh.git] / src / SMESH_I / SMESH_MEDSupport_i.hxx
1 //=============================================================================
2 // File      : SMESH_MEDSupport_i.hxx
3 // Project   : SALOME
4 // Copyright : EDF 2001
5 //=============================================================================
6
7 #ifndef _MED_SMESH_MEDSUPPORT_I_HXX_
8 #define _MED_SMESH_MEDSUPPORT_I_HXX_
9
10 #include <SALOMEconfig.h>
11 #include CORBA_SERVER_HEADER(MED)
12 #include <string>
13
14 #include "SMESHDS_Mesh.hxx"
15 #include "SMESHDS_SubMesh.hxx"
16 #include "SMDS_MeshElement.hxx"
17 #include "SMDS_MeshNode.hxx"
18
19 #include "SMESH_MEDSupport_i.hxx"
20
21 class SMESH_subMesh_i;
22
23 class SMESH_MEDSupport_i: 
24   public POA_SALOME_MED::SUPPORT,
25   public PortableServer::RefCountServantBase 
26 {
27
28 protected :
29     SMESH_MEDSupport_i();
30     ~SMESH_MEDSupport_i();
31
32
33 public :
34   
35   Handle_SMESHDS_SubMesh  _subMeshDS;
36   ::SMESH_subMesh_i*      _subMesh_i;
37
38   Handle_SMESHDS_Mesh     _meshDS;
39     string                   _name;
40     string                   _description;
41     bool                     _isOnAllElements;
42     bool                     _seqNumber;
43     int                      _seqLength;
44
45     SALOME_MED::medEntityMesh         _entity;
46     SALOME_MED::medGeometryElement *  _geometricType;
47     int                               _numberOfGeometricType;
48
49
50 public:
51
52     // Constructors and associated internal methods
53   SMESH_MEDSupport_i(SMESH_subMesh_i* sm,
54                      string name, 
55                      string description,
56                      SALOME_MED::medEntityMesh entity);
57   SMESH_MEDSupport_i(const SMESH_MEDSupport_i & s);
58   
59   // IDL Methods
60   char *               getName()         throw (SALOME::SALOME_Exception);
61   char *               getDescription()  throw (SALOME::SALOME_Exception);
62   SALOME_MED::MESH_ptr getMesh()         throw (SALOME::SALOME_Exception);
63   CORBA::Boolean       isOnAllElements() throw (SALOME::SALOME_Exception);
64   SALOME_MED::medEntityMesh getEntity()  throw (SALOME::SALOME_Exception);
65   CORBA::Long          getNumberOfElements(SALOME_MED::medGeometryElement geomElement) 
66     throw (SALOME::SALOME_Exception);
67   Engines::long_array* getNumber(SALOME_MED::medGeometryElement geomElement) 
68     throw (SALOME::SALOME_Exception);
69   Engines::long_array* getNumberIndex() 
70     throw (SALOME::SALOME_Exception);
71   CORBA::Long          getNumberOfGaussPoints(SALOME_MED::medGeometryElement geomElement) 
72     throw (SALOME::SALOME_Exception);
73   SALOME_MED::medGeometryElement_array* getTypes() 
74     throw (SALOME::SALOME_Exception);
75   CORBA::Long          getCorbaIndex()   throw (SALOME::SALOME_Exception);
76   void                 createSeq()       throw (SALOME::SALOME_Exception);
77   
78
79 };
80
81 #endif /* _MED_MEDSUPPORT_I_HXX_ */