• Utkarsh Ayachit's avatar
    Refactors AMR streaming framework. · 52c7392f
    Utkarsh Ayachit authored
    This commit refactors AMR streaming framework and add support for a mechanism
    for streaming composite datasets in general. To try out amr streaming, run all
    executables with "--enable-streaming" flag and open an AMR Flash or Enzo dataset
    and render as "AMR Blocks" or "Volume" (currently, only works in builtin mode,
    but will be supported in other modes soon).
    
    vtkAMROutlineRepresentation is a example class that demonstrates how a
    representation can leverage the streaming capabailities provided by
    vtkPVRenderView.
    
    vtkPVRenderView adds support to two new passes: REQUEST_STREAMING_UPDATE() and
    REQUEST_PROCESS_STREAMED_PIECE().  REQUEST_STREAMING_UPDATE() is a view pass in
    which the representations can update their data pipelines to request a certain
    "piece" of the data. REQUEST_PROCESS_STREAMED_PIECE() is called on
    representations to handle a "piece" just received by the process. This
    separation makes it possible for representations to be agnostic of where the
    data is processed and where it is rendered. It's the reposibility of the view
    (vtkPVDataDeliveryManager in particular) to deliver the data to the
    rendering nodes.
    
    vtkPVDataDeliveryManager doesn't currently support data delivery for streamed
    pieces, however. That's on the TODO list.
    52c7392f
vtkPVDataDeliveryManager.cxx 25.3 KB