@citronella3alain this script works for me with vtk==9.5.0:
from vtkmodules.util.vtkAlgorithm import VTKPythonAlgorithmBase
from vtkmodules.vtkCommonDataModel import vtkDataAssemblyUtilities, vtkPartitionedDataSetCollection, vtkDataAssembly
from vtkmodules.vtkFiltersSources import vtkSphereSource
from vtkmodules.vtkFiltersGeneral import vtkGroupDataSetsFilter
from vtkmodules.vtkIOHDF import vtkHDFWriter
class vtkAddAssembly(VTKPythonAlgorithmBase):
def __init__(self):
super().__init__(
nInputPorts=1,
nOutputPorts=1,
inputType='vtkPartitionedDataSetCollection',
outputType='vtkPartitionedDataSetCollection'
)
def RequestData(self, request, inInfo, outInfo):
input_obj = vtkPartitionedDataSetCollection.GetData(inInfo[0])
output_obj = vtkPartitionedDataSetCollection.GetData(outInfo)
output_obj.ShallowCopy(input_obj)
hierarchy = vtkDataAssembly()
vtkDataAssemblyUtilities.GenerateHierarchy(input_obj, hierarchy, output_obj)
return 1
sphere = vtkSphereSource()
group = vtkGroupDataSetsFilter()
group.SetInputConnection(sphere.GetOutputPort())
add_assembly = vtkAddAssembly()
add_assembly.SetInputConnection(group.GetOutputPort())
writer = vtkHDFWriter()
writer.SetInputConnection(add_assembly.GetOutputPort())
writer.SetFileName("test.vtkhdf")
writer.SetWriteAllTimeSteps(True)
writer.Write()