[vtkusers] vtk and python - some questions.

Prabhu Ramachandran prabhu at aero.iitm.ernet.in
Wed Oct 25 02:14:27 EDT 2000


hi,

>>>>> "Chris" == Chris Myers <myers at tc.cornell.edu> writes:

    Chris> This is somewhat tangential to the main thread regarding
    Chris> VTK, Python and SWIG, but it is related.

<snip>

    Chris> Has anybody thought about such things, or how they might be
    Chris> made to work?

        Well, if the python wrappers were perfect, this would never be
a problem. :) I think using py_cpp is a step towards the goals you are
seeking.  this is because, if all of VTK were wrapped with py_cpp then
vtkUnstructured grid would be a proper python object and not only
could you pass it along to any function that requires a
vtkUnstructuredGrid you could also derive a sub class and pass an
instance of the subclass!!  Imagine the number of cool things you
could do.

        OTOH if you had a contributed c++ class that you want to use
from python you could still wrap it using py_cpp and then expose just
that class and use it with the rest of the python classes.

        Hopefully, it should not be too hard to use py_cpp.  It
certainly looks interesting and is well worth the effort.  Let me see
if I can find some time soon. :)

    Chris> P.S.  Having looked at the VTK introspection code that
    Chris> Prabhu wrote to implement his VTK-CFD, I can understand his
    Chris> frustration with the lack of certain features in the
    Chris> Python/VTK interface.  SWIG-wrapped objects can be
    Chris> examined, for example, through the __class__ and __bases__
    Chris> attributes, to reconstruct available methods for those
    Chris> objects.  I dug around in the Python/C API a bit trying to

        There are positive things to what I had to do.  I learnt
regexp's while building vtkPipeline.py. ;) Besides the current
wrappings do allow one to do quite a bit (with a little imagination).
The only thing is that vtk objects behave strangely at times.  Most of
the functions work, except for wierd Segfaults which I have to trap
with dirty hacks.

    Chris> understand this better when Prabhu was asking a few months
    Chris> ago about introspection-related matters, but I don't recall
    Chris> reaching any real conclusions.  Are there attributes of
    Chris> python objects that could be incorporated into the existing
    Chris> VTK/Python wrappers without introducing too much extra
    Chris> code?

        Well, IMHO, the pipeline browser for python works well.  So I
really cannot blame the python wrappers.  But there is scope for some
fantastic improvements with the wrappers.  I sincerely hope I can be
part of those improvements. :)

        Actually, if we do improve the python wrappers, the pipeline
browser would really suffer and I'd have to rewrite the parser engine.
But that shouldnt be too hard.

prabhu




More information about the vtkusers mailing list