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