VTK  9.4.20251203
vtkWindowedSincPolyDataFilter.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
150#ifndef vtkWindowedSincPolyDataFilter_h
151#define vtkWindowedSincPolyDataFilter_h
152
153#include "vtkFiltersCoreModule.h" // For export macro
154#include "vtkPolyDataAlgorithm.h"
155
156VTK_ABI_NAMESPACE_BEGIN
157class VTKFILTERSCORE_EXPORT vtkWindowedSincPolyDataFilter : public vtkPolyDataAlgorithm
158{
159public:
167
169
174 void PrintSelf(ostream& os, vtkIndent indent) override;
176
178
183 vtkSetClampMacro(NumberOfIterations, int, 0, VTK_INT_MAX);
184 vtkGetMacro(NumberOfIterations, int);
186
188
191 vtkSetClampMacro(PassBand, double, 0.0, 2.0);
192 vtkGetMacro(PassBand, double);
194
196
204 vtkSetMacro(NormalizeCoordinates, vtkTypeBool);
205 vtkGetMacro(NormalizeCoordinates, vtkTypeBool);
206 vtkBooleanMacro(NormalizeCoordinates, vtkTypeBool);
208
212 enum
213 {
214 NUTTALL = 0,
217 HAMMING
218 };
219
221
232 vtkSetClampMacro(WindowFunction, int, NUTTALL, HAMMING);
233 vtkGetMacro(WindowFunction, int);
235 {
236 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::NUTTALL);
237 }
239 {
240 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::BLACKMAN);
241 }
243 {
244 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::HANNING);
245 }
247 {
248 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::HAMMING);
249 }
251
253
258 vtkSetMacro(FeatureEdgeSmoothing, vtkTypeBool);
259 vtkGetMacro(FeatureEdgeSmoothing, vtkTypeBool);
260 vtkBooleanMacro(FeatureEdgeSmoothing, vtkTypeBool);
262
264
268 vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
269 vtkGetMacro(FeatureAngle, double);
271
273
277 vtkSetClampMacro(EdgeAngle, double, 0.0, 180.0);
278 vtkGetMacro(EdgeAngle, double);
280
282
286 vtkSetMacro(BoundarySmoothing, vtkTypeBool);
287 vtkGetMacro(BoundarySmoothing, vtkTypeBool);
288 vtkBooleanMacro(BoundarySmoothing, vtkTypeBool);
290
292
296 vtkSetMacro(NonManifoldSmoothing, vtkTypeBool);
297 vtkGetMacro(NonManifoldSmoothing, vtkTypeBool);
298 vtkBooleanMacro(NonManifoldSmoothing, vtkTypeBool);
300
302
308 vtkSetMacro(WeightNonManifoldEdges, vtkTypeBool);
309 vtkGetMacro(WeightNonManifoldEdges, vtkTypeBool);
310 vtkBooleanMacro(WeightNonManifoldEdges, vtkTypeBool);
312
314
317 vtkSetMacro(GenerateErrorScalars, vtkTypeBool);
318 vtkGetMacro(GenerateErrorScalars, vtkTypeBool);
319 vtkBooleanMacro(GenerateErrorScalars, vtkTypeBool);
321
323
326 vtkSetMacro(GenerateErrorVectors, vtkTypeBool);
327 vtkGetMacro(GenerateErrorVectors, vtkTypeBool);
328 vtkBooleanMacro(GenerateErrorVectors, vtkTypeBool);
330
331protected:
333 ~vtkWindowedSincPolyDataFilter() override = default;
334
336
338 double PassBand;
339
342
345 double EdgeAngle;
348
350
353
354private:
356 void operator=(const vtkWindowedSincPolyDataFilter&) = delete;
357};
358
359VTK_ABI_NAMESPACE_END
360#endif
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
adjust point positions using a windowed sinc function interpolation kernel
void SetWindowFunctionoHanning()
Window function used for approximating the low-pass filter they determine how many iterations are nee...
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetWindowFunctionToBlackman()
Window function used for approximating the low-pass filter they determine how many iterations are nee...
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to obtain information, and print information about the the object.
static vtkWindowedSincPolyDataFilter * New()
Construct object with number of iterations 20; passband .1; feature edge smoothing turned off; featur...
void SetWindowFunctionToNuttall()
Window function used for approximating the low-pass filter they determine how many iterations are nee...
void SetWindowFunctionToHamming()
Window function used for approximating the low-pass filter they determine how many iterations are nee...
~vtkWindowedSincPolyDataFilter() override=default
int vtkTypeBool
Definition vtkABI.h:64
#define VTK_INT_MAX
Definition vtkType.h:144