In developing a Filter that takes a MultiBlockDataset as input I am having some issues with the extents that the pipeline gives versus the extents that the data sets within the Input MultiBlockDataset. The output from the filter is a vtkImageData object.

The datasets within the MultiBlockDataset all have extents of 0-188, 0-200, 0-0, yet if I have the following code:

vtkTypeInt32 updateExtent [ 6 ];
if (outInfo->Has(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT()))
{
updateExtent [ 0 ] = (outInfo- >Get(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT())) [ 0 ]; updateExtent [ 1 ] = (outInfo- >Get(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT())) [ 1 ]; updateExtent [ 2 ] = (outInfo- >Get(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT())) [ 2 ]; updateExtent [ 3 ] = (outInfo- >Get(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT())) [ 3 ]; updateExtent [ 4 ] = (outInfo- >Get(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT())) [ 4 ]; updateExtent [ 5 ] = (outInfo- >Get(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT())) [ 5 ];
}

I get "0 188 0 200 1 1" as the values for the "updateExtents" variable. This then plays havoc as I am trying to get the pointer to the front of each data set like this:

float* phiF = static_cast<float*>(phi- >GetScalarPointer(updateExtent[0], updateExtent[2], updateExtent[4]) );
 which then gives the error:

ERROR: In /Users/Shared/OpenSource/ParaView3/VTK/Filtering/ vtkImageData.cxx, line 1473 vtkImageData (0x22fb32b0): GetScalarPointer: Pixel (0, 0, 0) not in memory.
 Current extent= (0, 188, 0, 200, 1, 1)

For this filter I do NOT have a RequestInformation() method. I tried adding one and setting the outInfo- >Set( vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(), extents, 6 ); but that didn't help and in fact set the pipeline extents to 0, -1, 0, -1, 0, -1 instead.

I think my "Reader" class further up the pipeline might be setting something wrong? as I can use this filter from another "Reader" that reads the same type of data, but from an HDF5 file instead and the filter performs as expected. Or it is just lucky somehow and works.

Any insights would be most appreciated.

 This is with ParaView 3.6.2 running on OS X and Windows 7.
___________________________________________________________
Mike Jackson                      www.bluequartz.net
Principal Software Engineer       [email protected]
BlueQuartz Software               Dayton, Ohio


_______________________________________________
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

Reply via email to