46 #ifndef __vtkThreadedStreamingPipeline_h
47 #define __vtkThreadedStreamingPipeline_h
49 #include "vtkCompositeDataPipeline.h"
51 class vtkComputingResources;
53 class vtkExecutiveCollection;
60 void PrintSelf(ostream &os,
vtkIndent indent);
74 PROCESSING_UNIT_NONE = 0,
75 PROCESSING_UNIT_CPU = 1,
76 PROCESSING_UNIT_GPU = 2
82 static void SetMultiThreadedEnabled(
bool enabled);
85 static void SetAutoPropagatePush(
bool enabled);
89 static void Pull(vtkExecutiveCollection *execs);
93 static void Pull(vtkExecutiveCollection *execs,
vtkInformation *info);
97 static void Push(vtkExecutiveCollection *execs);
101 static void Push(vtkExecutiveCollection *execs,
vtkInformation *info);
105 static void Pull(vtkExecutive *exec);
113 static void Push(vtkExecutive *exec);
132 void ReleaseInputs();
146 void UpdateRequestDataTimeFromSource();
149 vtkComputingResources *GetResources();
162 virtual int ForwardUpstream(
int i,
int j,
vtkInformation* request);
Executive supporting multi-threads.
float LastDataRequestTimeFromSource
vtkInformation * ForceDataRequest
Scheduling execution with thread/computing resources distributing.
a simple class to control print indentation
float LastDataRequestTime
vtkExecutionScheduler * Scheduler
vtkComputingResources * Resources