]> SALOME platform Git repositories - modules/med.git/blob - src/MEDMEM_I/MEDMEM_Support_i.hxx
Salome HOME
update after merging trhe branches CEA_V3_0_x, OCC_V3_1_0_a1_x, and the main
[modules/med.git] / src / MEDMEM_I / MEDMEM_Support_i.hxx
1 //=============================================================================
2 // File      : MEDMEM_Support_i.hxx
3 // Project   : SALOME
4 // Author    : EDF 
5 // Copyright : EDF 2002
6 // $Header: /export/home/PAL/MED/src/MEDMEM_I/MEDMEM_Support_i.hxx
7 //=============================================================================
8
9 #ifndef _MED_SUPPORT_I_HXX_
10 #define _MED_SUPPORT_I_HXX_
11
12 #include <map>
13 #include <string>
14
15 #include <SALOMEconfig.h>
16
17 #include "SALOMEMultiComm.hxx"
18 #include "SALOME_GenericObj_i.hh"
19 #include CORBA_SERVER_HEADER(MED)
20 #include CORBA_SERVER_HEADER(SALOME_Comm)
21
22 namespace MEDMEM {
23 class SUPPORT;
24
25   class SUPPORT_i: public POA_SALOME_MED::SUPPORT,
26                    public SALOMEMultiComm,
27                    public SALOME::GenericObj_i
28 {
29 public :
30     static std::map < int,::MEDMEM::SUPPORT *> supportMap;
31 private :
32     static int supportIndex;
33
34 protected :
35
36      // C++ object containing values
37      const ::MEDMEM::SUPPORT * const _support;
38      const int   _corbaIndex ;
39      std::string      _supportId ;
40
41 public:
42
43     SUPPORT_i();
44     ~SUPPORT_i();
45
46     // Constructors and associated internal methods
47     SUPPORT_i(const ::MEDMEM::SUPPORT * const s);
48     SUPPORT_i(const SUPPORT_i & s);
49
50     // IDL Methods
51     char *               getName()         throw (SALOME::SALOME_Exception);
52     char *               getDescription()  throw (SALOME::SALOME_Exception);
53     SALOME_MED::MESH_ptr getMesh()         throw (SALOME::SALOME_Exception);
54     CORBA::Boolean       isOnAllElements() throw (SALOME::SALOME_Exception);
55     SALOME_MED::medEntityMesh getEntity()  throw (SALOME::SALOME_Exception);
56     CORBA::Long          getNumberOfElements(SALOME_MED::medGeometryElement geomElement) 
57                                            throw (SALOME::SALOME_Exception);
58     CORBA::Long          getNumberOfTypes()
59                                            throw (SALOME::SALOME_Exception);
60     SALOME_MED::long_array* getNumber(SALOME_MED::medGeometryElement geomElement) 
61                                            throw (SALOME::SALOME_Exception);
62     SALOME::SenderInt_ptr getSenderForNumber(SALOME_MED::medGeometryElement geomElement) 
63                                            throw (SALOME::SALOME_Exception);
64     SALOME_MED::long_array* getNumberIndex() 
65                                            throw (SALOME::SALOME_Exception);
66     SALOME::SenderInt_ptr getSenderForNumberIndex() 
67                                            throw (SALOME::SALOME_Exception);
68     CORBA::Long          getNumberOfGaussPoint(SALOME_MED::medGeometryElement geomElement) 
69                                            throw (SALOME::SALOME_Exception);
70     SALOME_MED::long_array* getNumbersOfGaussPoint()
71                                            throw (SALOME::SALOME_Exception);
72
73     SALOME_MED::medGeometryElement_array* getTypes() 
74                                            throw (SALOME::SALOME_Exception);
75
76     void getBoundaryElements()             throw (SALOME::SALOME_Exception);
77
78
79   // Others
80   void           addInStudy (SALOMEDS::Study_ptr myStudy, 
81                           SALOME_MED::SUPPORT_ptr myIor)
82     throw (SALOME::SALOME_Exception, SALOMEDS::StudyBuilder::LockProtection);
83
84   void release();
85   //                                    Cuisine interne
86   CORBA::Long    getCorbaIndex()   throw (SALOME::SALOME_Exception);
87   SALOME_MED::SUPPORT::supportInfos * getSupportGlobal()   throw (SALOME::SALOME_Exception);
88 };
89 }
90
91 #endif /* _MED_SUPPORT_I_HXX_ */