[vtk-developers] Clarification SetInput/GetOutput

Will Schroeder will.schroeder at kitware.com
Fri Aug 12 10:47:23 EDT 2005


I wanted to clarify a statement I made in an earlier email

>A bigger issue is the removal of f1->SetInput( f2->GetOutput() ) 
>methods in favor of the newer f1->SetInputConnection 
>(f2->GetOutputPort()). This has been mainly completed, but we have 
>more work to do. Dave and I are going to take an initial crack at 
>it. It will likely cause some test failures, so please be patient 
>while we try and clean this up.

I don't actually see these methods disappearing anytime soon, if 
ever. What I meant is that we want to remove most references to them 
from the examples and tests to demonstrate that the newer 
port/connection methods are preferred, and to expose some of the 
features that the new pipeline offers. For example, using 
f1->SetInput( f2->GetOutput() ) requires that the data types are 
known at the time of connection. This is a problem when you have a 
general reader that can produce a variety of outputs (the pipeline 
may have to be reformed each time the data is read). There are also 
advantages for supporting hierarchical data types (AMR), propagating 
information through the pipeline that the designers did not 
originally envision, and supporting different data flow models (push, 
pull, etc.). It also cleans the interaction between data and objects 
filters, separating most of the complexity of pipeline execution into 
other classes.

We are working on extensive documentation that will help the 
community understand the new pipeline features. I'm hopeful that this 
will help explain why we've shed so much blood on making these 
improvements. Sorry for the confusion,

Will 





More information about the vtk-developers mailing list