VTK
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
vtkThreadedStreamingPipeline Class Reference

Executive supporting multi-threads. More...

#include <vtkThreadedStreamingPipeline.h>

Inheritance diagram for vtkThreadedStreamingPipeline:
[legend]
Collaboration diagram for vtkThreadedStreamingPipeline:
[legend]

Public Types

typedef vtkCompositeDataPipeline Superclass
 
enum  { PROCESSING_UNIT_NONE = 0, PROCESSING_UNIT_CPU = 1, PROCESSING_UNIT_GPU = 2 }
 
- Public Types inherited from vtkCompositeDataPipeline
typedef
vtkStreamingDemandDrivenPipeline 
Superclass
 
- Public Types inherited from vtkStreamingDemandDrivenPipeline
typedef vtkDemandDrivenPipeline Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
void PrintSelf (ostream &os, vtkIndent indent)
 
void Pull ()
 
void Pull (vtkInformation *info)
 
void Push ()
 
void Push (vtkInformation *info)
 
void ReleaseInputs ()
 
int ForceUpdateData (int processingUnit, vtkInformation *info)
 
void UpdateRequestDataTimeFromSource ()
 
vtkComputingResourcesGetResources ()
 
virtual int ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 
- Public Member Functions inherited from vtkCompositeDataPipeline
void PrintSelf (ostream &os, vtkIndent indent)
 
vtkDataObjectGetCompositeOutputData (int port)
 
vtkDataObjectGetCompositeInputData (int port, int index, vtkInformationVector **inInfoVec)
 
- Public Member Functions inherited from vtkStreamingDemandDrivenPipeline
void PrintSelf (ostream &os, vtkIndent indent)
 
int PropagateUpdateExtent (int outputPort)
 
virtual int Update ()
 
virtual int Update (int port)
 
virtual int UpdateWholeExtent ()
 
int SetMaximumNumberOfPieces (int port, int n)
 
int SetMaximumNumberOfPieces (vtkInformation *, int n)
 
int GetMaximumNumberOfPieces (int port)
 
int GetMaximumNumberOfPieces (vtkInformation *)
 
int SetWholeExtent (vtkInformation *, int extent[6])
 
void GetWholeExtent (vtkInformation *, int extent[6])
 
int * GetWholeExtent (vtkInformation *)
 
int SetUpdateExtentToWholeExtent (int port)
 
int SetUpdateExtentToWholeExtent (vtkInformation *)
 
int SetUpdateExtent (int port, int extent[6])
 
int SetUpdateExtent (vtkInformation *, int extent[6])
 
void GetUpdateExtent (vtkInformation *, int extent[6])
 
int * GetUpdateExtent (vtkInformation *)
 
int SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
 
int SetUpdateExtent (vtkInformation *, int piece, int numPieces, int ghostLevel)
 
int SetUpdatePiece (vtkInformation *, int piece)
 
int GetUpdatePiece (vtkInformation *)
 
int SetUpdateNumberOfPieces (vtkInformation *, int n)
 
int GetUpdateNumberOfPieces (vtkInformation *)
 
int SetUpdateGhostLevel (vtkInformation *, int n)
 
int GetUpdateGhostLevel (vtkInformation *)
 
int SetUpdateResolution (int port, double r)
 
int SetUpdateResolution (vtkInformation *, double r)
 
double GetUpdateResolution (vtkInformation *)
 
int SetUpdateTimeSteps (int port, double *times, int length)
 
int SetUpdateTimeSteps (vtkInformation *, double *times, int length)
 
int SetUpdateTimeStep (int port, double time)
 
int SetRequestExactExtent (int port, int flag)
 
int GetRequestExactExtent (int port)
 
int SetExtentTranslator (int port, vtkExtentTranslator *translator)
 
int SetExtentTranslator (vtkInformation *, vtkExtentTranslator *translator)
 
