VTK
dox/Imaging/vtkImageGradient.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkImageGradient.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
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&);  // Not implemented.
00085   void operator=(const vtkImageGradient&);  // Not implemented.
00086 };
00087 
00088 #endif
00089 
00090 
00091