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