<div dir="ltr">Try this,<div><br></div><div>In VTK >= 6.0, connect the writer to the output data produced by the pipeline instead of the algorithm's output port.<div>writer->SetInputData(filter->GetOutput())</div><div>instead of </div><div>writer->SetInputConnection(filter->GetOutputPort())</div><div>Than have your code call filter->Update(); writer->SetInputData(filter->GetOutput()); only when it needs to.</div><div><br></div></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature">David E DeMarle<br>Kitware, Inc.<br>R&D Engineer<br>21 Corporate Drive<br>Clifton Park, NY 12065-8662<br>Phone: 518-881-4909</div></div>
<br><div class="gmail_quote">On Mon, Apr 4, 2016 at 8:45 AM, Michael Bußler <span dir="ltr"><<a href="mailto:Michael.Bussler@visus.uni-stuttgart.de" target="_blank">Michael.Bussler@visus.uni-stuttgart.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="#0563C1" vlink="#954F72">
<div>
<p class="MsoNormal">Hi,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I have a question regarding the pipeline execution.<u></u><u></u></p>
<p class="MsoNormal">My pipeline consists of some computational heavy modules, which are at the end triggered by a writer module.<u></u><u></u></p>
<p class="MsoNormal">Now I want to prevent this pipeline to be executed, if the file, that is produced at the end, already exists.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">So far, I’ve tried to use RequestUpdateExtent() as it is called before RequestData() and I can get the time from outInfo:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">int vtkWritePolyData::RequestUpdateExtent(vtkInformation* request, vtkInformationVector** inputVector, vtkInformationVector* outputVector)<u></u><u></u></p>
<p class="MsoNormal">{<u></u><u></u></p>
<p class="MsoNormal">    vtkInformation *outInfo = outputVector->GetInformationObject(0);<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">    std::string timeStr;<u></u><u></u></p>
<p class="MsoNormal">    if( outInfo->Has(vtkStreamingDemandDrivenPipeline::UPDATE_TIME_STEP())) {<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">      if(checkFileExists(outInfo) )<u></u><u></u></p>
<p class="MsoNormal">      {<u></u><u></u></p>
<p class="MsoNormal">            request->Remove(vtkStreamingDemandDrivenPipeline::REQUEST_DATA());<u></u><u></u></p>
<p class="MsoNormal">            outInfo->Set(vtkDemandDrivenPipeline::REQUEST_DATA_NOT_GENERATED());<u></u><u></u></p>
<p class="MsoNormal">        }<u></u><u></u></p>
<p class="MsoNormal">    }<u></u><u></u></p>
<p class="MsoNormal">    return 1;<u></u><u></u></p>
<p class="MsoNormal">}<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">But the RequestData() method of my writer module is still being executed.
<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">How can I prevent the pipeline from being executed?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Best, Michael<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:black">--<br>
Michael Bußler, Dipl.-Inf. <br>
Visualization Research Center, Universität Stuttgart (VISUS) Allmandring 19<br>
70569 Stuttgart<br>
Germany<br>
<br>
mail:   <a href="mailto:michael.bussler@visus.uni-stuttgart.de" target="_blank">michael.bussler@visus.uni-stuttgart.de</a><br>
<br>
<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div>