vtkExtentTranslatorGetExtentTranslator (int port)
 
vtkExtentTranslatorGetExtentTranslator (vtkInformation *info)
 
int SetWholeBoundingBox (int port, double bb[6])
 
void GetWholeBoundingBox (int port, double bb[6])
 
double * GetWholeBoundingBox (int port)
 
int SetPieceBoundingBox (int port, double bb[6])
 
void GetPieceBoundingBox (int port, double bb[6])
 
double * GetPieceBoundingBox (int port)
 
double ComputePriority ()
 
virtual double ComputePriority (int port)
 

Static Public Member Functions

static
vtkThreadedStreamingPipeline
New ()
 
static int IsTypeOf (const char *type)
 
static
vtkThreadedStreamingPipeline
SafeDownCast (vtkObject *o)
 
static vtkInformationIntegerKeyAUTO_PROPAGATE ()
 
static
vtkInformationObjectBaseKey
EXTRA_INFORMATION ()
 
static void SetMultiThreadedEnabled (bool enabled)
 
static void SetAutoPropagatePush (bool enabled)
 
static void Pull (vtkExecutiveCollection *execs)
 
static void Pull (vtkExecutiveCollection *execs, vtkInformation *info)
 
static void Push (vtkExecutiveCollection *execs)
 
static void Push (vtkExecutiveCollection *execs, vtkInformation *info)
 
static void Pull (vtkExecutive *exec)
 
static void Pull (vtkExecutive *exec, vtkInformation *info)
 
static void Push (vtkExecutive *exec)
 
static void Push (vtkExecutive *exec, vtkInformation *info)
 
- Static Public Member Functions inherited from vtkCompositeDataPipeline
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 ()
 
- Static Public Member Functions inherited from vtkStreamingDemandDrivenPipeline
static
vtkStreamingDemandDrivenPipeline
New ()
 
static int IsTypeOf (const char *type)
 
static
vtkStreamingDemandDrivenPipeline
SafeDownCast (vtkObject *o)
 
static vtkInformationRequestKeyREQUEST_UPDATE_EXTENT ()
 
static vtkInformationRequestKeyREQUEST_UPDATE_EXTENT_INFORMATION ()
 
static vtkInformationRequestKeyREQUEST_RESOLUTION_PROPAGATE ()
 
static vtkInformationIntegerKeyCONTINUE_EXECUTING ()
 
static
vtkInformationObjectBaseKey
EXTENT_TRANSLATOR ()
 
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 vtkInformationIntegerKeyEXACT_EXTENT ()
 
static
vtkInformationDoubleVectorKey
TIME_STEPS ()
 
static
vtkInformationDoubleVectorKey
TIME_RANGE ()
 
static
vtkInformationDoubleVectorKey
UPDATE_TIME_STEPS ()
 
static vtkInformationDoubleKeyPRIORITY ()
 
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 vtkInformationIntegerKeyUPDATE_EXTENT_INITIALIZED ()
 
static
vtkInformationIntegerVectorKey
UPDATE_EXTENT ()
 
static vtkInformationIntegerKeyUPDATE_PIECE_NUMBER ()
 
static vtkInformationIntegerKeyUPDATE_NUMBER_OF_PIECES ()
 
static vtkInformationIntegerKeyUPDATE_NUMBER_OF_GHOST_LEVELS ()
 

Public Attributes

float LastDataRequestTime
 
float LastDataRequestTimeFromSource
 
vtkInformationForceDataRequest
 
vtkComputingResourcesResources
 
vtkExecutionSchedulerScheduler
 

Protected Member Functions

 vtkThreadedStreamingPipeline ()
 
 ~vtkThreadedStreamingPipeline ()
 
virtual int ForwardUpstream (vtkInformation *request)
 
virtual int ForwardUpstream (int i, int j, vtkInformation *request)
 
