-
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