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 MESH * getMeshPointer(MESHClient * input);
58 MESH * getMeshPointer(MESHClient * input)
60 return (MESH *) input;
64 class SUPPORTClient : public SUPPORT {
68 SUPPORTClient(const SALOME_MED::SUPPORT_ptr S,
75 self->removeReference();
81 template<class T, class INTERLACING_TAG>
82 class FIELDClient : public FIELD<T,INTERLACING_TAG>
86 FIELDClient(U ptrCorba,MEDMEM::SUPPORT * S = NULL);
90 %template (FIELDDOUBLEClient) FIELDClient<double, FullInterlace>;
91 %template (FIELDDOUBLENOINTERLACEClient) FIELDClient<double, NoInterlace>;
92 %template (FIELDINTClient) FIELDClient<int, FullInterlace>;
93 %template (FIELDINTNOINTERLACEClient) FIELDClient<int, NoInterlace>;
95 %extend FIELDClient<double, FullInterlace>
97 %template(FIELDDOUBLEClients) FIELDClient<SALOME_MED::FIELDDOUBLE_ptr>;
100 %extend FIELDClient<double, NoInterlace>
102 %template(FIELDDOUBLENOINTERLACEClients) FIELDClient<SALOME_MED::FIELDDOUBLE_ptr>;
105 %extend FIELDClient<int, FullInterlace>
107 %template(FIELDINTClients) FIELDClient<SALOME_MED::FIELDINT_ptr>;
110 %extend FIELDClient<int, NoInterlace>
112 %template(FIELDINTNOINTERLACEClients) FIELDClient<SALOME_MED::FIELDINT_ptr>;
115 FIELD<double> * getDoublePointer(FIELDClient<double,FullInterlace> * input);
117 FIELD<double,NoInterlace> *getDoubleNoInterlacePointer(FIELDClient<double,NoInterlace> * input);
119 FIELD<int> * getIntPointer(FIELDClient<int,FullInterlace> * input);
121 FIELD<int,NoInterlace> * getIntNoInterlacePointer(FIELDClient<int,NoInterlace> * input);
124 FIELD<double> * getDoublePointer(FIELDClient<double,FullInterlace> * input)
126 return (FIELD<double> *) input;
129 FIELD<double,NoInterlace> *getDoubleNoInterlacePointer(FIELDClient<double,NoInterlace> * input)
131 return (FIELD<double,NoInterlace> *) input;
134 FIELD<int> * getIntPointer(FIELDClient<int,FullInterlace> * input)
136 return (FIELD<int> *) input;
139 FIELD<int,NoInterlace> * getIntNoInterlacePointer(FIELDClient<int,NoInterlace> * input)
141 return (FIELD<int,NoInterlace> *) input;