1 // $Header: /var/cvs/mbdyn/mbdyn/mbdyn-1.0/libraries/libmbc/mbc_py_global.i,v 1.11 2017/01/12 14:43:43 masarati Exp $
2 //
3 // MBDyn (C) is a multibody analysis code.
4 // http://www.mbdyn.org
5 //
6 // Copyright (C) 1996-2017
7 //
8 // Pierangelo Masarati	<masarati@aero.polimi.it>
9 // Paolo Mantegazza	<mantegazza@aero.polimi.it>
10 //
11 // Dipartimento di Ingegneria Aerospaziale - Politecnico di Milano
12 // via La Masa, 34 - 20156 Milano, Italy
13 // http://www.aero.polimi.it
14 //
15 // Changing this copyright notice is forbidden.
16 //
17 // This program is free software; you can redistribute it and/or modify
18 // it under the terms of the GNU General Public License as published by
19 // the Free Software Foundation (version 2 of the License).
20 //
21 //
22 // This program is distributed in the hope that it will be useful,
23 // but WITHOUT ANY WARRANTY; without even the implied warranty of
24 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25 // GNU General Public License for more details.
26 //
27 // You should have received a copy of the GNU General Public License
28 // along with this program; if not, write to the Free Software
29 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
30 //
31 
32 %typemap(varout) unsigned *mbc_r_k_label
33 {
34         if ($1 == NULL) {
35                 $result = Py_None;
36         } else {
37                 PyArrayObject *tmp;
38                 int dims[1];
39                 dims[0] = mbc_r_k_label_size;
40                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_UINT,(char *)$1);
41                 $result = (PyObject *)tmp;
42         }
43 }
44 
45 %typemap(varin) double *mbc_r_k_label
46 {
47         Py_INCREF($input);
48         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
49         if ($1 == NULL) goto fail;
50 }
51 
52 %typemap(varout) double *mbc_r_x
53 {
54         if ($1 == NULL) {
55                 $result = Py_None;
56         } else {
57                 PyArrayObject *tmp;
58                 int dims[1];
59                 dims[0] = mbc_r_x_size;
60                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
61                 $result = (PyObject *)tmp;
62         }
63 }
64 
65 %typemap(varin) double *mbc_r_x
66 {
67         Py_INCREF($input);
68         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
69         if ($1 == NULL) goto fail;
70 }
71 
72 %typemap(varout) double *mbc_r_theta
73 {
74         if ($1 == NULL) {
75                 $result = Py_None;
76         } else {
77                 PyArrayObject *tmp;
78                 int dims[1];
79                 dims[0] = mbc_r_theta_size;
80                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
81                 $result = (PyObject *)tmp;
82         }
83 }
84 
85 %typemap(varin) double *mbc_r_theta
86 {
87         Py_INCREF($input);
88         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
89         if ($1 == NULL) goto fail;
90 }
91 
92 %typemap(varout) double *mbc_r_r
93 {
94         if ($1 == NULL) {
95                 $result = Py_None;
96         } else {
97                 PyArrayObject *tmp;
98                 int dims[1];
99                 dims[0] = mbc_r_r_size;
100                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
101                 $result = (PyObject *)tmp;
102         }
103 }
104 
105 %typemap(varin) double *mbc_r_r
106 {
107         Py_INCREF($input);
108         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
109         if ($1 == NULL) goto fail;
110 }
111 
112 %typemap(varout) double *mbc_r_euler_123
113 {
114         if ($1 == NULL) {
115                 $result = Py_None;
116         } else {
117                 PyArrayObject *tmp;
118                 int dims[1];
119                 dims[0] = mbc_r_euler_123_size;
120                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
121                 $result = (PyObject *)tmp;
122         }
123 }
124 
125 %typemap(varin) double *mbc_r_euler_123
126 {
127         Py_INCREF($input);
128         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
129         if ($1 == NULL) goto fail;
130 }
131 
132 %typemap(varout) double *mbc_r_xp
133 {
134         if ($1 == NULL) {
135                 $result = Py_None;
136         } else {
137                 PyArrayObject *tmp;
138                 int dims[1];
139                 dims[0] = mbc_r_xp_size;
140                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
141                 $result = (PyObject *)tmp;
142         }
143 }
144 
145 %typemap(varin) double *mbc_r_xp
146 {
147         Py_INCREF($input);
148         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
149         if ($1 == NULL) goto fail;
150 }
151 
152 %typemap(varout) double *mbc_r_omega
153 {
154         if ($1 == NULL) {
155                 $result = Py_None;
156         } else {
157                 PyArrayObject *tmp;
158                 int dims[1];
159                 dims[0] = mbc_r_omega_size;
160                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
161                 $result = (PyObject *)tmp;
162         }
163 }
164 
165 %typemap(varin) double *mbc_r_omega
166 {
167         Py_INCREF($input);
168         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
169         if ($1 == NULL) goto fail;
170 }
171 
172 %typemap(varout) double *mbc_r_xpp
173 {
174         if ($1 == NULL) {
175                 $result = Py_None;
176         } else {
177                 PyArrayObject *tmp;
178                 int dims[1];
179                 dims[0] = mbc_r_xpp_size;
180                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
181                 $result = (PyObject *)tmp;
182         }
183 }
184 
185 %typemap(varin) double *mbc_r_xpp
186 {
187         Py_INCREF($input);
188         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
189         if ($1 == NULL) goto fail;
190 }
191 
192 %typemap(varout) double *mbc_r_omegap
193 {
194         if ($1 == NULL) {
195                 $result = Py_None;
196         } else {
197                 PyArrayObject *tmp;
198                 int dims[1];
199                 dims[0] = mbc_r_omegap_size;
200                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
201                 $result = (PyObject *)tmp;
202         }
203 }
204 
205 %typemap(varin) double *mbc_r_omegap
206 {
207         Py_INCREF($input);
208         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
209         if ($1 == NULL) goto fail;
210 }
211 
212 %typemap(varout) unsigned *mbc_r_d_label
213 {
214         if ($1 == NULL) {
215                 $result = Py_None;
216         } else {
217                 PyArrayObject *tmp;
218                 int dims[1];
219                 dims[0] = mbc_r_d_label_size;
220                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_UINT,(char *)$1);
221                 $result = (PyObject *)tmp;
222         }
223 }
224 
225 %typemap(varin) double *mbc_r_d_label
226 {
227         Py_INCREF($input);
228         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
229         if ($1 == NULL) goto fail;
230 }
231 
232 %typemap(varout) double *mbc_r_f
233 {
234         if ($1 == NULL) {
235                 $result = Py_None;
236         } else {
237                 PyArrayObject *tmp;
238                 int dims[1];
239                 dims[0] = mbc_r_f_size;
240                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
241                 $result = (PyObject *)tmp;
242         }
243 }
244 
245 %typemap(varin) double *mbc_r_f
246 {
247         Py_INCREF($input);
248         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
249         if ($1 == NULL) goto fail;
250 }
251 
252 %typemap(varout) double *mbc_r_m
253 {
254         if ($1 == NULL) {
255                 $result = Py_None;
256         } else {
257                 PyArrayObject *tmp;
258                 int dims[1];
259                 dims[0] = mbc_r_m_size;
260                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
261                 $result = (PyObject *)tmp;
262         }
263 }
264 
265 %typemap(varin) double *mbc_r_m
266 {
267         Py_INCREF($input);
268         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
269         if ($1 == NULL) goto fail;
270 }
271 
272 %typemap(varout) unsigned *mbc_n_k_labels
273 {
274         if ($1 == NULL) {
275                 $result = Py_None;
276         } else {
277                 PyArrayObject *tmp;
278                 int dims[1];
279                 dims[0] =  mbc_n_k_labels_size;
280                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_UINT,(char *)$1);
281                 $result = (PyObject *)tmp;
282         }
283 }
284 
285 %typemap(varin) double *mbc_n_k_labels
286 {
287         Py_INCREF($input);
288         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
289         if ($1 == NULL) goto fail;
290 }
291 
292 %typemap(varout) double *mbc_n_x
293 {
294         if ($1 == NULL) {
295                 $result = Py_None;
296         } else {
297                 PyArrayObject *tmp;
298                 int dims[1];
299                 dims[0] = mbc_n_x_size;
300                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
301                 $result = (PyObject *)tmp;
302         }
303 }
304 
305 %typemap(varin) double *mbc_n_x
306 {
307         Py_INCREF($input);
308         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
309         if ($1 == NULL) goto fail;
310 }
311 
312 %typemap(varout) double *mbc_n_theta
313 {
314         if ($1 == NULL) {
315                 $result = Py_None;
316         } else {
317                 PyArrayObject *tmp;
318                 int dims[1];
319                 dims[0] = mbc_n_theta_size;
320                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
321                 $result = (PyObject *)tmp;
322         }
323 }
324 
325 %typemap(varin) double *mbc_n_theta
326 {
327         Py_INCREF($input);
328         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
329         if ($1 == NULL) goto fail;
330 }
331 
332 %typemap(varout) double *mbc_n_r
333 {
334         if ($1 == NULL) {
335                 $result = Py_None;
336         } else {
337                 PyArrayObject *tmp;
338                 int dims[1];
339                 dims[0] = mbc_n_r_size;
340                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
341                 $result = (PyObject *)tmp;
342         }
343 }
344 
345 %typemap(varin) double *mbc_n_r
346 {
347         Py_INCREF($input);
348         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
349         if ($1 == NULL) goto fail;
350 }
351 
352 %typemap(varout) double *mbc_n_euler_123
353 {
354         if ($1 == NULL) {
355                 $result = Py_None;
356         } else {
357                 PyArrayObject *tmp;
358                 int dims[1];
359                 dims[0] = mbc_n_euler_123_size;
360                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
361                 $result = (PyObject *)tmp;
362         }
363 }
364 
365 %typemap(varin) double *mbc_n_euler_123
366 {
367         Py_INCREF($input);
368         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
369         if ($1 == NULL) goto fail;
370 }
371 
372 %typemap(varout) double *mbc_n_xp
373 {
374         if ($1 == NULL) {
375                 $result = Py_None;
376         } else {
377                 PyArrayObject *tmp;
378                 int dims[1];
379                 dims[0] = mbc_n_xp_size;
380                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
381                 $result = (PyObject *)tmp;
382         }
383 }
384 
385 %typemap(varin) double *mbc_n_xp
386 {
387         Py_INCREF($input);
388         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
389         if ($1 == NULL) goto fail;
390 }
391 
392 %typemap(varout) double *mbc_n_omega
393 {
394         if ($1 == NULL) {
395                 $result = Py_None;
396         } else {
397                 PyArrayObject *tmp;
398                 int dims[1];
399                 dims[0] = mbc_n_omega_size;
400                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
401                 $result = (PyObject *)tmp;
402         }
403 }
404 
405 %typemap(varin) double *mbc_n_omega
406 {
407         Py_INCREF($input);
408         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
409         if ($1 == NULL) goto fail;
410 }
411 
412 %typemap(varout) double *mbc_n_xpp
413 {
414         if ($1 == NULL) {
415                 $result = Py_None;
416         } else {
417                 PyArrayObject *tmp;
418                 int dims[1];
419                 dims[0] = mbc_n_xpp_size;
420                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
421                 $result = (PyObject *)tmp;
422         }
423 }
424 
425 %typemap(varin) double *mbc_n_xpp
426 {
427         Py_INCREF($input);
428         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
429         if ($1 == NULL) goto fail;
430 }
431 
432 %typemap(varout) double *mbc_n_omegap
433 {
434         if ($1 == NULL) {
435                 $result = Py_None;
436         } else {
437                 PyArrayObject *tmp;
438                 int dims[1];
439                 dims[0] = mbc_n_omegap_size;
440                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
441                 $result = (PyObject *)tmp;
442         }
443 }
444 
445 %typemap(varin) double *mbc_n_omegap
446 {
447         Py_INCREF($input);
448         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
449         if ($1 == NULL) goto fail;
450 }
451 
452 %typemap(varout) unsigned *mbc_n_d_labels
453 {
454         if ($1 == NULL) {
455                 $result = Py_None;
456         } else {
457                 PyArrayObject *tmp;
458                 int dims[1];
459                 dims[0] =  mbc_n_d_labels_size;
460                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_UINT,(char *)$1);
461                 $result = (PyObject *)tmp;
462         }
463 }
464 
465 %typemap(varin) double *mbc_n_d_labels
466 {
467         Py_INCREF($input);
468         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
469         if ($1 == NULL) goto fail;
470 }
471 
472 %typemap(varout) double *mbc_n_f
473 {
474         if ($1 == NULL) {
475                 $result = Py_None;
476         } else {
477                 PyArrayObject *tmp;
478                 int dims[1];
479                 dims[0] = mbc_n_f_size;
480                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
481                 $result = (PyObject *)tmp;
482         }
483 }
484 
485 %typemap(varin) double *mbc_n_f
486 {
487         Py_INCREF($input);
488         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
489         if ($1 == NULL) goto fail;
490 }
491 
492 
493 %typemap(varout) double *mbc_n_m
494 {
495         if ($1 == NULL) {
496                 $result = Py_None;
497         } else {
498                 PyArrayObject *tmp;
499                 int dims[1];
500                 dims[0] = mbc_n_m_size;
501                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
502                 $result = (PyObject *)tmp;
503         }
504 }
505 
506 %typemap(varin) double *mbc_n_m
507 {
508         Py_INCREF($input);
509         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
510         if ($1 == NULL) goto fail;
511 }
512 
513 %typemap(varout) double *mbc_m_q
514 {
515         if ($1 == NULL) {
516                 $result = Py_None;
517         } else {
518                 PyArrayObject *tmp;
519                 int dims[1];
520                 dims[0] = mbc_m_q_size;
521                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
522                 $result = (PyObject *)tmp;
523         }
524 }
525 
526 %typemap(varin) double *mbc_m_q
527 {
528         Py_INCREF($input);
529         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
530         if ($1 == NULL) goto fail;
531 }
532 
533 %typemap(varout) double *mbc_m_qp
534 {
535         if ($1 == NULL) {
536                 $result = Py_None;
537         } else {
538                 PyArrayObject *tmp;
539                 int dims[1];
540                 dims[0] = mbc_m_qp_size;
541                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
542                 $result = (PyObject *)tmp;
543         }
544 }
545 
546 %typemap(varin) double *mbc_m_qp
547 {
548         Py_INCREF($input);
549         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
550         if ($1 == NULL) goto fail;
551 }
552 
553 %typemap(varout) double *mbc_m_p
554 {
555         if ($1 == NULL) {
556                 $result = Py_None;
557         } else {
558                 PyArrayObject *tmp;
559                 int dims[1];
560                 dims[0] = mbc_m_p_size;
561                 tmp = (PyArrayObject *)PyArray_FromDimsAndData(1,dims,PyArray_DOUBLE,(char *)$1);
562                 $result = (PyObject *)tmp;
563         }
564 }
565 
566 %typemap(varin) double *mbc_m_p
567 {
568         Py_INCREF($input);
569         $1 = ($1_basetype *)(((PyArrayObject *)$input)->data);
570         if ($1 == NULL) goto fail;
571 }
572 
573