00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00022 #ifndef __vtkPipelineSize_h
00023 #define __vtkPipelineSize_h
00024
00025 #include "vtkObject.h"
00026 class vtkAlgorithm;
00027 class vtkPolyDataMapper;
00028
00029 class VTK_PARALLEL_EXPORT vtkPipelineSize : public vtkObject
00030 {
00031 public:
00033 static vtkPipelineSize* New();
00034 vtkTypeRevisionMacro(vtkPipelineSize,vtkObject);
00035 virtual void PrintSelf(ostream& os, vtkIndent indent);
00037
00039
00043 unsigned long GetEstimatedSize(vtkAlgorithm *input, int inputPort,
00044 int connection);
00046
00048
00051 unsigned long GetNumberOfSubPieces(unsigned long memoryLimit,
00052 vtkPolyDataMapper *mapper);
00054
00055 protected:
00056 vtkPipelineSize() {};
00057 void GenericComputeSourcePipelineSize(vtkAlgorithm *src,
00058 int outputPort,
00059 unsigned long size[3]);
00060 void ComputeSourcePipelineSize(vtkAlgorithm *src,
00061 int outputPort,
00062 unsigned long size[3]);
00063 void ComputeOutputMemorySize( vtkAlgorithm *src,
00064 int outputPort,
00065 unsigned long *inputSize,
00066 unsigned long size[2] );
00067 void GenericComputeOutputMemorySize( vtkAlgorithm *src,
00068 int outputPort,
00069 unsigned long *inputSize,
00070 unsigned long size[2] );
00071
00072
00073 private:
00074 vtkPipelineSize(const vtkPipelineSize&);
00075 void operator=(const vtkPipelineSize&);
00076 };
00077
00078 #endif
00079
00080