[Paraview] Algorithm causing reader RequestData when running
Paul Edwards
paul.m.edwards at gmail.com
Wed Mar 31 13:12:49 EDT 2010
Ah! I didn't know that and it fixes my problem. Now I need to check
all my other plugins.....
Thanks,
Paul
On 26 March 2010 15:46, Berk Geveci <berk.geveci at kitware.com> wrote:
> Burlen is correct.
>
> On Fri, Mar 26, 2010 at 11:30 AM, Burlen Loring <burlen.loring at gmail.com> wrote:
>> If I'm not mistaken, when creating a VTK pipeline inside of a PV filter, you
>> need to make a shallow copy of the input dataset in order to keep the PV
>> pipeline isolated as your VTK pipeline executes.
>>
>> Try making a shallow copy of "input" and passing that into
>> "extractBlockFilter", and see if it helps.
>>
>> Burlen
>>
>> Paul Edwards wrote:
>>>
>>> Hi,
>>>
>>> I am writing an algorithm to operate on a vtkMultiBlockDataSet where I
>>> would like to extract blocks depending on field data that is set.
>>> Internally in my algorithm I am using the vtkExtractBlock filter and
>>> when this is updated it causes the RequestData for my reader to be
>>> executed again. This doesn't happen when applying ExtractBlock in
>>> ParaView. Below I have included an example RequestData that causes
>>> the data to be reloaded (note: this only happens when running in
>>> parallel):
>>>
>>> 8<-----------------------------------------------------------------
>>> int vtkTestMulti::RequestData(
>>> vtkInformation* vtkNotUsed(request),
>>> vtkInformationVector** inputVector,
>>> vtkInformationVector* outputVector)
>>> {
>>>
>>> vtkInformation* inInfo = inputVector[0]->GetInformationObject(0);
>>> vtkMultiBlockDataSet* input = vtkMultiBlockDataSet::SafeDownCast(
>>> inInfo->Get(vtkDataObject::DATA_OBJECT()));
>>>
>>> vtkInformation* outInfo = outputVector->GetInformationObject(0);
>>> vtkMultiBlockDataSet* output = vtkMultiBlockDataSet::SafeDownCast(
>>> outInfo->Get(vtkDataObject::DATA_OBJECT()));
>>>
>>> VTK_CREATE(vtkExtractBlock, extractBlockFilter);
>>> extractBlockFilter->SetInput(input);
>>> extractBlockFilter->AddIndex(1);
>>> extractBlockFilter->Update();
>>> output->ShallowCopy(extractBlockFilter->GetOutput());
>>>
>>> return 1;
>>> }
>>> ----------------------------------------------------------------->8
>>>
>>> Can anyone see what I am doing wrong or provide any pointers for where to
>>> look?
>>>
>>> Thanks in advance,
>>> Paul
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the ParaView Wiki at:
>>> http://paraview.org/Wiki/ParaView
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.paraview.org/mailman/listinfo/paraview
>>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>
More information about the ParaView
mailing list