1 // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.salome-platform.org/
23 #include "MESHClient.hxx"
24 #include "SUPPORTClient.hxx"
25 #include "FIELDClient.hxx"
26 #include CORBA_CLIENT_HEADER(MED)
28 using namespace MEDMEM;
29 using namespace MED_EN;
32 %include "libMedCorba_Swig.i"
33 %include "libMEDMEM_Swig.i"
35 %typecheck(SWIG_TYPECHECK_POINTER) SALOME_MED::FIELDDOUBLE_ptr, SALOME_MED::FIELDINT_ptr
41 class MESHClient : public MESH {
45 MESHClient(const SALOME_MED::MESH_ptr m);
51 self->removeReference();
56 class SUPPORTClient : public SUPPORT {
60 SUPPORTClient(const SALOME_MED::SUPPORT_ptr S,
67 self->removeReference();
73 template<class T, class INTERLACING_TAG>
74 class FIELDClient : public FIELD<T,INTERLACING_TAG>
78 FIELDClient(U ptrCorba,MEDMEM::SUPPORT * S = NULL);
82 %template (FIELDDOUBLEClient) FIELDClient<double, FullInterlace>;
83 %template (FIELDDOUBLENOINTERLACEClient) FIELDClient<double, NoInterlace>;
84 %template (FIELDINTClient) FIELDClient<int, FullInterlace>;
85 %template (FIELDINTNOINTERLACEClient) FIELDClient<int, NoInterlace>;
87 %extend FIELDClient<double, FullInterlace>
89 %template(FIELDDOUBLEClients) FIELDClient<SALOME_MED::FIELDDOUBLE_ptr>;
92 %extend FIELDClient<double, NoInterlace>
94 %template(FIELDDOUBLENOINTERLACEClients) FIELDClient<SALOME_MED::FIELDDOUBLE_ptr>;
97 %extend FIELDClient<int, FullInterlace>
99 %template(FIELDINTClients) FIELDClient<SALOME_MED::FIELDINT_ptr>;
102 %extend FIELDClient<int, NoInterlace>
104 %template(FIELDINTNOINTERLACEClients) FIELDClient<SALOME_MED::FIELDINT_ptr>;
107 FIELD<double> * getDoublePointer(FIELDClient<double,FullInterlace> * input);
109 FIELD<double,NoInterlace> *getDoubleNoInterlacePointer(FIELDClient<double,NoInterlace> * input);
111 FIELD<int> * getIntPointer(FIELDClient<int,FullInterlace> * input);
113 FIELD<int,NoInterlace> * getIntNoInterlacePointer(FIELDClient<int,NoInterlace> * input);
116 FIELD<double> * getDoublePointer(FIELDClient<double,FullInterlace> * input)
118 return (FIELD<double> *) input;
121 FIELD<double,NoInterlace> *getDoubleNoInterlacePointer(FIELDClient<double,NoInterlace> * input)
123 return (FIELD<double,NoInterlace> *) input;
126 FIELD<int> * getIntPointer(FIELDClient<int,FullInterlace> * input)
128 return (FIELD<int> *) input;
131 FIELD<int,NoInterlace> * getIntNoInterlacePointer(FIELDClient<int,NoInterlace> * input)
133 return (FIELD<int,NoInterlace> *) input;