Skip to content
Snippets Groups Projects
Commit 04d14cd7 authored by Dan Lipsa's avatar Dan Lipsa
Browse files

BUG #15662: vtkAppendPolyData does not remove UPDATE_EXTENT

For a pipeline as the following:

  // image0 image1 image2
  // dmcubes0 dmcubes1 dmcubes2
  // \          |       /
  // vtkAppendPolyData
  // mapper/actor
  // renderer

dmcubes is a discrete marching cubes alg.
The pipeline forwards UPDATE_EXTENT for all its inputs.
This results in the UPDATE_EXTENT from the first image being compared with the WHOLE_EXTENT of the
second image which results in a mismatch.

We fix this by letting downstream request a subset of connection 0, for connections >= 1
we send their WHOLE_EXTENT as UPDATE_EXTENT.
parent af1d1d69
Branches
Tags
No related merge requests found
......@@ -676,6 +676,18 @@ int vtkAppendPolyData::RequestUpdateExtent(vtkInformation *vtkNotUsed(request),
}
}
}
// Let downstream request a subset of connection 0, for connections >= 1
// send their WHOLE_EXTENT as UPDATE_EXTENT.
for (idx = 1; idx < numInputs; ++idx)
{
vtkInformation * inputInfo = inputVector[0]->GetInformationObject(idx);
if (inputInfo->Has(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT()))
{
int ext[6];
inputInfo->Get(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(), ext);
inputInfo->Set(vtkStreamingDemandDrivenPipeline::UPDATE_EXTENT(), ext, 6);
}
}
return 1;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment