VTK
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes
vtkStreamingDemandDrivenPipeline Class Reference

Executive supporting partial updates. More...

#include <vtkStreamingDemandDrivenPipeline.h>

Inheritance diagram for vtkStreamingDemandDrivenPipeline:
Inheritance graph
[legend]
Collaboration diagram for vtkStreamingDemandDrivenPipeline:
Collaboration graph
[legend]

List of all members.

Public Types

typedef vtkDemandDrivenPipeline Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkStreamingDemandDrivenPipelineNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
int PropagateUpdateExtent (int outputPort)
virtual int ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
virtual int Update ()
virtual int Update (int port)
virtual int UpdateWholeExtent ()
int PropagateTime (int outputPort)
int UpdateTimeDependentInformation (int outputPort)
int SetRequestExactExtent (int port, int flag)
int GetRequestExactExtent (int port)
int SetWholeBoundingBox (int port, double bb[6])
void GetWholeBoundingBox (int port, double bb[6])
doubleGetWholeBoundingBox (int port)
int SetPieceBoundingBox (int port, double bb[6])
void GetPieceBoundingBox (int port, double bb[6])
doubleGetPieceBoundingBox (int port)
double ComputePriority ()
virtual double ComputePriority (int port)

Static Public Member Functions

static
vtkStreamingDemandDrivenPipeline
New ()
static int IsTypeOf (const char *type)
static
vtkStreamingDemandDrivenPipeline
SafeDownCast (vtkObjectBase *o)
static vtkInformationRequestKeyREQUEST_UPDATE_EXTENT ()
static vtkInformationRequestKeyREQUEST_UPDATE_TIME ()
static vtkInformationRequestKeyREQUEST_TIME_DEPENDENT_INFORMATION ()
static vtkInformationRequestKeyREQUEST_RESOLUTION_PROPAGATE ()
static vtkInformationIntegerKeyCONTINUE_EXECUTING ()
static
vtkInformationObjectBaseKey
EXTENT_TRANSLATOR ()
static vtkInformationIntegerKeyUPDATE_AMR_LEVEL ()
static
vtkInformationIntegerVectorKey
COMBINED_UPDATE_EXTENT ()
static vtkInformationIntegerKeyUPDATE_EXTENT_TRANSLATED ()
static
vtkInformationIntegerVectorKey
WHOLE_EXTENT ()
static vtkInformationIntegerKeyUNRESTRICTED_UPDATE_EXTENT ()
static vtkInformationIntegerKeyMAXIMUM_NUMBER_OF_PIECES ()
static
vtkInformationDoubleVectorKey
WHOLE_BOUNDING_BOX ()
static
vtkInformationDoubleVectorKey
PIECE_BOUNDING_BOX ()
static
vtkInformationDoubleVectorKey
PIECE_NORMAL ()
static vtkInformationIntegerKeyEXACT_EXTENT ()
static
vtkInformationDoubleVectorKey
TIME_STEPS ()
static
vtkInformationDoubleVectorKey
TIME_RANGE ()
static vtkInformationStringKeyTIME_LABEL_ANNOTATION ()
static vtkInformationDoubleKeyUPDATE_TIME_STEP ()
static vtkInformationIntegerKeyTIME_DEPENDENT_INFORMATION ()
static vtkInformationDoubleKeyPRIORITY ()
static
vtkInformationUnsignedLongKey
ORIGINAL_NUMBER_OF_CELLS ()
static vtkInformationDoubleKeyUPDATE_RESOLUTION ()
static vtkInformationIntegerKeyREMOVE_ATTRIBUTE_INFORMATION ()
static vtkInformationIntegerKeyFAST_PATH_FOR_TEMPORAL_DATA ()
static vtkInformationStringKeyFAST_PATH_OBJECT_TYPE ()
static vtkInformationStringKeyFAST_PATH_ID_TYPE ()
static vtkInformationIdTypeKeyFAST_PATH_OBJECT_ID ()
static
vtkInformationDoubleVectorKey
BOUNDS ()
static int SetWholeExtent (vtkInformation *, int extent[6])
static void GetWholeExtent (vtkInformation *, int extent[6])
static intGetWholeExtent (vtkInformation *)
static vtkInformationRequestKeyREQUEST_UPDATE_EXTENT_INFORMATION ()
static vtkInformationRequestKeyREQUEST_MANAGE_INFORMATION ()
static vtkInformationIntegerKeyUPDATE_EXTENT_INITIALIZED ()
static
vtkInformationIntegerVectorKey
UPDATE_EXTENT ()
static vtkInformationIntegerKeyUPDATE_PIECE_NUMBER ()
static vtkInformationIntegerKeyUPDATE_NUMBER_OF_PIECES ()
static vtkInformationIntegerKeyUPDATE_NUMBER_OF_GHOST_LEVELS ()

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkStreamingDemandDrivenPipeline ()
 ~vtkStreamingDemandDrivenPipeline ()
