vtkCompositeDataPipeline Class Reference

#include <vtkCompositeDataPipeline.h>

Inheritance diagram for vtkCompositeDataPipeline:

Inheritance graph
[legend]
Collaboration diagram for vtkCompositeDataPipeline:

Collaboration graph
[legend]

List of all members.


Detailed Description

Executive supporting composite datasets.

vtkCompositeDataPipeline is an executive that supports the processing of composite dataset. It supports algorithms that are aware of composite dataset as well as those that are not. Type checking is performed at run time. Algorithms that are not composite dataset-aware have to support all dataset types contained in the composite dataset. The pipeline execution can be summarized as follows:

REQUEST_INFORMATION: The producers have to provide information about the contents of the composite dataset in this pass. Sources that can produce more than one piece (note that a piece is different than a block; each piece consistes of 0 or more blocks) should set MAXIMUM_NUMBER_OF_PIECES to -1.

REQUEST_UPDATE_EXTENT: This pass is identical to the one implemented in vtkStreamingDemandDrivenPipeline

REQUEST_DATA: This is where the algorithms execute. If the vtkCompositeDataPipeline is assigned to a simple filter, it will invoke the vtkStreamingDemandDrivenPipeline passes in a loop, passing a different block each time and will collect the results in a composite dataset.

See also:
vtkCompositeDataSet
Examples:
vtkCompositeDataPipeline (Examples)
Tests:
vtkCompositeDataPipeline (Tests)

Definition at line 62 of file vtkCompositeDataPipeline.h.


Public Types

typedef
vtkStreamingDemandDrivenPipeline 
Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
vtkDataObjectGetCompositeOutputData (int port)
virtual int ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
vtkDataObjectGetCompositeInputData (int port, int index, vtkInformationVector **inInfoVec)

Static Public Member Functions

static vtkCompositeDataPipelineNew ()
static int IsTypeOf (const char *type)
static vtkCompositeDataPipelineSafeDownCast (vtkObject *o)
static vtkInformationIntegerKeyREQUIRES_TIME_DOWNSTREAM ()
static
vtkInformationObjectBaseKey
COMPOSITE_DATA_META_DATA ()
static
vtkInformationIntegerVectorKey
UPDATE_COMPOSITE_INDICES ()
static
vtkInformationIntegerVectorKey
COMPOSITE_INDICES ()
static vtkInformationIntegerKeyCOMPOSITE_INDEX ()

Protected Member Functions

 vtkCompositeDataPipeline ()
 ~vtkCompositeDataPipeline ()
