|
Re: typemap for overloaded contructor: msg#00120programming.swig
> Sebastian Haase writes: > > Hi, > > I get > > TypeError: No matching function for overloaded 'new_PriismFile' > > > > I have these constructors: > > PriismFile(float *img3DStack, int nx, int ny, int nz); > > PriismFile(unsigned short *img3DStack, int nx, int ny, int nz); > > > > and these typemaps > > %typemap(python,in) (unsigned short *img3DStack, int nx, int ny, int nz) > > <...> > > %typemap(python,in) (float *img3DStack, int nx, int ny, int nz) <...> > > > > If I comment out any one of the two contructors it recognizes it fine, > > but as soon as I have more than one contructor I get the error. > > > > I'm not sure why you are defining typemaps like that. You do realize > that by defining a typemap in the way shown, you are collapsing all of > those arguments down so a single scripting language object. Yes? > In any event, the only way to make overloaded methods work with > typemaps is to write a bunch of typecheck rules that disambiguate > arguments. To see how to do that, look at the perl5.swg file in the > SWIG library. I convert (float *img3DStack, int nx, int ny, int nz) into one 3D-numarray (Numerical Python!) object representing the whole data stack of size nx x ny x nz. I am looking at python.swg right now, and I found the "Typechecking rules" section. But what is the actual syntax of "%typecheck" ? Is it documented anywhere ? I was trying : %typecheck(SWIG_TYPECHECK_SEB_PYARRAY) float * { $1 = PyArray_Check( $input ) ? 1 : 0; } But no success yet. ( SWIG actually complains about a syntax error) Can I put "(float *img3DStack, int nx, int ny, int nz)" instead of just "float *" ? Thanks for your help, Sebastian _______________________________________________ Swig maillist - Swig@xxxxxxxxxxxxxxx http://mailman.cs.uchicago.edu/mailman/listinfo/swig |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: newbie: loading' example' example in python: 00120, William S Fulton |
|---|---|
| Next by Date: | Re: typemap for overloaded contructor: 00120, Sebastian Haase |
| Previous by Thread: | typemap for overloaded contructori: 00120, David Beazley |
| Next by Thread: | Re: typemap for overloaded contructor: 00120, Sebastian Haase |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |