VTK  9.5.20250910
vtkSmoothPolyDataFilter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
125#ifndef vtkSmoothPolyDataFilter_h
126#define vtkSmoothPolyDataFilter_h
127
128#include "vtkFiltersCoreModule.h" // For export macro
129#include "vtkPolyDataAlgorithm.h"
130#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
131#include <memory> // For std::unique_ptr<>
132
133VTK_ABI_NAMESPACE_BEGIN
134class vtkSmoothPoints;
135
137{
138public:
147
149
154 void PrintSelf(ostream& os, vtkIndent indent) override;
156
158
162 vtkSetClampMacro(Convergence, double, 0.0, 1.0);
163 vtkGetMacro(Convergence, double);
165
167
170 vtkSetClampMacro(NumberOfIterations, int, 0, VTK_INT_MAX);
171 vtkGetMacro(NumberOfIterations, int);
173
175
182 vtkSetMacro(RelaxationFactor, double);
183 vtkGetMacro(RelaxationFactor, double);
185
187
190 vtkSetMacro(FeatureEdgeSmoothing, vtkTypeBool);
191 vtkGetMacro(FeatureEdgeSmoothing, vtkTypeBool);
192 vtkBooleanMacro(FeatureEdgeSmoothing, vtkTypeBool);
194
196
199 vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
200 vtkGetMacro(FeatureAngle, double);
202
204
208 vtkSetClampMacro(EdgeAngle, double, 0.0, 180.0);
209 vtkGetMacro(EdgeAngle, double);
211
213
216 vtkSetMacro(BoundarySmoothing, vtkTypeBool);
217 vtkGetMacro(BoundarySmoothing, vtkTypeBool);
218 vtkBooleanMacro(BoundarySmoothing, vtkTypeBool);
220
222
225 vtkSetMacro(GenerateErrorScalars, vtkTypeBool);
226 vtkGetMacro(GenerateErrorScalars, vtkTypeBool);
227 vtkBooleanMacro(GenerateErrorScalars, vtkTypeBool);
229
231
234 vtkSetMacro(GenerateErrorVectors, vtkTypeBool);
235 vtkGetMacro(GenerateErrorVectors, vtkTypeBool);
236 vtkBooleanMacro(GenerateErrorVectors, vtkTypeBool);
238
240
248
250
255 vtkSetMacro(OutputPointsPrecision, int);
256 vtkGetMacro(OutputPointsPrecision, int);
258
259protected:
262
264 int FillInputPortInformation(int port, vtkInformation* info) override;
265
271 double EdgeAngle;
276
277 std::unique_ptr<vtkSmoothPoints> SmoothPoints;
278
279private:
281 void operator=(const vtkSmoothPolyDataFilter&) = delete;
282};
283
284VTK_ABI_NAMESPACE_END
285#endif
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
concrete dataset represents vertices, lines, polygons, and triangle strips
adjust point positions using Laplacian smoothing
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
std::unique_ptr< vtkSmoothPoints > SmoothPoints
~vtkSmoothPolyDataFilter() override
void SetSourceData(vtkPolyData *source)
Specify the source object which is used to constrain smoothing.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to obtain type information, and print the state of a class instance.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkPolyData * GetSource()
Specify the source object which is used to constrain smoothing.
static vtkSmoothPolyDataFilter * New()
Construct object with number of iterations 20; relaxation factor .01; feature edge smoothing turned o...
int vtkTypeBool
Definition vtkABI.h:64
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
#define VTK_INT_MAX
Definition vtkType.h:161
#define VTK_MARSHALAUTO