- Protected Member Functions inherited from vtkCompositeDataPipeline
 vtkCompositeDataPipeline ()
 
 ~vtkCompositeDataPipeline ()
 
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 Member Functions inherited from vtkStreamingDemandDrivenPipeline
 vtkStreamingDemandDrivenPipeline ()
 
 ~vtkStreamingDemandDrivenPipeline ()
 
virtual int NeedToExecuteBasedOnFastPathData (vtkInformation *outInfo)
 
virtual int ExecuteInformation (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 
virtual int VerifyOutputInformation (int outputPort, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 
virtual void ExecuteDataEnd (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 
virtual void ResetUpdateInformation (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec)
 

Additional Inherited Members

- Static Protected Member Functions inherited from vtkStreamingDemandDrivenPipeline
static
vtkInformationDoubleVectorKey
PREVIOUS_UPDATE_TIME_STEPS ()
 
static vtkInformationIdTypeKeyPREVIOUS_FAST_PATH_OBJECT_ID ()
 
static vtkInformationStringKeyPREVIOUS_FAST_PATH_OBJECT_TYPE ()
 
static vtkInformationStringKeyPREVIOUS_FAST_PATH_ID_TYPE ()
 
- Protected Attributes inherited from vtkCompositeDataPipeline
int InLocalLoop
 
vtkInformationInformationCache
 
vtkInformationGenericRequest
 
vtkInformationDataObjectRequest
 
vtkInformationInformationRequest
 
vtkInformationUpdateExtentRequest
 
vtkInformationDataRequest
 
int SuppressResetPipelineInformation
 

Detailed Description

Executive supporting multi-threads.

vtkThreadeStreamingDemandDrivenPipeline is an executive that supports updating input ports based on the number of threads available.

See Also
vtkExecutionScheduler
Examples:
vtkThreadedStreamingPipeline (Examples)
Tests:
vtkThreadedStreamingPipeline (Tests)

Definition at line 55 of file vtkThreadedStreamingPipeline.h.

Member Typedef Documentation

Definition at line 59 of file vtkThreadedStreamingPipeline.h.

Member Enumeration Documentation

anonymous enum

Definition of different types of processing units an algorithm can be executed

Enumerator
PROCESSING_UNIT_NONE 
PROCESSING_UNIT_CPU 
PROCESSING_UNIT_GPU 

Definition at line 72 of file vtkThreadedStreamingPipeline.h.

Constructor & Destructor Documentation

vtkThreadedStreamingPipeline::vtkThreadedStreamingPipeline ( )
protected
vtkThreadedStreamingPipeline::~vtkThreadedStreamingPipeline ( )
protected

Member Function Documentation

static vtkThreadedStreamingPipeline* vtkThreadedStreamingPipeline::New ( )
static
virtual const char* vtkThreadedStreamingPipeline::GetClassName ( )
virtual

Reimplemented from vtkCompositeDataPipeline.

static int vtkThreadedStreamingPipeline::IsTypeOf ( const char *  type)
static
virtual int vtkThreadedStreamingPipeline::IsA ( const char *  type)
virtual

Reimplemented from vtkCompositeDataPipeline.

static vtkThreadedStreamingPipeline* vtkThreadedStreamingPipeline::SafeDownCast ( vtkObject o)
static
void vtkThreadedStreamingPipeline::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
static vtkInformationIntegerKey* vtkThreadedStreamingPipeline::AUTO_PROPAGATE ( )
static

Key to store the priority of a task

static vtkInformationObjectBaseKey* vtkThreadedStreamingPipeline::EXTRA_INFORMATION ( )
static

Key to store the additional information for an update request

static void vtkThreadedStreamingPipeline::SetMultiThreadedEnabled ( bool  enabled)
static

Enable/Disable Multi-Threaded updating mechanism

static void vtkThreadedStreamingPipeline::SetAutoPropagatePush ( bool  enabled)
static

Enable/Disable automatic propagation of Push events

static void vtkThreadedStreamingPipeline::Pull ( vtkExecutiveCollection execs)
static

Trigger the updates on certain execs and asking all of its upstream modules to be updated as well (propagate up)

static void vtkThreadedStreamingPipeline::Pull ( vtkExecutiveCollection execs,
vtkInformation info 
)
static

Trigger the updates on certain execs and asking all of its upstream modules to be updated as well (propagate up)

static void vtkThreadedStreamingPipeline::Push ( vtkExecutiveCollection execs)
static

Trigger the updates on certain execs and asking all of its downstream modules to be updated as well (propagate down)

static void vtkThreadedStreamingPipeline::Push ( vtkExecutiveCollection execs,
vtkInformation info 
)
static

Trigger the updates on certain execs and asking all of its downstream modules to be updated as well (propagate down)

static void vtkThreadedStreamingPipeline::Pull ( vtkExecutive exec)
static

A simplified version of Pull() which only acts upon a single executive

static void vtkThreadedStreamingPipeline::Pull ( vtkExecutive exec,
vtkInformation info 
)
static

A simplified version of Pull() which only acts upon a single executive

static void vtkThreadedStreamingPipeline::Push ( vtkExecutive exec)
static

A simplified version of Push() which only acts upon a single executive

static void vtkThreadedStreamingPipeline::Push ( vtkExecutive exec,
vtkInformation info 
)
static

A simplified version of Push() which only acts upon a single executive

void vtkThreadedStreamingPipeline::Pull ( )

Triggers upstream modules to update but not including itself

void vtkThreadedStreamingPipeline::Pull ( vtkInformation info)

Triggers upstream modules to update but not including itself

void vtkThreadedStreamingPipeline::Push ( )

Triggers downstream modules to update but not including itself

void vtkThreadedStreamingPipeline::Push ( vtkInformation info)

Triggers downstream modules to update but not including itself

void vtkThreadedStreamingPipeline::ReleaseInputs ( )

Release all the locks for input ports living upstream

virtual int vtkThreadedStreamingPipeline::ProcessRequest ( vtkInformation request,
vtkInformationVector **  inInfo,
vtkInformationVector outInfo 
)
virtual

Generalized interface for asking the executive to fullfill update requests.

Reimplemented from vtkCompositeDataPipeline.

int vtkThreadedStreamingPipeline::ForceUpdateData ( int  processingUnit,
vtkInformation info 
)

Send a direct REQUEST_DATA (on all ports) to this executive

void vtkThreadedStreamingPipeline::UpdateRequestDataTimeFromSource ( )

Update the LastDataRequestTimeFromSource using its upstream time

vtkComputingResources* vtkThreadedStreamingPipeline::GetResources ( )

Return the scheduling for this executive

virtual int vtkThreadedStreamingPipeline::ForwardUpstream ( vtkInformation request)
protectedvirtual

Reimplemented from vtkCompositeDataPipeline.

virtual int vtkThreadedStreamingPipeline::ForwardUpstream ( int  i,
int  j,
vtkInformation request 
)
protectedvirtual

Reimplemented from vtkCompositeDataPipeline.

Member Data Documentation

float vtkThreadedStreamingPipeline::LastDataRequestTime

Definition at line 151 of file vtkThreadedStreamingPipeline.h.

float vtkThreadedStreamingPipeline::LastDataRequestTimeFromSource

Definition at line 152 of file vtkThreadedStreamingPipeline.h.

vtkInformation* vtkThreadedStreamingPipeline::ForceDataRequest

Definition at line 153 of file vtkThreadedStreamingPipeline.h.

vtkComputingResources* vtkThreadedStreamingPipeline::Resources

Definition at line 154 of file vtkThreadedStreamingPipeline.h.

vtkExecutionScheduler* vtkThreadedStreamingPipeline::Scheduler

Definition at line 155 of file vtkThreadedStreamingPipeline.h.


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