VTK
|
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 "vtkImagingGeneralModule.h" // For export macro 00035 #include "vtkThreadedImageAlgorithm.h" 00036 00037 class VTKIMAGINGGENERAL_EXPORT vtkImageGradient : public vtkThreadedImageAlgorithm 00038 { 00039 public: 00040 static vtkImageGradient *New(); 00041 vtkTypeMacro(vtkImageGradient,vtkThreadedImageAlgorithm); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00045 00046 vtkSetClampMacro(Dimensionality,int,2,3); 00047 vtkGetMacro(Dimensionality,int); 00049 00051 00055 vtkSetMacro(HandleBoundaries, int); 00056 vtkGetMacro(HandleBoundaries, int); 00057 vtkBooleanMacro(HandleBoundaries, int); 00059 00060 protected: 00061 vtkImageGradient(); 00062 ~vtkImageGradient() {} 00063 00064 int HandleBoundaries; 00065 int Dimensionality; 00066 00067 virtual int RequestInformation (vtkInformation*, 00068 vtkInformationVector**, 00069 vtkInformationVector*); 00070 virtual int RequestUpdateExtent(vtkInformation*, 00071 vtkInformationVector**, 00072 vtkInformationVector*); 00073 virtual int RequestData(vtkInformation*, 00074 vtkInformationVector**, 00075 vtkInformationVector*); 00076 00077 void ThreadedRequestData(vtkInformation*, 00078 vtkInformationVector**, 00079 vtkInformationVector*, 00080 vtkImageData*** inData, 00081 vtkImageData** outData, 00082 int outExt[6], 00083 int threadId); 00084 private: 00085 vtkImageGradient(const vtkImageGradient&); // Not implemented. 00086 void operator=(const vtkImageGradient&); // Not implemented. 00087 }; 00088 00089 #endif 00090 00091 00092