On 2013-12-12 11:09, Nicolas SAUBAT wrote: > I'm trying to bind to Python a C++ framework, called CamiTK > (http://camitk.imag.fr) which is based on Qt and VTK (http://www.vtk.org/). > For binding Qt C++ classes, no problem, we can tell Shiboken how to use > Qt in Python, thanks to the provided typesystem.xml files. > But I was wondering, how we can do the same stuff using VTK ?
Well. That's a good question. If you just want to generate bindings for VTK-based objects, VTK has its own wrapping system that will allow you to do that. (IME it's rather limited compared to Shiboken; no support for enums, STL containers, etc.) However, getting the two to talk to each other is likely to be an issue. What you would ultimately need to do, I think, is to be able to teach Shiboken how to get a vtkObject* from a PyObject. As far as the Shiboken architecture, I think you should be able to write custom converters for this. The problem comes with how VTK implements its conversions, which depends on having a pointer to the call arguments, which is not available in Shiboken. As such, I'm not sure that (at the C++ level) it is possible to get the vtkObject* from *just* a PyObject. TBH, I have the same problem and haven't solved it, except that I decided the best thing to do would be to rewrite VTK's wrapping to just use Shiboken and be done with it ;-). If you find a solution, please let me know. (If you can throw $$ at making VTK use Shiboken, please also let me know ;-).) Note that it's probably impossible to wrap a VTK-derived object with Shiboken in any useful way. -- Matthew _______________________________________________ PySide mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/pyside
