[Insight-developers] adding swig command to itk python wrapper

Gaetan Lehmann gaetan.lehmann at jouy.inra.fr
Tue Apr 12 07:39:49 EDT 2005


I really need help to begin this work.
I just need that somebody show me where I should insert swig commands, or  
what I'm doing wrong.
Please, help me ! :-)

Gaetan

On Wed, 06 Apr 2005 13:18:14 +0200, Gaetan Lehmann  
<gaetan.lehmann at jouy.inra.fr> wrote:

>
> Hi Bill,
>
> On Mon, 04 Apr 2005 18:40:54 +0200, William A. Hoffman  
> <billlist at nycap.rr.com> wrote:
>
>> You may have to remove all the
>> wrap_*Tcl.cxx from Wrapping/CSwig/*
>> There may be a missing depend on the itk.swg file, but
>> that would be the place to make the change.
>
> I can't make cableswig use swig commands. Perhaps can you help me ?
>
>
> My itk.swg file (using itk 2.0.1) :
>
> /* This is an itk-specific typemap used by CableSwig.  Also see comments
>   * and "throws" code in CableSwig.cxx.
>   *   -- Charl P. Botha <cpbotha AT ieee.org>
>   */
>
> #ifdef SWIGPYTHON
>
> /* ------------------------------------------------------------
>   * PyObject *  - Just pass straight through unmodified
>   * This is default behaviour for python.swg, but Cable passes
>   * a PyObject * through as a "p._object", so we redo the typemap
>   * ------------------------------------------------------------ */
>
> %typemap(in)   p._object "$1 = $input;";
> %typemap(out)  p._object "$result = $1;";
> %rename(__getitem__) itkIndex2::GetElement;
> #endif
>
> %include exception.i
>
> /* A "throws" attribute with the "std::exception" type is added  
> synthetically
>   * to each method node by CableSwig.cxx.  When gcc_xml starts passing  
> through
>   * correct throws types, this typemap could be optionally extended to
>   * account for more different types.  For now this is sufficient though.
>   */
>
> %typemap(throws) std::exception {
>     SWIG_exception(SWIG_RuntimeError, const_cast<char*>(_e.what()));
> }
>
> %include std_string.i
>
>
>
>
> I think that with this line :
>
> %rename(__getitem__) itkIndex2::GetElement;
>
> objects of itkIndex2 class should have a __getitem__ method and no  
> GetElement method. But it don't work, and I can't understand why.
>
>
> Gaetan
>
>>
>> -Bill
>>
>>
>> At 10:20 AM 4/4/2005, Gaetan Lehmann wrote:
>>
>>> Hi,
>>>
>>> I try to add a swig command to make itk more usable in python, but I  
>>> can't
>>> find where to add it.
>>> Currently, I only tried to add :
>>>
>>>        %rename(__getitem__) itkIndex2::operator[];
>>>
>>> to make index accessible with standard python list interface.
>>> I tried to add this in itk.swg (where python typemaps are defined),  
>>> but it
>>> seems that doing some changes in this file don't make make rebuild any
>>> file, so I'm not sure that this file is used somewhere.
>>> Can somebody tell me where I can add swig commands ?
>>>
>>> Regards,
>>>
>>> Gaetan
>>>
>>> --
>>> Gaetan Lehmann <gaetan.lehmann at jouy.inra.fr>
>>> Tel: +33 1 34 65 22 34
>>> Biologie du Développement et de la Reproduction
>>> INRA de Jouy-en-Josas (France)
>>> _______________________________________________
>>> Insight-developers mailing list
>>> Insight-developers at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>>
>
>
>



-- 
Gaetan Lehmann <gaetan.lehmann at jouy.inra.fr>
Tel: +33 1 34 65 29 66
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
 


More information about the Insight-developers mailing list