00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkFiniteDifferenceGradientEstimator.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00016 00057 #ifndef __vtkFiniteDifferenceGradientEstimator_h 00058 #define __vtkFiniteDifferenceGradientEstimator_h 00059 00060 #include "vtkEncodedGradientEstimator.h" 00061 00062 class VTK_RENDERING_EXPORT vtkFiniteDifferenceGradientEstimator : public vtkEncodedGradientEstimator 00063 { 00064 public: 00065 vtkTypeRevisionMacro(vtkFiniteDifferenceGradientEstimator,vtkEncodedGradientEstimator); 00066 void PrintSelf( ostream& os, vtkIndent indent ); 00067 00070 static vtkFiniteDifferenceGradientEstimator *New(); 00071 00073 00075 vtkSetMacro( SampleSpacingInVoxels, int ); 00076 vtkGetMacro( SampleSpacingInVoxels, int ); 00078 00079 // The sample spacing between samples taken for the normal estimation 00080 int SampleSpacingInVoxels; 00081 00082 protected: 00083 vtkFiniteDifferenceGradientEstimator(); 00084 ~vtkFiniteDifferenceGradientEstimator(); 00085 00086 00088 void UpdateNormals( void ); 00089 private: 00090 vtkFiniteDifferenceGradientEstimator(const vtkFiniteDifferenceGradientEstimator&); // Not implemented. 00091 void operator=(const vtkFiniteDifferenceGradientEstimator&); // Not implemented. 00092 }; 00093 00094 00095 #endif