00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00026 #ifndef __vtkImageIterateFilter_h
00027 #define __vtkImageIterateFilter_h
00028
00029 #include "vtkThreadedImageAlgorithm.h"
00030
00031 class VTK_IMAGING_EXPORT vtkImageIterateFilter : public vtkThreadedImageAlgorithm
00032 {
00033 public:
00034 vtkTypeMacro(vtkImageIterateFilter,vtkThreadedImageAlgorithm);
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036
00038
00040 vtkGetMacro(Iteration,int);
00041 vtkGetMacro(NumberOfIterations,int);
00043
00044 protected:
00045 vtkImageIterateFilter();
00046 ~vtkImageIterateFilter();
00047
00048
00049
00050 virtual int RequestUpdateExtent(vtkInformation*,
00051 vtkInformationVector**,
00052 vtkInformationVector*);
00053 virtual int RequestInformation (vtkInformation*,
00054 vtkInformationVector**,
00055 vtkInformationVector*);
00056 virtual int RequestData(vtkInformation* request,
00057 vtkInformationVector** inputVector,
00058 vtkInformationVector* outputVector);
00059
00060
00061
00062
00063 virtual int IterativeRequestInformation(vtkInformation* in,
00064 vtkInformation* out);
00065 virtual int IterativeRequestUpdateExtent(vtkInformation* in,
00066 vtkInformation* out);
00067 virtual int IterativeRequestData(vtkInformation*,
00068 vtkInformationVector**,
00069 vtkInformationVector*);
00070
00071 virtual void SetNumberOfIterations(int num);
00072
00073
00074 int NumberOfIterations;
00075 int Iteration;
00076
00077
00078 vtkImageData **IterationData;
00079
00080
00081 vtkImageData *GetIterationInput();
00082 vtkImageData *GetIterationOutput();
00083
00084 vtkInformationVector* InputVector;
00085 vtkInformationVector* OutputVector;
00086 private:
00087 vtkImageIterateFilter(const vtkImageIterateFilter&);
00088 void operator=(const vtkImageIterateFilter&);
00089 };
00090
00091 #endif
00092
00093
00094
00095
00096
00097
00098