virtual int ForwardUpstream (vtkInformation *request)
virtual int ForwardUpstream (int i, int j, vtkInformation *request)
virtual void CopyDefaultInformation (vtkInformation *request, int direction, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void CopyFromDataToInformation (vtkDataObject *dobj, vtkInformation *inInfo)
virtual void PushInformation (vtkInformation *)
virtual void PopInformation (vtkInformation *)
virtual int ExecuteDataObject (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
virtual int ExecuteData (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void ExecuteDataStart (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual int NeedToExecuteData (int outputPort, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual int NeedToExecuteBasedOnTime (vtkInformation *outInfo, vtkDataObject *dataObject)
virtual int CheckCompositeData (vtkInformation *request, int port, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual void ExecuteSimpleAlgorithm (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int compositePort)
virtual void ExecuteSimpleAlgorithmTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
vtkDataObjectExecuteSimpleAlgorithmForBlock (vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, vtkInformation *inInfo, vtkInformation *outInfo, vtkInformation *request, vtkDataObject *dobj)
bool ShouldIterateOverInput (int &compositePort)
bool ShouldIterateTemporalData (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
virtual int InputTypeIsValid (int port, int index, vtkInformationVector **inInfoVec)
virtual void ResetPipelineInformation (int port, vtkInformation *)
virtual void MarkOutputsGenerated (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
int NeedToExecuteBasedOnCompositeIndices (vtkInformation *outInfo)
vtkCompositeDataSetCreateOutputCompositeDataSet (vtkCompositeDataSet *input, int compositePort)

Protected Attributes

int InLocalLoop
vtkInformationInformationCache
vtkInformationGenericRequest
vtkInformationDataObjectRequest
vtkInformationInformationRequest
vtkInformationUpdateExtentRequest
vtkInformationDataRequest
int SuppressResetPipelineInformation

Member Typedef Documentation

Reimplemented from vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

Definition at line 66 of file vtkCompositeDataPipeline.h.


Constructor & Destructor Documentation

vtkCompositeDataPipeline::vtkCompositeDataPipeline (  )  [protected]

vtkCompositeDataPipeline::~vtkCompositeDataPipeline (  )  [protected]


Member Function Documentation

static vtkCompositeDataPipeline* vtkCompositeDataPipeline::New (  )  [static]

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

Reimplemented from vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

virtual const char* vtkCompositeDataPipeline::GetClassName (  )  [virtual]

Reimplemented from vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

static int vtkCompositeDataPipeline::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 vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

virtual int vtkCompositeDataPipeline::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 vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

static vtkCompositeDataPipeline* vtkCompositeDataPipeline::SafeDownCast ( vtkObject o  )  [static]

Reimplemented from vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

void vtkCompositeDataPipeline::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 vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

virtual int vtkCompositeDataPipeline::ProcessRequest ( vtkInformation request,
vtkInformationVector **  inInfo,
vtkInformationVector outInfo 
) [virtual]

Generalized interface for asking the executive to fullfill update requests.

Reimplemented from vtkStreamingDemandDrivenPipeline.

Reimplemented in vtkThreadedStreamingPipeline.

vtkDataObject* vtkCompositeDataPipeline::GetCompositeOutputData ( int  port  ) 

Returns the data object stored with the DATA_OBJECT() in the output port

vtkDataObject* vtkCompositeDataPipeline::GetCompositeInputData ( int  port,
int  index,
vtkInformationVector **  inInfoVec 
)

Returns the data object stored with the DATA_OBJECT() in the input port

static vtkInformationIntegerKey* vtkCompositeDataPipeline::REQUIRES_TIME_DOWNSTREAM (  )  [static]

vtkCompositeDataPipeline specific keys

static vtkInformationObjectBaseKey* vtkCompositeDataPipeline::COMPOSITE_DATA_META_DATA (  )  [static]

COMPOSITE_DATA_META_DATA is a key placed in the output-port information by readers/sources producing composite datasets. This meta-data provides information about the structure of the composite dataset and things like data-bounds etc. *** THIS IS AN EXPERIMENTAL FEATURE. IT MAY CHANGE WITHOUT NOTICE ***

static vtkInformationIntegerVectorKey* vtkCompositeDataPipeline::UPDATE_COMPOSITE_INDICES (  )  [static]

UPDATE_COMPOSITE_INDICES is a key placed in the request to request a set of composite indices from a reader/source producing composite dataset. Typically, the reader publishes its structure using COMPOSITE_DATA_META_DATA() and then the sink requests blocks of interest using UPDATE_COMPOSITE_INDICES(). Note that UPDATE_COMPOSITE_INDICES has to be sorted vector with increasing indices. *** THIS IS AN EXPERIMENTAL FEATURE. IT MAY CHANGE WITHOUT NOTICE ***

static vtkInformationIntegerVectorKey* vtkCompositeDataPipeline::COMPOSITE_INDICES (  )  [static]

COMPOSITE_INDICES() is put in the output information by the executive if the request has UPDATE_COMPOSITE_INDICES() using the generated composite dataset's structure. Note that COMPOSITE_INDICES has to be sorted vector with increasing indices. *** THIS IS AN EXPERIMENTAL FEATURE. IT MAY CHANGE WITHOUT NOTICE ***

static vtkInformationIntegerKey* vtkCompositeDataPipeline::COMPOSITE_INDEX (  )  [static]

COMPOSITE_INDEX() is added to the leaf nodes of the meta-data composite dataset (COMPOSITE_DATA_META_DATA) during REQUEST_INFORMATION(). Filters downstream can use this index to request specific datasets when creating UPDATE_COMPOSITE_INDICES(). THIS IS AN EXPERIMENTAL FEATURE. IT MAY CHANGE WITHOUT NOTICE ***

virtual int vtkCompositeDataPipeline::ForwardUpstream ( vtkInformation request  )  [protected, virtual]

Reimplemented from vtkExecutive.

Reimplemented in vtkThreadedStreamingPipeline.

virtual int vtkCompositeDataPipeline::ForwardUpstream ( int  i,
int  j,
vtkInformation request 
) [protected, virtual]

Reimplemented in vtkThreadedStreamingPipeline.

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

Reimplemented from vtkStreamingDemandDrivenPipeline.

virtual void vtkCompositeDataPipeline::CopyFromDataToInformation ( vtkDataObject dobj,
vtkInformation inInfo 
) [protected, virtual]

virtual void vtkCompositeDataPipeline::PushInformation ( vtkInformation  )  [protected, virtual]

virtual void vtkCompositeDataPipeline::PopInformation ( vtkInformation  )  [protected, virtual]

virtual int vtkCompositeDataPipeline::ExecuteDataObject ( vtkInformation request,
vtkInformationVector **  inInfo,
vtkInformationVector outInfo 
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

virtual int vtkCompositeDataPipeline::ExecuteData ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

virtual void vtkCompositeDataPipeline::ExecuteDataStart ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkStreamingDemandDrivenPipeline.

virtual int vtkCompositeDataPipeline::NeedToExecuteData ( int  outputPort,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

Reimplemented from vtkStreamingDemandDrivenPipeline.

virtual int vtkCompositeDataPipeline::NeedToExecuteBasedOnTime ( vtkInformation outInfo,
vtkDataObject dataObject 
) [protected, virtual]

Reimplemented from vtkStreamingDemandDrivenPipeline.

virtual int vtkCompositeDataPipeline::CheckCompositeData ( vtkInformation request,
int  port,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

virtual void vtkCompositeDataPipeline::ExecuteSimpleAlgorithm ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec,
int  compositePort 
) [protected, virtual]

virtual void vtkCompositeDataPipeline::ExecuteSimpleAlgorithmTime ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected, virtual]

vtkDataObject* vtkCompositeDataPipeline::ExecuteSimpleAlgorithmForBlock ( vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec,
vtkInformation inInfo,
vtkInformation outInfo,
vtkInformation request,
vtkDataObject dobj 
) [protected]

bool vtkCompositeDataPipeline::ShouldIterateOverInput ( int &  compositePort  )  [protected]

bool vtkCompositeDataPipeline::ShouldIterateTemporalData ( vtkInformation request,
vtkInformationVector **  inInfoVec,
vtkInformationVector outInfoVec 
) [protected]

virtual int vtkCompositeDataPipeline::InputTypeIsValid ( int  port,
int  index,
vtkInformationVector **  inInfoVec 
) [protected, virtual]

Reimplemented from vtkDemandDrivenPipeline.

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

Reimplemented from vtkStreamingDemandDrivenPipeline.

vtkCompositeDataSet* vtkCompositeDataPipeline::CreateOutputCompositeDataSet ( vtkCompositeDataSet input,
int  compositePort 
) [protected]

Tries to create the best possible composite data output for the given input and non-composite algorithm output. Returns a new instance on success. Don't use this method for creating vtkTemporalDataSet. It's main purpose is to determine if vtkHierarchicalBoxDataSet can be propagated as vtkHierarchicalBoxDataSet in the output (if the algorithm can produce vtkUniformGrid given vtkUniformGrid inputs) or if it should be downgraded to a vtkMultiBlockDataSet.

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

Reimplemented from vtkStreamingDemandDrivenPipeline.

int vtkCompositeDataPipeline::NeedToExecuteBasedOnCompositeIndices ( vtkInformation outInfo  )  [protected]


Member Data Documentation

Definition at line 170 of file vtkCompositeDataPipeline.h.

Definition at line 194 of file vtkCompositeDataPipeline.h.

Definition at line 196 of file vtkCompositeDataPipeline.h.

Reimplemented from vtkDemandDrivenPipeline.

Definition at line 197 of file vtkCompositeDataPipeline.h.

Definition at line 198 of file vtkCompositeDataPipeline.h.

Reimplemented from vtkStreamingDemandDrivenPipeline.

Definition at line 199 of file vtkCompositeDataPipeline.h.

Reimplemented from vtkDemandDrivenPipeline.

Definition at line 200 of file vtkCompositeDataPipeline.h.

Definition at line 204 of file vtkCompositeDataPipeline.h.


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

Generated on Wed Aug 24 11:31:45 2011 for VTK by  doxygen 1.5.6