[Paraview] Whole extend issue

David E DeMarle dave.demarle at kitware.com
Tue Nov 29 09:45:31 EST 2011


Try adding the executive tag the the xml for the reader. I am guessing
ParaView is replacing your executive with the compositedatapipeline
when it instantiates it.

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



On Mon, Nov 14, 2011 at 12:22 PM, Fred Fred <stan1313 at hotmail.fr> wrote:
> Ok but I suppose I don't do it as I should because
> the CopyDefaultInformation() is never executed.
>
> I put these lines at the beginning of my class constructor:
> {
>   vtkMyStreamingDemandDrivenPipeline *executive =
> vtkMyStreamingDemandDrivenPipeline::New();
>   this->SetExecutive(executive);
>   ...
>
> and I make a printf here:
>
> //----------------------------------------------------------------------------
> void
> vtkMyStreamingDemandDrivenPipeline
> ::CopyDefaultInformation(vtkInformation* request, int direction,
>                          vtkInformationVector** inInfoVec,
>                          vtkInformationVector* outInfoVec)
> {
>   // Let the superclass copy first.
>   this->Superclass::CopyDefaultInformation(request, direction,
>                                            inInfoVec, outInfoVec);
>
>   if(request->Has(REQUEST_INFORMATION()))
>     {
>     if(this->GetNumberOfInputPorts() > 0)
>       {
>       // my stuff
>       }
>
>   for (int obj=0 ; obj<3 ; obj++) {
>     vtkInformation* outInfo = outInfoVec->GetInformationObject(obj);
>     int whole_ext[6];
>     outInfo->Get(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(),
> whole_ext);
>     printf("Executive: %d %d %d %d %d %d\n", whole_ext[0], whole_ext[1],
> whole_ext[2], whole_ext[3], whole_ext[4], whole_ext[5]);
>   }
>
>   ...
> }
>
> but nothing prints and I still get the same error.
>
>
>> From: dave.demarle at kitware.com
>> Date: Mon, 14 Nov 2011 10:31:27 -0500
>> Subject: Re: [Paraview] Whole extend issue
>> To: stan1313 at hotmail.fr
>> CC: paraview at paraview.org
>
>>
>> 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