Timestep information not transferred by vtkPVGeometryFilter

I’ve found that for PV pipeline sources other than vtkPolyDatas, I cannot access the vtkDataObject::DATA_TIME_STEP() information in the corresponding vtkPolyData representation in the vtkRenderer. Therefore, I currently don’t see a way to access timestep information for an actor’s geometry in a custom vtkRenderer, in case the geometry doesn’t originate from a vtkPolyData source in the PV pipeline.

The problem here is the vtkPVGeometryFilter, which produces a vtkPolyData and hands it off to the vtkGeometryRepresentationMultiBlockMaker, which then copies this data as input to a vtkPolyDataMapper (accessible from the vtkRenderer). During creation of a vtkPolyData output from an input of any type other than vtkPolyData, such as an unstructured grid, the geometry filter fails to also copy over the information key, including the data_time_step. Such a copy only occurs when the source is a vtkPolyData, during the shallow copy in ::ExecutePolyData(). But for example ExecuteUnstructuredGrid() does not copy the information.

The fix would be to just add one line at the beginning of vtkPVGeometryFilter::ExecuteBlock(), like so:


or only copy over the vtkDataObject::DATA_TIME_STEP(). Is this possible/desirable?


PS, this issue looks similar to but not quite the same to what’s described here: Propagate information key downstream