virtual int NeedToExecuteBasedOnTime (vtkInformation *outInfo, vtkDataObject *dataObject)
virtual int NeedToExecuteBasedOnFastPathData (vtkInformation *outInfo)
virtual int ExecuteInformation (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void CopyDefaultInformation (vtkInformation *request, int direction, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual int VerifyOutputInformation (int outputPort, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual int NeedToExecuteData (int outputPort, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void ExecuteDataStart (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void ExecuteDataEnd (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void MarkOutputsGenerated (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void ResetPipelineInformation (int port, vtkInformation *)
virtual void ResetUpdateInformation (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)

Static Protected Member Functions

static vtkInformationDoubleKeyPREVIOUS_UPDATE_TIME_STEP ()
static vtkInformationIdTypeKeyPREVIOUS_FAST_PATH_OBJECT_ID ()
static vtkInformationStringKeyPREVIOUS_FAST_PATH_OBJECT_TYPE ()
static vtkInformationStringKeyPREVIOUS_FAST_PATH_ID_TYPE ()

Protected Attributes

int ContinueExecuting
vtkInformationUpdateExtentRequest
int LastPropogateUpdateExtentShortCircuited
static int SetMaximumNumberOfPieces (vtkInformation *, int n)
static int GetMaximumNumberOfPieces (vtkInformation *)
int SetMaximumNumberOfPieces (int port, int n)
int GetMaximumNumberOfPieces (int port)
static int SetUpdateExtentToWholeExtent (vtkInformation *)
int SetUpdateExtentToWholeExtent (int port)
static int SetUpdateExtent (vtkInformation *, int extent[6])
static void GetUpdateExtent (vtkInformation *, int extent[6])
static intGetUpdateExtent (vtkInformation *)
int SetUpdateExtent (int port, int extent[6])
int SetUpdateExtent (int port, int x0, int x1, int y0, int y1, int z0, int z1)
static int SetUpdateExtent (vtkInformation *, int piece, int numPieces, int ghostLevel)
static int SetUpdatePiece (vtkInformation *, int piece)
static int GetUpdatePiece (vtkInformation *)
static int SetUpdateNumberOfPieces (vtkInformation *, int n)
static int GetUpdateNumberOfPieces (vtkInformation *)
static int SetUpdateGhostLevel (vtkInformation *, int n)
static int GetUpdateGhostLevel (vtkInformation *)
int SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
int SetUpdateResolution (int port, double r)
int SetUpdateResolution (vtkInformation *, double r)
double GetUpdateResolution (vtkInformation *)
static int SetUpdateTimeStep (vtkInformation *, double time)
int SetUpdateTimeStep (int port, double time)
static int SetExtentTranslator (vtkInformation *, vtkExtentTranslator *translator)
static vtkExtentTranslatorGetExtentTranslator (vtkInformation *info)
int SetExtentTranslator (int port, vtkExtentTranslator *translator)
vtkExtentTranslatorGetExtentTranslator (int port)

Detailed Description

Executive supporting partial updates.

vtkStreamingDemandDrivenPipeline is an executive that supports updating only a portion of the data set in the pipeline. This is the style of pipeline update that is provided by the old-style VTK 4.x pipeline. Instead of always updating an entire data set, this executive supports asking for pieces or sub-extents.

Examples:
vtkStreamingDemandDrivenPipeline (Examples)
Tests:
vtkStreamingDemandDrivenPipeline (Tests)

Definition at line 51 of file vtkStreamingDemandDrivenPipeline.h.


Member Typedef Documentation


Constructor & Destructor Documentation


Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCompositeDataPipeline, vtkThreadedStreamingPipeline, vtkCachedStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

static int vtkStreamingDemandDrivenPipeline::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCompositeDataPipeline, vtkThreadedStreamingPipeline, vtkCachedStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

virtual int vtkStreamingDemandDrivenPipeline::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCompositeDataPipeline, vtkThreadedStreamingPipeline, vtkCachedStreamingDemandDrivenPipeline, and vtkImageImportExecutive.

void vtkStreamingDemandDrivenPipeline::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCompositeDataPipeline, vtkThreadedStreamingPipeline, and vtkCachedStreamingDemandDrivenPipeline.

Generalized interface for asking the executive to fulfill update requests.

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline, and vtkImageImportExecutive.

Bring the outputs up-to-date.

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline.

virtual int vtkStreamingDemandDrivenPipeline::Update ( int  port) [virtual]

Bring the outputs up-to-date.

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCachedStreamingDemandDrivenPipeline.

Bring the outputs up-to-date.

Propagate the update request from the given output port back through the pipeline. Should be called only when information is up to date.

Propagate time through the pipeline. this is a special pass only necessary if there is temporal meta data that must be updated

Propagate time through the pipeline. this is a special pass only necessary if there is temporal meta data that must be updated

Set/Get the maximum number of pieces that can be requested from the given port. The maximum number of pieces is meta data for unstructured data sets. It gets set by the source during the update information call. A value of -1 indicates that there is no maximum.

Set/Get the maximum number of pieces that can be requested from the given port. The maximum number of pieces is meta data for unstructured data sets. It gets set by the source during the update information call. A value of -1 indicates that there is no maximum.

Set/Get the maximum number of pieces that can be requested from the given port. The maximum number of pieces is meta data for unstructured data sets. It gets set by the source during the update information call. A value of -1 indicates that there is no maximum.

Set/Get the maximum number of pieces that can be requested from the given port. The maximum number of pieces is meta data for unstructured data sets. It gets set by the source during the update information call. A value of -1 indicates that there is no maximum.

Set/Get the whole extent of an output port. The whole extent is meta data for structured data sets. It gets set by the algorithm during the update information pass.

static void vtkStreamingDemandDrivenPipeline::GetWholeExtent ( vtkInformation ,
int  extent[6] 
) [static]

Set/Get the whole extent of an output port. The whole extent is meta data for structured data sets. It gets set by the algorithm during the update information pass.

Set/Get the whole extent of an output port. The whole extent is meta data for structured data sets. It gets set by the algorithm during the update information pass.

If the whole input extent is required to generate the requested output extent, this method can be called to set the input update extent to the whole input extent. This method assumes that the whole extent is known (that UpdateInformation has been called)

If the whole input extent is required to generate the requested output extent, this method can be called to set the input update extent to the whole input extent. This method assumes that the whole extent is known (that UpdateInformation has been called)

Get/Set the update extent for output ports that use 3D extents.

int vtkStreamingDemandDrivenPipeline::SetUpdateExtent ( int  port,
int  x0,
int  x1,
int  y0,
int  y1,
int  z0,
int  z1 
)

Get/Set the update extent for output ports that use 3D extents.

Get/Set the update extent for output ports that use 3D extents.

static void vtkStreamingDemandDrivenPipeline::GetUpdateExtent ( vtkInformation ,
int  extent[6] 
) [static]

Get/Set the update extent for output ports that use 3D extents.

Get/Set the update extent for output ports that use 3D extents.

int vtkStreamingDemandDrivenPipeline::SetUpdateExtent ( int  port,
int  piece,
int  numPieces,
int  ghostLevel 
)

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

static int vtkStreamingDemandDrivenPipeline::SetUpdateExtent ( vtkInformation ,
int  piece,
int  numPieces,
int  ghostLevel 
) [static]

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Set/Get the update piece, update number of pieces, and update number of ghost levels for an output port. Similar to update extent in 3D.

Get/Set the update extent for output ports that use Temporal Extents

Get/Set the update extent for output ports that use Temporal Extents

This request flag indicates whether the requester can handle more data than requested for the given port. Right now it is used in vtkImageData. Image filters can return more data than requested. The the consumer cannot handle this (i.e. DataSetToDataSetFitler) the image will crop itself. This functionality used to be in ImageToStructuredPoints.

This request flag indicates whether the requester can handle more data than requested for the given port. Right now it is used in vtkImageData. Image filters can return more data than requested. The the consumer cannot handle this (i.e. DataSetToDataSetFitler) the image will crop itself. This functionality used to be in ImageToStructuredPoints.

Get/Set the object that will translate pieces into structured extents for an output port.

Get/Set the object that will translate pieces into structured extents for an output port.

Get/Set the object that will translate pieces into structured extents for an output port.

Get/Set the object that will translate pieces into structured extents for an output port.

Set/Get the whole bounding box of an output port data object. The whole whole bounding box is meta data for data sets. It gets set by the algorithm during the update information pass.

Set/Get the whole bounding box of an output port data object. The whole whole bounding box is meta data for data sets. It gets set by the algorithm during the update information pass.

Set/Get the whole bounding box of an output port data object. The whole whole bounding box is meta data for data sets. It gets set by the algorithm during the update information pass.

Set/Get the piece bounding box of an output port data object. The piece bounding box is meta data for data sets. It gets set by the algorithm during the update extent information pass.

Set/Get the piece bounding box of an output port data object. The piece bounding box is meta data for data sets. It gets set by the algorithm during the update extent information pass.

Set/Get the piece bounding box of an output port data object. The piece bounding box is meta data for data sets. It gets set by the algorithm during the update extent information pass.

Key defining a request to propagate the update extent upstream.

Key defining a request to make sure the meta information is up to date.

Key defining a request to propagate information about the update extent downstream.

Key defining a request to propagate information about the update extent downstream.

Key defining to propagate resolution changes up the pipeline.

Key for an algorithm to store in a request to tell this executive to keep executing it.

Key to store an extent translator in pipeline information.

Keys to store an update request in pipeline information.

Keys to store an update request in pipeline information.

Keys to store an update request in pipeline information.

Keys to store an update request in pipeline information.

Keys to store an update request in pipeline information.

Key to store an update in the AMR level of resolution.

Key for combining the update extents requested by all consumers, so that the final extent that is produced satisfies all consumers.

This is set if the extent was set through extent translation. GenerateGhostLevelArray() is called only when this is set.

Key to store the whole extent provided in pipeline information.

This is set if the update extent is not restricted to the whole extent, for sources that can generate an extent of any requested size.

Key to store the maximum number of pieces provided in pipeline information.

Key to store the bounding box of the entire data set in pipeline information.

Key to store the bounding box of a portion of the data set in pipeline information.

Key used to reject unimportant pieces in streaming.

Key to specify the request for exact extent in pipeline information.

Key to store available time steps.

Key to store available time range for continuous sources.

Key to store the label that should be used for labelling the time in the UI

Update time steps requested by the pipeline.

Whether there are time dependent meta information if there is, the pipe will perform two extra passes to gather the time dependent information

Key that specifies from 0.0 to 1.0 the pipeline computed priority of this update extent. 0.0 means does not contribute and can be skipped.

Key that specifies how many cells were in the piece at the head of the pipeline, so that work estimates can be made.

Key that specifies a requested resolution level for this update extent. 0.0 is very low and 1.0 is full resolution.

Used internally to validate meta information as it flows through pipeline

The following keys are meant to be used by an algorithm that works with temporal data. Rather than re-executing the pipeline for each timestep, if the reader, as part of its API, contains a faster way to read temporal data, algorithms may use these keys to request temporal data from the reader. See also: vtkExtractArraysOverTime.

key to record the bounds of a dataset.

Issues pipeline request to determine and return the priority of the piece described by the current update extent. The priority is a number between 0.0 and 1.0 with 0 meaning skippable (REQUEST_DATA not needed) and 1.0 meaning important.

Definition at line 320 of file vtkStreamingDemandDrivenPipeline.h.

Issues pipeline request to determine and return the priority of the piece described by the current update extent. The priority is a number between 0.0 and 1.0 with 0 meaning skippable (REQUEST_DATA not needed) and 1.0 meaning important.

virtual void vtkStreamingDemandDrivenPipeline::ResetUpdateInformation ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Called before RequestUpdateExtent() pass on the algorithm. Here we remove all update-related keys from the input information. Currently this only removes the fast-path related keys.

virtual int vtkStreamingDemandDrivenPipeline::NeedToExecuteBasedOnTime ( vtkInformation outInfo,
vtkDataObject dataObject 
) [protected, virtual]
virtual int vtkStreamingDemandDrivenPipeline::ExecuteInformation ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

virtual void vtkStreamingDemandDrivenPipeline::CopyDefaultInformation ( vtkInformation request,
int  direction,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkExecutive.

Reimplemented in vtkCompositeDataPipeline.

virtual int vtkStreamingDemandDrivenPipeline::VerifyOutputInformation ( int  outputPort,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]
virtual int vtkStreamingDemandDrivenPipeline::NeedToExecuteData ( int  outputPort,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]
virtual void vtkStreamingDemandDrivenPipeline::ExecuteDataStart ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCompositeDataPipeline.

virtual void vtkStreamingDemandDrivenPipeline::ExecuteDataEnd ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

virtual void vtkStreamingDemandDrivenPipeline::MarkOutputsGenerated ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCompositeDataPipeline.

virtual void vtkStreamingDemandDrivenPipeline::ResetPipelineInformation ( int  port,
vtkInformation  
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

Reimplemented in vtkCompositeDataPipeline.


Member Data Documentation

Definition at line 405 of file vtkStreamingDemandDrivenPipeline.h.

Reimplemented in vtkCompositeDataPipeline.

Definition at line 407 of file vtkStreamingDemandDrivenPipeline.h.

Definition at line 410 of file vtkStreamingDemandDrivenPipeline.h.


The documentation for this class was generated from the following file: