Fix vtkPlaneCutter's Memory Leak and CopyStructure issues
vtkPlaneCutter
now frees the sphere-trees if the input changes, and it can handle vtkUniformGridAMR
.
Additionally, vtkPlaneCutter
used to produce a vtkMultiPieceDataSet for each input (sub-)dataset. For
complex vtkMultiBlockDataSet
this led to CopyStructure issues. That's why now vtkAppendPolyData
is utilized to
merge the threaded results. Due to this change, the output type also changes as follows:
- If input type is
vtkMultiBlockDataSet
, the output type will bevtkMultiBlockDataSet
. - If input type is
vtkUniformGridAMR
, the output type will bevtkPartitionedDataSetCollection
. - If input type is
vtkPartitionedDataSetCollection
, the output type will bevtkPartitionedDataSetCollection
. - If input type is
vtkPartitionedDataSet
, the output type will bevtkPartitionedDataSet
. - If input type is
vtkDataSet
, the output type will bevtkPolyData
.
In the past, the output type was as follows:
- If input type is
vtkUniformGridAMR
orvtkMultiBlockDataSet
, the output type will bevtkMultiBlockDataSet
. - If input type is
vtkPartitionedDataSetCollection
, the output type will bevtkPartitionedDataSetCollection
. - If input type is
vtkDataSet
orvtkPartitionedDataSet
, the output type will bevtkPartitionedDataSet
.
This MR resolves issue paraview/paraview#21250 (closed).
Edited by Spiros Tsalikis