Salome HOME
merging the main trunk with the BrForComp branch to build a pre V3_0_1
[modules/med.git] / src / MedClient / src / libMEDClient.i
1 %module libMEDClient
2
3 %{
4 #include "MESHClient.hxx"
5 #include "SUPPORTClient.hxx"
6 #include "FIELDDOUBLEClient.hxx"
7 #include "FIELDINTClient.hxx"
8 #include CORBA_CLIENT_HEADER(MED)
9 /* #define FIELDDOUBLEClient FIELDClient<double,SALOME_MED::FIELDDOUBLE_ptr> */
10 /* #define FIELDINTClient FIELDClient<int,SALOME_MED::FIELDINT_ptr> */
11
12   using namespace MEDMEM;
13   using namespace MED_EN;
14 %}
15
16 %include "libMedCorba_Swig.i"
17 %include "libMEDMEM_Swig.i"
18
19 class MESHClient : public MESH {
20
21  public:
22   
23   MESHClient(const SALOME_MED::MESH_ptr m);
24
25   void blankCopy();
26   void fillCopy();
27   %extend {
28     ~MESHClient(){
29       self->removeReference();
30     }
31   }
32 };
33
34 class SUPPORTClient : public SUPPORT {
35
36  public:
37
38   SUPPORTClient(const SALOME_MED::SUPPORT_ptr S, 
39                 MESH * M = NULL);
40
41   void blankCopy();
42   void fillCopy();
43   %extend {
44     ~SUPPORTClient() {
45       self->removeReference();
46     }
47   }
48
49 };
50
51 class FIELDDOUBLEClient : public FIELDDOUBLE {
52 public:
53   FIELDDOUBLEClient(SALOME_MED::FIELDDOUBLE_ptr ptrCorba,
54                     MEDMEM::SUPPORT * S = NULL);
55
56   ~FIELDDOUBLEClient();
57 };
58
59 class FIELDINTClient : public FIELDINT {
60 public:
61   FIELDINTClient(SALOME_MED::FIELDINT_ptr ptrCorba,
62                  MEDMEM::SUPPORT * S = NULL);
63
64   ~FIELDINTClient();
65 };
66
67 FIELDDOUBLE * getDoublePointer(FIELDDOUBLEClient * input);
68
69 FIELDINT * getIntPointer(FIELDINTClient * input);
70
71 %{
72   FIELDDOUBLE * getDoublePointer(FIELDDOUBLEClient * input)
73     {
74       return (FIELDDOUBLE *) input;
75     }
76
77   FIELDINT * getIntPointer(FIELDINTClient * input)
78   {
79       return (FIELDINT *) input;
80   }
81 %}