VTK
vtkSmoothPolyDataFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSmoothPolyDataFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
99 #ifndef vtkSmoothPolyDataFilter_h
100 #define vtkSmoothPolyDataFilter_h
101 
102 #include "vtkFiltersCoreModule.h" // For export macro
103 #include "vtkPolyDataAlgorithm.h"
104 
105 class vtkSmoothPoints;
106 
107 class VTKFILTERSCORE_EXPORT vtkSmoothPolyDataFilter : public vtkPolyDataAlgorithm
108 {
109 public:
111  void PrintSelf(ostream& os, vtkIndent indent) override;
112 
120  static vtkSmoothPolyDataFilter *New();
121 
123 
127  vtkSetClampMacro(Convergence,double,0.0,1.0);
128  vtkGetMacro(Convergence,double);
130 
132 
135  vtkSetClampMacro(NumberOfIterations,int,0,VTK_INT_MAX);
136  vtkGetMacro(NumberOfIterations,int);
138 
140 
147  vtkSetMacro(RelaxationFactor,double);
148  vtkGetMacro(RelaxationFactor,double);
150 
152 
155  vtkSetMacro(FeatureEdgeSmoothing,int);
156  vtkGetMacro(FeatureEdgeSmoothing,int);
157  vtkBooleanMacro(FeatureEdgeSmoothing,int);
159 
161 
164  vtkSetClampMacro(FeatureAngle,double,0.0,180.0);
165  vtkGetMacro(FeatureAngle,double);
167 
169 
173  vtkSetClampMacro(EdgeAngle,double,0.0,180.0);
174  vtkGetMacro(EdgeAngle,double);
176 
178 
181  vtkSetMacro(BoundarySmoothing,int);
182  vtkGetMacro(BoundarySmoothing,int);
183  vtkBooleanMacro(BoundarySmoothing,int);
185 
187 
190  vtkSetMacro(GenerateErrorScalars,int);
191  vtkGetMacro(GenerateErrorScalars,int);
192  vtkBooleanMacro(GenerateErrorScalars,int);
194 
196 
199  vtkSetMacro(GenerateErrorVectors,int);
200  vtkGetMacro(GenerateErrorVectors,int);
201  vtkBooleanMacro(GenerateErrorVectors,int);
203 
205 
210  void SetSourceData(vtkPolyData *source);
211  vtkPolyData *GetSource();
213 
215 
220  vtkSetMacro(OutputPointsPrecision,int);
221  vtkGetMacro(OutputPointsPrecision,int);
223 
224 protected:
227 
229  int FillInputPortInformation(int port, vtkInformation *info) override;
230 
231  double Convergence;
235  double FeatureAngle;
236  double EdgeAngle;
241 
242  vtkSmoothPoints *SmoothPoints;
243 private:
245  void operator=(const vtkSmoothPolyDataFilter&) = delete;
246 };
247 
248 #endif
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_INT_MAX
Definition: vtkType.h:157
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:85
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
boost::graph_traits< vtkGraph *>::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
adjust point positions using Laplacian smoothing