[Paraview] Whole extend issue

David E DeMarle dave.demarle at kitware.com
Mon Nov 14 10:31:27 EST 2011


Looks to me like a bug/feature of the VTK pipeline. Apparently it
expects whole extents to be the same for all input structured data
sets.

See how just before vtkExecutive runs the algorithm's Request*()
methods in vtkExecutive::CallAlgorithm() it calls
CopyDefaultInformation(). In
vtkStreamingDemandDrivenPipeline::CopyDefaultInformation() copies the
first input's whole extent to all outputs.

You might get around this by making your own executive with it's own
CopyDefaultInformation().

The actual error comes later at the start of the RequestUpdateExtent()
pass when vtkStreamingDemandDrivenPipeline::VerifyOutputInformation()
happens.

David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909



On Sat, Nov 12, 2011 at 5:17 AM, Fred Fred <stan1313 at hotmail.fr> wrote:
> I really do not understand how PV/VTK works!
> I get this error:
> ERROR: In
> /usr/local/ParaView-3.10.1/VTK/Filtering/vtkStreamingDemandDrivenPipeline.cxx,
> line 882
> vtkPVPostFilterExecutive (0x12a1c6b00): The update extent specified in the
> information for output port 0 on algorithm vtkPVPostFilter(0x12a1c60c0) is 0
> 24 0 34 0 232, which is outside the whole extent 0 96 0 20 0 63.
> but if I print the values at the end of RequestData() I get different
> values:
>   int uExtent[6];
>
> this->GetExecutive()->GetOutputInformation(0)->Get(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(),
> uExtent);
>   printf("Extent: %d", uExtent[0]);
>   for (int i=1 ; i<5 ; i++) printf(" %d", uExtent[i]);
>   printf(" %d\n", uExtent[5]);
>
> this->GetExecutive()->GetOutputInformation(0)->Get(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT(),
> uExtent);
>   printf("Update: %d", uExtent[0]);
>   for (int i=1 ; i<5 ; i++) printf(" %d", uExtent[i]);
>   printf(" %d\n", uExtent[5]);
> prints:
> Extent: 0 24 0 34 0 232
> Update: 0 24 0 34 0 232
> Please help!
> ________________________________
> From: stan1313 at hotmail.fr
> To: paraview at paraview.org
> Date: Fri, 11 Nov 2011 12:08:24 +0100
> Subject: [Paraview] Whole extend issue
>
> Hello,
> I have a filter inherited from vtkUnstructuredGridAlgorithm, with 2 inputs
> of type vtkStructuredGrid and 3 outputs, 1 and 2 are just copies of the
> input and the third one is of type vtkUnstructuredGrid.
> I copy input0 to output0 like this:
>   vtkInformation *in0Info = inputVector[0]->GetInformationObject(0);
>   vtkStructuredGrid *in0 =
> vtkStructuredGrid::SafeDownCast(coarseInfo->Get(vtkDataObject::DATA_OBJECT()));
>   this->GetExecutive()->GetOutputData(0)->ShallowCopy(in0);
>   vtkInformation *in1Info = inputVector[1]->GetInformationObject(0);
>   vtkStructuredGrid *in1 =
> vtkStructuredGrid::SafeDownCast(coarseInfo->Get(vtkDataObject::DATA_OBJECT()));
>   this->GetExecutive()->GetOutputData(1)->ShallowCopy(in1);
> but I get this error:
> ERROR: In
> /usr/local/ParaView-3.10.1/VTK/Filtering/vtkStreamingDemandDrivenPipeline.cxx,
> line 882
> vtkPVPostFilterExecutive (0x12c3e58d0): The update extent specified in the
> information for output port 0 on algorithm vtkPVPostFilter(0x12c3e4e90) is 0
> 24 0 34 0 232, which is outside the whole extent 0 96 0 20 0 63.
> Actually 0 24 0 34 0 232 are the dimensions of input0 and 0 96 0 20 0 63 are
> the dimensions of input1.
> So I do not understand why extends of input1 are considered as the "whole
> extend" (BTW what is the "whole extend"? whole extend of the multblock
> dataset?)
>
> _______________________________________________ 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