[vtkusers] CONTINUE_EXECUTING with multiple input ports

Biddiscombe, John A. biddisco at cscs.ch
Tue Sep 24 06:58:58 EDT 2013


Sia,

The continue executing implementation passes keys to all inputs AFAIK and if this is triggering both inputs to execute, then your only hope is to have a look inside the executive code and see if you can fix it. Ideally the continue executing would copy keys to the inputs and only trigger an update for the ones that need it (i.e. keys have changed), but if memory serves me, this was troublesome and if input 0 needed updating, input 1 got updated too. Particulary nasty if you want to update the time on one input/filter, but not the other.

[the alternative is to manually execute the filter input which you really want, rather than using the continue executing feature]

It's been a while since I've looked at the executive code so hopefully one of the kitware bunch will propose a solution.

JB

From: vtkusers-bounces at vtk.org [mailto:vtkusers-bounces at vtk.org] On Behalf Of Sunrise
Sent: 24 September 2013 05:26
To: VTK Users
Subject: [vtkusers] CONTINUE_EXECUTING with multiple input ports

I have a question regarding CONTINUE_EXECUTING request key when the filter has multiple input ports.

Let FilterA and Filter B each have one output port, and FilterC has two input ports. Assume output port of FilterA and also FilterB are connected to both input ports 0 and 1 of FilterC respectively. In FilterC::RequestData(...) something is changed so only one of the input sources of this filter (say FilterA, bot not FilterB) should re-execute. So I have

FilterC::RequestData(...){
...
if(change for FilterA needed)
{
request->Set(vtkStreamingDemandDrivenPipeline::CONTINUE_EXECUTING(),1);
return 0;
}
...
}

and the execution should go to FilterC::RequestUpdateExtent(...). How can I make the pipeline to only re-execute only FilterA, not FilterB and then return back to FilterC::RequestData(...)?

Thanks a lot.
- Sia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20130924/5165ecb6/attachment.htm>


More information about the vtkusers mailing list