VTK/Information Keys

From KitwarePublic
< VTK
Jump to navigationJump to search

This page is under construction. This should eventually gather documentation for all keys used by VTK pipeline

Abbreviations:

  • SDDP: vtkStreamingDemandDrivenPipeline
  • DDP : vtkDemandDrivenPipeline

Fast Path Related Keys

Fast path mechanism is designed for providing some means for quickly accessing the data values associated with a cell or point over time instead of having to request the full dataset for each timestep and the pick the cell or point of interest.

SDDP::FAST_PATH_FOR_TEMPORAL_DATA() [vtkInformationIntegerKey]

A boolean (0, 1) value set in output information by a vtkAlgorithm subclass during RequestInformation() pass to indicate that the algorithm supports fast path.
All the other keys are set by consumers in RequestUpdateExtent() to request a particular cell or point from the input.

SDDP:: FAST_PATH_OBJECT_TYPE() [vtkInformationStringKey]

Set by consumer in input information during RequestUpdateExtent() pass to indicate the type of the item being requested i.e. "CELL" or "POINT". "Face"/"Edge" are mentioned, but not really supported.

SDDP:: FAST_PATH_ID_TYPE() [vtkInformationStringKey]

Used to indicate the index type i.e. GLOBAL ID or VTK id (local id). vtkExodusIIReader (the only reader supporting fast path) only supports GLOBAL ids.

SDDP:: FAST_PATH_OBJECT_ID()[vtkInformationIdTypeKey]

The actual id being requested.
When the reader finds all the 3 keys in the output information in RequestData() it should information about the requested cell/point in field data of the output. Simply put, vtkExodusIIReader simply adds arrays named "<ArrayName>OverTime" associated with each point (or cell) array for the point (or cell) and with number of tuples == number of timesteps in the dataset and values of the tuples == the value for the array at that point (or cell) for the corresponding timestep.

Currently used by:

  • vtkExodusIIReader
  • vtkExtractArraysOverTime

Note that the these keys are not propagated across filters. So if you put any other filter between vtkExodusIIReader and vtkExtractArraysOverTime, fast path cannot be used.