Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkSmoothPolyDataFilter.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkSmoothPolyDataFilter.h,v $
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 =========================================================================*/
00109 #ifndef __vtkSmoothPolyDataFilter_h
00110 #define __vtkSmoothPolyDataFilter_h
00111 
00112 #include "vtkPolyDataToPolyDataFilter.h"
00113 
00114 class vtkSmoothPoints;
00115 
00116 class VTK_GRAPHICS_EXPORT vtkSmoothPolyDataFilter : public vtkPolyDataToPolyDataFilter
00117 {
00118 public:
00119   vtkTypeRevisionMacro(vtkSmoothPolyDataFilter,vtkPolyDataToPolyDataFilter);
00120   void PrintSelf(ostream& os, vtkIndent indent);
00121 
00127   static vtkSmoothPolyDataFilter *New();
00128 
00130 
00132   vtkSetClampMacro(Convergence,double,0.0,1.0);
00133   vtkGetMacro(Convergence,double);
00135 
00137 
00138   vtkSetClampMacro(NumberOfIterations,int,0,VTK_LARGE_INTEGER);
00139   vtkGetMacro(NumberOfIterations,int);
00141 
00143 
00148   vtkSetMacro(RelaxationFactor,double);
00149   vtkGetMacro(RelaxationFactor,double);
00151 
00153 
00154   vtkSetMacro(FeatureEdgeSmoothing,int);
00155   vtkGetMacro(FeatureEdgeSmoothing,int);
00156   vtkBooleanMacro(FeatureEdgeSmoothing,int);
00158 
00160 
00161   vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
00162   vtkGetMacro(FeatureAngle,double);
00164 
00166 
00168   vtkSetClampMacro(EdgeAngle,double,0.0,180.0);
00169   vtkGetMacro(EdgeAngle,double);
00171 
00173 
00174   vtkSetMacro(BoundarySmoothing,int);
00175   vtkGetMacro(BoundarySmoothing,int);
00176   vtkBooleanMacro(BoundarySmoothing,int);
00178 
00180 
00181   vtkSetMacro(GenerateErrorScalars,int);
00182   vtkGetMacro(GenerateErrorScalars,int);
00183   vtkBooleanMacro(GenerateErrorScalars,int);
00185 
00187 
00188   vtkSetMacro(GenerateErrorVectors,int);
00189   vtkGetMacro(GenerateErrorVectors,int);
00190   vtkBooleanMacro(GenerateErrorVectors,int);
00192 
00194 
00197   void SetSource(vtkPolyData *source);
00198   vtkPolyData *GetSource();
00200   
00201 protected:
00202   vtkSmoothPolyDataFilter();
00203   ~vtkSmoothPolyDataFilter() {};
00204 
00205   void Execute();
00206 
00207   double Convergence;
00208   int NumberOfIterations;
00209   double RelaxationFactor;
00210   int FeatureEdgeSmoothing;
00211   double FeatureAngle;
00212   double EdgeAngle;
00213   int BoundarySmoothing;
00214   int GenerateErrorScalars;
00215   int GenerateErrorVectors;
00216 
00217   vtkSmoothPoints *SmoothPoints;
00218 private:
00219   vtkSmoothPolyDataFilter(const vtkSmoothPolyDataFilter&);  // Not implemented.
00220   void operator=(const vtkSmoothPolyDataFilter&);  // Not implemented.
00221 };
00222 
00223 #endif