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>

Inherits vtkCompositeDataPipeline.

Collaboration diagram for vtkThreadedStreamingPipeline:
[legend]

Public Types

typedef vtkCompositeDataPipeline Superclass
 
enum  { PROCESSING_UNIT_NONE = 0, PROCESSING_UNIT_CPU = 1, PROCESSING_UNIT_GPU = 2 }
 

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 ()
 
vtkComputingResources * GetResources ()
 
virtual int ProcessRequest (vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
 

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)
 

Public Attributes

float LastDataRequestTime
 
float LastDataRequestTimeFromSource
 
vtkInformationForceDataRequest
 
vtkComputingResources * Resources
 
vtkExecutionSchedulerScheduler
 

Protected Member Functions

 vtkThreadedStreamingPipeline ()
 
 ~vtkThreadedStreamingPipeline ()
 
virtual int ForwardUpstream (vtkInformation *request)
 
virtual int ForwardUpstream (int i, int j, vtkInformation *request)
 

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

typedef vtkCompositeDataPipeline vtkThreadedStreamingPipeline::Superclass

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
static int vtkThreadedStreamingPipeline::IsTypeOf ( const char *  type)
static
virtual int vtkThreadedStreamingPipeline::IsA ( const char *  type)
virtual
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.

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
virtual int vtkThreadedStreamingPipeline::ForwardUpstream ( int  i,
int  j,
vtkInformation request 
)
protectedvirtual

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: