vtkCachedStreamingDemandDrivenPipeline.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00030 #ifndef __vtkCachedStreamingDemandDrivenPipeline_h
00031 #define __vtkCachedStreamingDemandDrivenPipeline_h
00032
00033 #include "vtkStreamingDemandDrivenPipeline.h"
00034
00035 class vtkInformationIntegerKey;
00036 class vtkInformationIntegerVectorKey;
00037 class vtkCachedStreamingDemandDrivenPipelineInternals;
00038
00039 class VTK_FILTERING_EXPORT vtkCachedStreamingDemandDrivenPipeline :
00040 public vtkStreamingDemandDrivenPipeline
00041 {
00042 public:
00043 static vtkCachedStreamingDemandDrivenPipeline* New();
00044 vtkTypeRevisionMacro(vtkCachedStreamingDemandDrivenPipeline,
00045 vtkStreamingDemandDrivenPipeline);
00046 void PrintSelf(ostream& os, vtkIndent indent);
00047
00049
00051 virtual int Update();
00052 virtual int Update(int port);
00053 virtual int Update(vtkAlgorithm* algorithm);
00054 virtual int Update(vtkAlgorithm* algorithm, int port);
00056
00058
00060 void SetCacheSize(int size);
00061 vtkGetMacro(CacheSize, int);
00063
00064 protected:
00065 vtkCachedStreamingDemandDrivenPipeline();
00066 ~vtkCachedStreamingDemandDrivenPipeline();
00067
00068 virtual int NeedToExecuteData(int outputPort);
00069 virtual int ExecuteData(int outputPort);
00070
00071 int CacheSize;
00072
00073 vtkDataObject **Data;
00074 unsigned long *Times;
00075
00076 private:
00077 vtkCachedStreamingDemandDrivenPipelineInternals* CachedStreamingDemandDrivenInternal;
00078 private:
00079 vtkCachedStreamingDemandDrivenPipeline(const vtkCachedStreamingDemandDrivenPipeline&);
00080 void operator=(const vtkCachedStreamingDemandDrivenPipeline&);
00081 };
00082
00083 #endif