VTK  9.5.20251216
vtkConstrainedSmoothingFilter.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
58
59#ifndef vtkConstrainedSmoothingFilter_h
60#define vtkConstrainedSmoothingFilter_h
61
62#include "vtkCellArray.h" // For point smoothing stencils
63#include "vtkFiltersCoreModule.h" // For export macro
65#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
66
67VTK_ABI_NAMESPACE_BEGIN
70{
71public:
73
79 void PrintSelf(ostream& os, vtkIndent indent) override;
81
83
89 vtkSetClampMacro(Convergence, double, 0.0, 1.0);
90 vtkGetMacro(Convergence, double);
92
94
99 vtkSetClampMacro(NumberOfIterations, int, 0, VTK_INT_MAX);
100 vtkGetMacro(NumberOfIterations, int);
102
104
111 vtkSetMacro(RelaxationFactor, double);
112 vtkGetMacro(RelaxationFactor, double);
114
122
124
139 vtkGetMacro(ConstraintStrategy, int);
148
150
159 vtkSetClampMacro(ConstraintDistance, double, 0.0, VTK_FLOAT_MAX);
160 vtkGetMacro(ConstraintDistance, double);
162
164
171 vtkSetVector3Macro(ConstraintBox, double);
172 vtkGetVectorMacro(ConstraintBox, double, 3);
174
176
183 vtkSetSmartPointerMacro(SmoothingStencils, vtkCellArray);
184 vtkGetSmartPointerMacro(SmoothingStencils, vtkCellArray);
186
188
192 vtkSetMacro(GenerateErrorScalars, bool);
193 vtkGetMacro(GenerateErrorScalars, bool);
194 vtkBooleanMacro(GenerateErrorScalars, bool);
196
198
202 vtkSetMacro(GenerateErrorVectors, bool);
203 vtkGetMacro(GenerateErrorVectors, bool);
204 vtkBooleanMacro(GenerateErrorVectors, bool);
206
208
213 vtkSetMacro(OutputPointsPrecision, int);
214 vtkGetMacro(OutputPointsPrecision, int);
216
217protected:
219 ~vtkConstrainedSmoothingFilter() override = default;
220
224
227 double ConstraintBox[3];
229
233
235
236private:
238 void operator=(const vtkConstrainedSmoothingFilter&) = delete;
239};
240VTK_ABI_NAMESPACE_END
241
242#endif
object to represent cell connectivity
void SetConstraintStrategyToConstraintDistance()
Indicate how to apply constraints.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkSmartPointer< vtkCellArray > SmoothingStencils
void SetConstraintStrategyToConstraintBox()
Indicate how to apply constraints.
~vtkConstrainedSmoothingFilter() override=default
void SetConstraintStrategyToDefault()
Indicate how to apply constraints.
virtual void SetConstraintStrategy(int)
Indicate how to apply constraints.
static vtkConstrainedSmoothingFilter * New()
Standard methods for instantiation, to obtain type information, and print the state of a class instan...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, to obtain type information, and print the state of a class instan...
void SetConstraintStrategyToConstraintArray()
Indicate how to apply constraints.
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Hold a reference to a vtkObjectBase instance.
#define VTK_INT_MAX
Definition vtkType.h:197
#define VTK_FLOAT_MAX
Definition vtkType.h:205
#define VTK_MARSHALAUTO