From: Gregory P. <gre...@ya...> - 2008-07-07 18:12:47
|
I did some more research and hacking over the weekend and I think I have some more insight into the real issue. It does not appear to have anything to do with typemaps as I had thought. I created a small test class of my own in one of my own other wrapped modules that used an argument that was of a c++ type defined in my other module. The exact same thing happened. Other people with similar problems seem to think this has to do with the fact that one module cannot generally use the type information from another due to the fact that they are dynamically linked and loaded at runtime. Does anyone know how to fix this? I think I could do it by building a custom Python interpreter with all necessary modules statically linked in. I would prefer not to do this. - Greg --- On Sun, 7/6/08, Gregory Propf <gre...@ya...> wrote: From: Gregory Propf <gre...@ya...> Subject: [Swig-user] TypeError using vtkRenderer object in Python To: swi...@li... Date: Sunday, July 6, 2008, 12:29 PM I have a library that I wrote and am now wrapping. In one spot it uses the vtk visualization package to display some output. I have the following function and related Python code. The only problematical part is the *ren1 arg. Everything else, my library and vtk itself works fine in Python as long as you don't try to wrap one of *my* functions that uses a Python vtkRenderer object (which is itself a wrapped version of the vtk C++ object). Adding to the confusion here is that the function that's being wrapped is in C while the library that contains the GfUniverse class is in C++. I'm wondering if this is the whole problem in fact. Is SWIG getting confused by my mixed language use? I had meant to convert the C parts to C++ anyway but was sort of hoping to see results a bit sooner. Anyone ever see this kind of problem? The vtk wrappings appear to be hand coded or something, they're not SWIG anyway. - Greg c library: vtkvis_univ *new_vtkvis_univ(GfUniverse *univ, vtkRenderer *ren1, vtkvis_scaling_factors sf); Python: ren = vtk.vtkRenderer() renWin = vtk.vtkRenderWindow() renWin.AddRenderer(ren) iren = vtk.vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) u=GfUniverse() sf=new_vtkvis_scaling_factors() vis=new_vtkvis_univ(u, ren, sf) This results in the following error: exceptions.TypeError Traceback (most recent call last) /home/greg/WD/gforce-cmake/install/lib/testwrapper.py 12 u=GfUniverse() 13 sf=new_vtkvis_scaling_factors() ---> 14 vis=new_vtkvis_univ(u, ren, sf) 15 16 ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08_______________________________________________ Swig-user mailing list Swi...@li... https://lists.sourceforge.net/lists/listinfo/swig-user |