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 00191 protected: 00192 vtkSmoothPolyDataFilter(); 00193 ~vtkSmoothPolyDataFilter() {}; 00194 00195 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00196 virtual int FillInputPortInformation(int port, vtkInformation *info); 00197 00198 double Convergence; 00199 int NumberOfIterations; 00200 double RelaxationFactor; 00201 int FeatureEdgeSmoothing; 00202 double FeatureAngle; 00203 double EdgeAngle; 00204 int BoundarySmoothing; 00205 int GenerateErrorScalars; 00206 int GenerateErrorVectors; 00207 00208 vtkSmoothPoints *SmoothPoints; 00209 private: 00210 vtkSmoothPolyDataFilter(const vtkSmoothPolyDataFilter&); // Not implemented. 00211 void operator=(const vtkSmoothPolyDataFilter&); // Not implemented. 00212 }; 00213 00214 #endif