VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkSmoothPolyDataFilter.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 =========================================================================*/ 00098 #ifndef vtkSmoothPolyDataFilter_h 00099 #define vtkSmoothPolyDataFilter_h 00100 00101 #include "vtkFiltersCoreModule.h" // For export macro 00102 #include "vtkPolyDataAlgorithm.h" 00103 00104 class vtkSmoothPoints; 00105 00106 class VTKFILTERSCORE_EXPORT vtkSmoothPolyDataFilter : public vtkPolyDataAlgorithm 00107 { 00108 public: 00109 vtkTypeMacro(vtkSmoothPolyDataFilter,vtkPolyDataAlgorithm); 00110 void PrintSelf(ostream& os, vtkIndent indent); 00111 00117 static vtkSmoothPolyDataFilter *New(); 00118 00120 00122 vtkSetClampMacro(Convergence,double,0.0,1.0); 00123 vtkGetMacro(Convergence,double); 00125 00127 00128 vtkSetClampMacro(NumberOfIterations,int,0,VTK_INT_MAX); 00129 vtkGetMacro(NumberOfIterations,int); 00131 00133 00138 vtkSetMacro(RelaxationFactor,double); 00139 vtkGetMacro(RelaxationFactor,double); 00141 00143 00144 vtkSetMacro(FeatureEdgeSmoothing,int); 00145 vtkGetMacro(FeatureEdgeSmoothing,int); 00146 vtkBooleanMacro(FeatureEdgeSmoothing,int); 00148 00150 00151 vtkSetClampMacro(FeatureAngle,double,0.0,180.0); 00152 vtkGetMacro(FeatureAngle,double); 00154 00156 00158 vtkSetClampMacro(EdgeAngle,double,0.0,180.0); 00159 vtkGetMacro(EdgeAngle,double); 00161 00163 00164 vtkSetMacro(BoundarySmoothing,int); 00165 vtkGetMacro(BoundarySmoothing,int); 00166 vtkBooleanMacro(BoundarySmoothing,int); 00168 00170 00171 vtkSetMacro(GenerateErrorScalars,int); 00172 vtkGetMacro(GenerateErrorScalars,int); 00173 vtkBooleanMacro(GenerateErrorScalars,int); 00175 00177 00178 vtkSetMacro(GenerateErrorVectors,int); 00179 vtkGetMacro(GenerateErrorVectors,int); 00180 vtkBooleanMacro(GenerateErrorVectors,int); 00182 00184 00187 void SetSourceData(vtkPolyData *source); 00188 vtkPolyData *GetSource(); 00190 00192 00195 vtkSetMacro(OutputPointsPrecision,int); 00196 vtkGetMacro(OutputPointsPrecision,int); 00198 00199 protected: 00200 vtkSmoothPolyDataFilter(); 00201 ~vtkSmoothPolyDataFilter() {} 00202 00203 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00204 virtual int FillInputPortInformation(int port, vtkInformation *info); 00205 00206 double Convergence; 00207 int NumberOfIterations; 00208 double RelaxationFactor; 00209 int FeatureEdgeSmoothing; 00210 double FeatureAngle; 00211 double EdgeAngle; 00212 int BoundarySmoothing; 00213 int GenerateErrorScalars; 00214 int GenerateErrorVectors; 00215 int OutputPointsPrecision; 00216 00217 vtkSmoothPoints *SmoothPoints; 00218 private: 00219 vtkSmoothPolyDataFilter(const vtkSmoothPolyDataFilter&); // Not implemented. 00220 void operator=(const vtkSmoothPolyDataFilter&); // Not implemented. 00221 }; 00222 00223 #endif