]> SALOME platform Git repositories - tools/medcoupling.git/blob - src/PyWrapping/medcoupling.i
Salome HOME
bos #42837: shape recognition - ensure compilation on different os
[tools/medcoupling.git] / src / PyWrapping / medcoupling.i
1 // Copyright (C) 2017-2024  CEA, EDF
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19
20 // Author : Anthony Geay (EDF R&D)
21
22 %module medcoupling
23
24 #define MEDCOUPLINGREMAPPER_EXPORT
25 #define INTERPKERNEL_EXPORT
26 #define MEDCOUPLING_EXPORT
27 #define MEDLOADER_EXPORT
28
29 %include "MEDCouplingCommon.i"
30
31 %include "MEDCouplingRemapperCommon.i"
32
33 %include "ICoCoMEDField.i"
34
35 #ifdef WITH_MED_FILE
36 %include "MEDLoaderCommon.i"
37 #endif
38
39 #ifdef WITH_RENUMBER
40 %include "MEDRenumberImpl.i"
41 #endif
42
43 #ifdef WITH_PARTITIONER
44 %include "MEDPartitionerCommon.i"
45 #endif
46
47 #ifdef WITH_PARALLEL_INTERPOLATOR
48 %include "ParaMEDMEMCommon.i"
49 #endif
50
51 #ifdef WITH_SHAPE_RECOGN
52 %include "ShapeRecognCommon.i"
53 #endif
54
55 %constant const char __version__[]=MEDCOUPLING_GIT_SHA1;
56 %constant const char __config_datetime__[]=MEDCOUPLING_CONFIG_DT;
57
58 %{
59   static const char SEQ_INTERPOL_EXT[]="Sequential interpolator";
60   static const char MEDFILEIO_EXT[]="MED file I/O";
61   static const char RENUM_EXT[]="Renumberer";
62   static const char PART_EXT[]="Partitioner";
63   static const char PAR_INTERPOL_EXT[]="Parallel interpolator (SPMD paradigm)";
64   static const char IT_STATS_EXT[]="Iterative statistics";
65   static const char SHAPE_RECOGNITION_EXT[]="Shape Recognition";
66
67   static const char *EXTENSIONS[]={SEQ_INTERPOL_EXT,MEDFILEIO_EXT,RENUM_EXT,PART_EXT,PAR_INTERPOL_EXT,IT_STATS_EXT,SHAPE_RECOGNITION_EXT};
68   static const int NB_OF_EXTENSIONS=sizeof(EXTENSIONS)/sizeof(const char *);
69 %}
70
71 %inline
72 {
73   std::vector<std::string> AllPossibleExtensions()
74   {
75     std::vector<std::string> ret(EXTENSIONS,EXTENSIONS+NB_OF_EXTENSIONS);
76     return ret;
77   }
78
79   bool HasMEDFileExt()
80   {
81 #ifdef WITH_MED_FILE
82     return true;
83 #else
84     return false;
85 #endif
86   }
87
88   bool HasRenumberExt()
89   {
90 #ifdef WITH_RENUMBER
91     return true;
92 #else
93     return false;
94 #endif
95   }
96
97   bool HasPartitionerExt()
98   {
99 #ifdef WITH_PARTITIONER
100     return true;
101 #else
102     return false;
103 #endif
104   }
105
106   bool HasScotchPartitionerAlg()
107   {
108 #ifdef WITH_PARTITIONER
109     return MEDPartitioner::HasScotchAlg();
110 #else
111     return false;
112 #endif    
113   }
114
115   bool HasPTScotchPartitionerAlg()
116   {
117 #ifdef WITH_PARTITIONER
118     return MEDPartitioner::HasPTScotchAlg();
119 #else
120     return false;
121 #endif    
122   }
123
124   bool HasMetisPartitionerAlg()
125   {
126 #ifdef WITH_PARTITIONER
127     return MEDPartitioner::HasMetisAlg();
128 #else
129     return false;
130 #endif    
131   }
132   
133   bool HasParallelInterpolatorExt()
134   {
135 #ifdef WITH_PARALLEL_INTERPOLATOR
136     return true;
137 #else
138     return false;
139 #endif
140   }
141   
142   bool HasIterativeStatisticsExt()
143   {
144 #ifdef WITH_ITERATIVE_STATISTICS
145     return true;
146 #else
147     return false;
148 #endif
149   }
150
151   bool HasShapeRecognitionExt()
152   {
153 #ifdef WITH_SHAPE_RECOGN
154     return true;
155 #else
156     return false;
157 #endif
158   }
159   
160   std::vector<std::string> ActiveExtensions()
161   {
162     std::vector<std::string> ret;
163     ret.push_back(std::string(SEQ_INTERPOL_EXT));
164 #ifdef WITH_MED_FILE
165     ret.push_back(std::string(MEDFILEIO_EXT));
166 #endif
167 #ifdef WITH_RENUMBER
168     ret.push_back(std::string(RENUM_EXT));
169 #endif
170 #ifdef WITH_PARTITIONER
171     ret.push_back(std::string(PART_EXT));
172 #endif
173 #ifdef WITH_PARALLEL_INTERPOLATOR
174     ret.push_back(std::string(PAR_INTERPOL_EXT));
175 #endif
176 #ifdef WITH_ITERATIVE_STATISTICS
177     ret.push_back(std::string(IT_STATS_EXT));
178 #endif
179 #ifdef WITH_SHAPE_RECOGN
180     ret.push_back(std::string(SHAPE_RECOGNITION_EXT));
181 #endif
182     return ret;
183   }
184 }
185
186 %pythoncode %{
187 def MEDCouplingDataArrayDoubleIadd(self,*args):
188     import _medcoupling
189     return _medcoupling.DataArrayDouble____iadd___(self, self, *args)
190 def MEDCouplingDataArrayDoubleIsub(self,*args):
191     import _medcoupling
192     return _medcoupling.DataArrayDouble____isub___(self, self, *args)
193 def MEDCouplingDataArrayDoubleImul(self,*args):
194     import _medcoupling
195     return _medcoupling.DataArrayDouble____imul___(self, self, *args)
196 def MEDCouplingDataArrayDoubleIdiv(self,*args):
197     import _medcoupling
198     return _medcoupling.DataArrayDouble____idiv___(self, self, *args)
199 def MEDCouplingDataArrayDoubleIpow(self,*args):
200     import _medcoupling
201     return _medcoupling.DataArrayDouble____ipow___(self, self, *args)
202 def MEDCouplingFieldDoubleIadd(self,*args):
203     import _medcoupling
204     return _medcoupling.MEDCouplingFieldDouble____iadd___(self, self, *args)
205 def MEDCouplingFieldDoubleIsub(self,*args):
206     import _medcoupling
207     return _medcoupling.MEDCouplingFieldDouble____isub___(self, self, *args)
208 def MEDCouplingFieldDoubleImul(self,*args):
209     import _medcoupling
210     return _medcoupling.MEDCouplingFieldDouble____imul___(self, self, *args)
211 def MEDCouplingFieldDoubleIdiv(self,*args):
212     import _medcoupling
213     return _medcoupling.MEDCouplingFieldDouble____idiv___(self, self, *args)
214 def MEDCouplingFieldDoubleIpow(self,*args):
215     import _medcoupling
216     return _medcoupling.MEDCouplingFieldDouble____ipow___(self, self, *args)
217 def MEDCouplingDataArrayInt32Iadd(self,*args):
218     import _medcoupling
219     return _medcoupling.DataArrayInt32____iadd___(self, self, *args)
220 def MEDCouplingDataArrayInt32Isub(self,*args):
221     import _medcoupling
222     return _medcoupling.DataArrayInt32____isub___(self, self, *args)
223 def MEDCouplingDataArrayInt32Imul(self,*args):
224     import _medcoupling
225     return _medcoupling.DataArrayInt32____imul___(self, self, *args)
226 def MEDCouplingDataArrayInt32Idiv(self,*args):
227     import _medcoupling
228     return _medcoupling.DataArrayInt32____idiv___(self, self, *args)
229 def MEDCouplingDataArrayInt32Imod(self,*args):
230     import _medcoupling
231     return _medcoupling.DataArrayInt32____imod___(self, self, *args)
232 def MEDCouplingDataArrayInt32Ipow(self,*args):
233     import _medcoupling
234     return _medcoupling.DataArrayInt32____ipow___(self, self, *args)
235 def MEDCouplingDataArrayInt64Iadd(self,*args):
236     import _medcoupling
237     return _medcoupling.DataArrayInt64____iadd___(self, self, *args)
238 def MEDCouplingDataArrayInt64Isub(self,*args):
239     import _medcoupling
240     return _medcoupling.DataArrayInt64____isub___(self, self, *args)
241 def MEDCouplingDataArrayInt64Imul(self,*args):
242     import _medcoupling
243     return _medcoupling.DataArrayInt64____imul___(self, self, *args)
244 def MEDCouplingDataArrayInt64Idiv(self,*args):
245     import _medcoupling
246     return _medcoupling.DataArrayInt64____idiv___(self, self, *args)
247 def MEDCouplingDataArrayInt64Imod(self,*args):
248     import _medcoupling
249     return _medcoupling.DataArrayInt64____imod___(self, self, *args)
250 def MEDCouplingDataArrayInt64Ipow(self,*args):
251     import _medcoupling
252     return _medcoupling.DataArrayInt64____ipow___(self, self, *args)
253 def MEDCouplingDataArrayFloatIadd(self,*args):
254     import _medcoupling
255     return _medcoupling.DataArrayFloat____iadd___(self, self, *args)
256 def MEDCouplingDataArrayFloatIsub(self,*args):
257     import _medcoupling
258     return _medcoupling.DataArrayFloat____isub___(self, self, *args)
259 def MEDCouplingDataArrayFloatImul(self,*args):
260     import _medcoupling
261     return _medcoupling.DataArrayFloat____imul___(self, self, *args)
262 def MEDCouplingDataArrayFloatIdiv(self,*args):
263     import _medcoupling
264     return _medcoupling.DataArrayFloat____idiv___(self, self, *args)
265 def MEDCouplingDataArrayDoubleTupleIadd(self,*args):
266     import _medcoupling
267     return _medcoupling.DataArrayDoubleTuple____iadd___(self, self, *args)
268 def MEDCouplingDataArrayDoubleTupleIsub(self,*args):
269     import _medcoupling
270     return _medcoupling.DataArrayDoubleTuple____isub___(self, self, *args)
271 def MEDCouplingDataArrayDoubleTupleImul(self,*args):
272     import _medcoupling
273     return _medcoupling.DataArrayDoubleTuple____imul___(self, self, *args)
274 def MEDCouplingDataArrayDoubleTupleIdiv(self,*args):
275     import _medcoupling
276     return _medcoupling.DataArrayDoubleTuple____idiv___(self, self, *args)
277 def MEDCouplingDataArrayInt32TupleIadd(self,*args):
278     import _medcoupling
279     return _medcoupling.DataArrayInt32Tuple____iadd___(self, self, *args)
280 def MEDCouplingDataArrayInt32TupleIsub(self,*args):
281     import _medcoupling
282     return _medcoupling.DataArrayInt32Tuple____isub___(self, self, *args)
283 def MEDCouplingDataArrayInt32TupleImul(self,*args):
284     import _medcoupling
285     return _medcoupling.DataArrayInt32Tuple____imul___(self, self, *args)
286 def MEDCouplingDataArrayInt32TupleIdiv(self,*args):
287     import _medcoupling
288     return _medcoupling.DataArrayInt32Tuple____idiv___(self, self, *args)
289 def MEDCouplingDataArrayInt32TupleImod(self,*args):
290     import _medcoupling
291     return _medcoupling.DataArrayInt32Tuple____imod___(self, self, *args)
292 def MEDCouplingDataArrayInt64TupleIadd(self,*args):
293     import _medcoupling
294     return _medcoupling.DataArrayInt64Tuple____iadd___(self, self, *args)
295 def MEDCouplingDataArrayInt64TupleIsub(self,*args):
296     import _medcoupling
297     return _medcoupling.DataArrayInt64Tuple____isub___(self, self, *args)
298 def MEDCouplingDataArrayInt64TupleImul(self,*args):
299     import _medcoupling
300     return _medcoupling.DataArrayInt64Tuple____imul___(self, self, *args)
301 def MEDCouplingDataArrayInt64TupleIdiv(self,*args):
302     import _medcoupling
303     return _medcoupling.DataArrayInt64Tuple____idiv___(self, self, *args)
304 def MEDCouplingDataArrayInt64TupleImod(self,*args):
305     import _medcoupling
306     return _medcoupling.DataArrayInt64Tuple____imod___(self, self, *args)
307 def MEDCouplingDenseMatrixIadd(self,*args):
308     import _medcoupling
309     return _medcoupling.DenseMatrix____iadd___(self, self, *args)
310 def MEDCouplingDenseMatrixIsub(self,*args):
311     import _medcoupling
312     return _medcoupling.DenseMatrix____isub___(self, self, *args)
313 %}
314
315 %include "MEDCouplingFinalize.i"
316
317 #ifdef WITH_MED_FILE
318 %include "MEDLoaderFinalize.i"
319 #endif
320
321 %include "medcoupling_pycode"
322