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

Bill McGrory mcgrory at aerosoftinc.com
Wed Dec 30 15:24:20 EST 2015


  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


More information about the vtk-developers mailing list