00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00031 #ifndef __vtkImageGradient_h
00032 #define __vtkImageGradient_h
00033
00034 #include "vtkThreadedImageAlgorithm.h"
00035
00036 class VTK_IMAGING_EXPORT vtkImageGradient : public vtkThreadedImageAlgorithm
00037 {
00038 public:
00039 static vtkImageGradient *New();
00040 vtkTypeMacro(vtkImageGradient,vtkThreadedImageAlgorithm);
00041 void PrintSelf(ostream& os, vtkIndent indent);
00042
00044
00045 vtkSetClampMacro(Dimensionality,int,2,3);
00046 vtkGetMacro(Dimensionality,int);
00048
00050
00054 vtkSetMacro(HandleBoundaries, int);
00055 vtkGetMacro(HandleBoundaries, int);
00056 vtkBooleanMacro(HandleBoundaries, int);
00058
00059 protected:
00060 vtkImageGradient();
00061 ~vtkImageGradient() {};
00062
00063 int HandleBoundaries;
00064 int Dimensionality;
00065
00066 virtual int RequestInformation (vtkInformation*,
00067 vtkInformationVector**,
00068 vtkInformationVector*);
00069 virtual int RequestUpdateExtent(vtkInformation*,
00070 vtkInformationVector**,
00071 vtkInformationVector*);
00072 virtual int RequestData(vtkInformation*,
00073 vtkInformationVector**,
00074 vtkInformationVector*);
00075
00076 void ThreadedRequestData(vtkInformation*,
00077 vtkInformationVector**,
00078 vtkInformationVector*,
00079 vtkImageData*** inData,
00080 vtkImageData** outData,
00081 int outExt[6],
00082 int threadId);
00083 private:
00084 vtkImageGradient(const vtkImageGradient&);
00085 void operator=(const vtkImageGradient&);
00086 };
00087
00088 #endif
00089
00090
00091