VTK/Information Keys

From KitwarePublic
Revision as of 14:27, 18 December 2009 by Utkarsh (talk | contribs) (New page: <font color="green"> This page is under construction. This should eventually gather documentation for all keys used by VTK pipeline</font> ==Fast Path Related Keys== Fast path mechanism ...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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

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.

> vtkInformationIntegerKey* vtkStreamingDemandDrivenPipeline::FAST_PATH_FOR_TEMPORAL_DATA(); 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.

> vtkInformationStringKey* vtkStreamingDemandDrivenPipeline:: FAST_PATH_OBJECT_TYPE(); 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.

> vtkInformationStringKey* vtkStreamingDemandDrivenPipeline:: FAST_PATH_ID_TYPE() 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.

> vtkInformationIdTypeKey* vtkStreamingDemandDrivenPipeline:: FAST_PATH_OBJECT_ID() 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.