More Pythonic VTK wrapping

I have written an example based on WarpCombustor, it is working with no problems, but is there a better way of adding pipelines to a vtkAppendPolyData filter:

...
    pl3d_output = pl3d.output.GetBlock(0)

    # Planes are specified using a imin,imax, jmin,jmax, kmin,kmax coordinate
    # specification. Min and max i,j,k values are clamped to 0 and maximum value.
    planes = ((pl3d_output >> vtkStructuredGridGeometryFilter(extent=[10, 10, 1, 100, 1, 100])).update().output,
              (pl3d_output >> vtkStructuredGridGeometryFilter(extent=[30, 30, 1, 100, 1, 100])).update().output,
              (pl3d_output >> vtkStructuredGridGeometryFilter(extent=[45, 45, 1, 100, 1, 100])).update().output)

    # We use an append filter because, in that way, we can do the warping, etc. just using a single pipeline and actor.
    append_filter = vtkAppendPolyData()
    for plane in planes:
        append_filter.AddInputData(plane)

    # Warp and generate the normals.
    p = (
            append_filter
            >> vtkWarpScalar(use_normal=True, normal=[1.0, 0.0, 0.0], scale_factor=2.5)
            >> vtkPolyDataNormals(feature_angle=60)
    ).update().output
...