[vtk-developers] Porting from VTK to ParaView

David E DeMarle dave.demarle at kitware.com
Thu Jul 9 12:20:05 EDT 2009


Hi Randall,

Sorry this response languished for so long. I just noticed it in my do
not forget list.

> Is there a guide on porting from VTK to ParaView?  I need to preserve my
> functionality in the process, so I'm looking for somewhere between a
> "Getting started with ParaView Programming", (which I'll need as well) and a
> direct list of VTK-to-ParaView conversions.  I know I'll need to add some
> extra stuff for the MPI, but the first step is just getting from VTK to PV,
> right?

I am not aware of a guide or a list of vtk-to-paraview conversions. So
I will try to quickly summarize.

On the server side, ParaView IS vtk. What I mean is that it is trivial
to use vtk objects from within ParaView. Write an XML file that tells
ParaView what the class name is and what methods are callable. In the
ParaView code look at Servers/ServerManager/Resources/filters.xml for
examples. You then get your code into ParaView either by editing the
source directly, writing an external module
(http://www.paraview.org/Wiki/Extending_ParaView_at_Compile_Time) or
preferably writing a plugin
(http://www.paraview.org/Wiki/Plugin_HowTo). When that is done
ParaView knows how to use the vtkObject and will instantiate it in
parallel or serial, remotely or locally, depending on the run time
configuration.

Algorithms work most efficiently if they respect the way extents are
specified in the streaming demand driven pipeline, and communicate
amongst themselves via MPI only in the RequestData method. See the
ParaView guide, chapter 21 for more details.

On the client side, things are slightly more complicated, because they
require a mix of vtk and Qt programming. I recommend looking at the
existing Plugin types which allow you to make fairly arbitrary
functional additions the existing Qt client. In the near future we
will have a new architecture which makes it easier to write custom
applications that take away or modify the Qt client's functionality.

hope that helps,

David E DeMarle
Kitware, Inc.
R&D Engineer
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x109



More information about the vtk-developers mailing list