VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkShepardMethod.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 =========================================================================*/ 00042 #ifndef __vtkShepardMethod_h 00043 #define __vtkShepardMethod_h 00044 00045 #include "vtkImageAlgorithm.h" 00046 00047 class VTK_IMAGING_EXPORT vtkShepardMethod : public vtkImageAlgorithm 00048 { 00049 public: 00050 vtkTypeMacro(vtkShepardMethod,vtkImageAlgorithm); 00051 void PrintSelf(ostream& os, vtkIndent indent); 00052 00056 static vtkShepardMethod *New(); 00057 00059 double ComputeModelBounds(double origin[3], double ar[3]); 00060 00062 00063 vtkGetVectorMacro(SampleDimensions,int,3); 00065 00067 void SetSampleDimensions(int i, int j, int k); 00068 00070 void SetSampleDimensions(int dim[3]); 00071 00073 00078 vtkSetClampMacro(MaximumDistance,double,0.0,1.0); 00079 vtkGetMacro(MaximumDistance,double); 00081 00083 00084 vtkSetVector6Macro(ModelBounds,double); 00085 vtkGetVectorMacro(ModelBounds,double,6); 00087 00089 00091 vtkSetMacro(NullValue,double); 00092 vtkGetMacro(NullValue,double); 00094 00095 protected: 00096 vtkShepardMethod(); 00097 ~vtkShepardMethod() {}; 00098 00099 virtual int RequestInformation (vtkInformation *, 00100 vtkInformationVector **, 00101 vtkInformationVector *); 00102 00103 // see vtkAlgorithm for details 00104 virtual int RequestData(vtkInformation *request, 00105 vtkInformationVector** inputVector, 00106 vtkInformationVector* outputVector); 00107 00108 // see algorithm for more info 00109 virtual int FillInputPortInformation(int port, vtkInformation* info); 00110 00111 int SampleDimensions[3]; 00112 double MaximumDistance; 00113 double ModelBounds[6]; 00114 double NullValue; 00115 private: 00116 vtkShepardMethod(const vtkShepardMethod&); // Not implemented. 00117 void operator=(const vtkShepardMethod&); // Not implemented. 00118 }; 00119 00120 #endif 00121 00122