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 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)
 

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 ()
 

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)
 

Additional Inherited Members

- 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: