[vtk-developers] UPDATE_EXTENT not updating after change to WHOLE_EXTENT

Bill McGrory mcgrory at aerosoftinc.com
Mon Jan 4 12:25:12 EST 2016


I think I am doing what you say should work.

My personal data outside of VTK changes as a result of a user requested 
change from say the fine representation to the coarse. That change 
triggers a someSource->Modified(). that seems to correctly trigger a 
call to RequestInformation on someSource, which is when I modify 
WHOLE_EXTENT().

What I see is that WHOLE_EXTENT correctly propagates downstream, 
however, there is no change to the UPDATE_EXTENT as a result of the 
WHOLE_EXTENT being reduced. So when  RequestUpdateExtent propagates back 
upstream, I get the error for it being out of range, with the 
WHOLE_EXTENT value being the new correct value. and UPDATE_EXTENT being 
the old value.

Note my error is triggered at someSource->RequestUpdateExtent()

Note the someFilterDownstream is a vtkGeometryFilter, and if I make a 
call to correct the UPDATE_EXTENT in the geometry filter to be in range 
WHOLE_EXTENT from vtkGeometryFilter::RequestUpdateExtent() then that 
fixes my bug, but this is only for vtkGeometryFilter, not a generic 
downstream filter.





On 01/04/2016 11:46 AM, Berk Geveci wrote:
> So when the WHOLE_EXTENT() changes, you tell the source/reader by 
> modifying it somehow? What I am trying to get to is whether or not 
> this works:
>
> someSource->SetNewData();
> someSource->Modified()
> someFilterDownstream->Update();
>
> someSource->SetNewData();
> someSource->Modified()
> someFilterDownstream->Update();
>
> I believe that as long as the source is modified after the 
> WHOLE_EXTENT() changes, update should work fine. Because this would 
> lead to RequestInformation() being called again, which is what 
> propagates the new WHOLE_EXTENT() downstream.
>
> Best,
> -berk
>
> On Mon, Jan 4, 2016 at 11:39 AM, Bill McGrory <mcgrory at aerosoftinc.com 
> <mailto:mcgrory at aerosoftinc.com>> wrote:
>
>     I  have a pipeline for displaying structured zones within a GUI.
>     These zone's have multiple grid refinement levels or sequences.
>     The beginning of the pipeline is a source which creates a
>     vtkStructuredGrid.
>
>     When I interactively change the sequence level the source gets a
>     call to update the pipeline where I need to change the
>     vtkStructuredGrid to represent a different sequence level (so my
>     grid grid dimensions will double or halve, for example)
>
>     This process worked (by accident perhaps) in versions of VTK prior
>     to 6.
>
>     Thanks
>     Bill
>
>
>
>     On 01/04/2016 11:08 AM, Berk Geveci wrote:
>>     Hey Bill,
>>
>>     The very short (and annoying) answer is that VTK does not
>>     currently support varying WHOLE_EXTENT().
>>
>>     However, there are ways of getting around this. But before I get
>>     into those, can you describe how/where you change the whole
>>     extent? As part of a time update? By setting some data member on
>>     the reader?
>>
>>     Best,
>>     -berk
>>
>>     On Wed, Dec 30, 2015 at 3:24 PM, Bill McGrory
>>     <mcgrory at aerosoftinc.com <mailto:mcgrory at aerosoftinc.com>> wrote:
>>
>>          I am having difficulty porting some code from VTK 5 to 6.
>>
>>         I have a custom algorithm for creating  a vtkStructuredGrid
>>         as the source for my pipeline, so my class inherits
>>         vtkStructuredGridAlgorithm
>>
>>         my pipeline simply connects the vtkStructuredGridAlgorithm to
>>         a vtkGeometryFilter which is mapped with a vtkPolyDataMapper
>>
>>         I want my source to correctly render a structured grid which
>>         changes dimensions dynamically within my application.
>>
>>         My problem is that  if I originally set up the grid with say
>>         extents of 0 --99, 0-->99, 0-->99, and then change the
>>         extents to 0--49, 0-49,0-49 through a call to Update, then I
>>         get a VTK error message from
>>
>>
>>         ERROR: In
>>         VTK-6.2.0/Common/ExecutionModel/vtkStreamingDemandDrivenPipeline.cxx,
>>         line 860
>>         vtkCompositeDataPipeline (0xb4561f0): The update extent
>>         specified in the information for output port 0 on algorithm
>>         SurfaceSNodeSource(0xb455750) is 0 80 0 32 0 0, which is
>>         outside the whole extent 0 40 0 16 0 0.
>>         (This is in VerifyOutputInformation) called before the
>>         RequestUpdateExtent for my algorithm.
>>
>>         I don't quite understand the propagation of the UPDATE_EXTENT
>>         information up the pipeline, but if I set the UPDATE_EXTENT
>>         to WHOLE_EXTENT
>>
>>         in vtkGeometryFilter::RequestUpdateExtent
>>
>>         then the error goes away.
>>         Also, at the time of calling
>>         vtkGeometryFilter::RequestUpdateExtent, the UPDATE_EXTENT is
>>         still set at the old value, while the WHOLE_EXTENT has been
>>         correctly updated/propagated from upstream.
>>
>>         Is this a bug, or do I need to change something in my
>>         vtkStructuredGridAlgorithm to cause the UPDATE_EXTENT to be
>>         reset at the origin downstream?
>>
>>         Thanks
>>
>>         Bill
>>         _______________________________________________
>>         Powered by www.kitware.com <http://www.kitware.com>
>>
>>         Visit other Kitware open-source projects at
>>         http://www.kitware.com/opensource/opensource.html
>>
>>         Search the list archives at:
>>         http://markmail.org/search/?q=vtk-developers
>>
>>         Follow this link to subscribe/unsubscribe:
>>         http://public.kitware.com/mailman/listinfo/vtk-developers
>>
>>
>
>     -- 
>     Dr. William D. McGrory    AeroSoft, Inc.
>     mcgrory at aerosoftinc.com <mailto:mcgrory at aerosoftinc.com>    Suite 1400
>     (540) 557-1904 <tel:%28540%29%20557-1904>             2000 Kraft Drive
>     (540) 557-1919 <tel:%28540%29%20557-1919>  (FAX)      Blacksburg, VA 24060
>
>

-- 
Dr. William D. McGrory    AeroSoft, Inc.
mcgrory at aerosoftinc.com   Suite 1400
(540) 557-1904            2000 Kraft Drive
(540) 557-1919 (FAX)      Blacksburg, VA 24060

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20160104/a9c650c4/attachment.html>


More information about the vtk-developers mailing list