Commit a5d091a6c0e4cfe6b40c9f9fc41c2baf6c9e0f1a
1 parent
e40e2904
Add typemap for automatic conversion of GOptimizer class
Showing
1 changed file
with
21 additions
and
0 deletions
pyext/ctlikelihood.i
| @@ -72,6 +72,27 @@ public: | @@ -72,6 +72,27 @@ public: | ||
| 72 | // arguments to GApplication constructor | 72 | // arguments to GApplication constructor |
| 73 | %include "argcargv.i" | 73 | %include "argcargv.i" |
| 74 | 74 | ||
| 75 | +/* __ Include interface classes __________________________________________ */ | ||
| 76 | +%import(module="gammalib.opt") "GOptimizer.i"; | ||
| 77 | + | ||
| 78 | +/* __ Typemaps ___________________________________________________________ */ | ||
| 79 | +%typemap(out) GOptimizer* { | ||
| 80 | + char classname[80]; | ||
| 81 | + strcpy(classname, "_p_"); | ||
| 82 | + strcat(classname, result->classname().c_str()); | ||
| 83 | + swig_type_info *myinfo = SWIGTYPE_p_GOptimizer; | ||
| 84 | + swig_cast_info *mycast = 0; | ||
| 85 | + mycast = myinfo->cast; | ||
| 86 | + while (mycast != 0) { | ||
| 87 | + if (strcmp(classname, mycast->type->name) == 0) { | ||
| 88 | + myinfo = mycast->type; | ||
| 89 | + break; | ||
| 90 | + } | ||
| 91 | + mycast = mycast->next; | ||
| 92 | + } | ||
| 93 | + $result = SWIG_NewPointerObj(SWIG_as_voidptr($1), myinfo, 0 | 0); | ||
| 94 | +} | ||
| 95 | + | ||
| 75 | 96 | ||
| 76 | /***********************************************************************//** | 97 | /***********************************************************************//** |
| 77 | * @class ctlikelihood | 98 | * @class ctlikelihood |