[vtk-developers] Changes to the execution model

Lorensen, William E (Research) lorensen at crd.ge.com
Tue Aug 10 21:46:02 EDT 2004


Will there be a review of the new execution model before it is cast in
concrete?

Bill

-----Original Message-----
From: Ken Martin [mailto:ken.martin at kitware.com]
Sent: Tuesday, August 10, 2004 4:27 PM
To: 'John Biddiscombe'; vtk-developers at vtk.org
Subject: RE: [vtk-developers] Changes to the execution model


Brad may have different answers since he did most of this work but here is
my cut at it:

> There's been a lot of activity in CVS recently with the new execution
> model
> going in. At some point soon(ish) I'd like to update my vtk and start
> getting all my filters working under the new framework.
> 
> Could anyone at kitware briefly let me (and the rest of us) know
> 
> 1) Will many user implemented filters require changes. Bearing in mind
> than
> in some cases I've made significant changes at the processobject level to
> handle my own DataObject types etc

Most user implemented filters will not require changes. We currently have
all of VTK running with the new pipeline and we had to modify maybe 5% of
the filters. Many of the filters that had to be modified were filters that
manipulate the data flow model such as vtkImageCacheFilter or vtkInputPort.
Some of the filters that had to be modified were "broken" anyhow. For
example vtkStructuredPointsReader did not have a working ExecuteInformation
so it's version of ExecuteInformation just called ExecuteData. Clearly not
the right behavior but it worked in the old pipeline. The new pipeline is a
bit more picky and verbose about bad filters. 

In your case having made significant changes to ProcessObject you are super
screwed in the short term, but super happy in the long term. The new
pipeline is designed so that new data types and processes can be added
without having to hack your own version of ProcessObject etc.

> 2) I have seen one document about the new execution model (Feb/Mar maybe),
> are there any guidelines/information for us to help us make the
> transition.
> Is there anything we need to know.

The new pipeline is not ready for other developers yet unless you are
interested in the pipeline mechanics or doing something the current pipeline
cannot. It is passing all the VTK tests (cool) but it is still an option.
Over the next few weeks Brad and I will be making it the only pipeline and
converting over some more filters to be using it directly. To be more
specific there is a backwards compatibility layer implemented in
vtkProcessObject and vtkSource that allows old filters to work with the new
pipeline. We want to convert more of VTK's filters to use the new pipeline
directly (without the backwards compatibility layer) before having too many
people jump on board. We will also release our HowToConvert documentation to
help others convert their own filters if they want to.

> 3) should we wait a bit longer before attempting to upgrade. If so, would
> someone at kitware take the time to post a little info and when the time
> is
> right, let us know that most of what's changing has changed and all will
> be
> well.

We will let y'all know. My guess is that it will be at least two weeks
before we remove the old pipeline. After removing the old pipeline we will
be able to yank a bunch of #ifdef code making the final result easier to
read through. To the best of our knowledge most Tcl/Python/Java scripts and
API level development should be unaffected or have a very small number of
minor changes. As an example I believe of the 500 or so tests in VTK I don't
think we had to modify more than one or two.

Thanks
Ken



_______________________________________________
vtk-developers mailing list
vtk-developers at vtk.org
http://www.vtk.org/mailman/listinfo/vtk-developers



More information about the vtk-developers mailing list