VTK  9.5.20250910
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
209#ifndef vtkWindowedSincPolyDataFilter_h
210#define vtkWindowedSincPolyDataFilter_h
211
212#include "vtkFiltersCoreModule.h" // For export macro
213#include "vtkPolyDataAlgorithm.h"
214#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
215
216VTK_ABI_NAMESPACE_BEGIN
218 : public vtkPolyDataAlgorithm
219{
220public:
228
230
235 void PrintSelf(ostream& os, vtkIndent indent) override;
237
239
244 vtkSetClampMacro(NumberOfIterations, int, 0, VTK_INT_MAX);
245 vtkGetMacro(NumberOfIterations, int);
247
249
252 vtkSetClampMacro(PassBand, double, 0.0, 2.0);
253 vtkGetMacro(PassBand, double);
255
257
265 vtkSetMacro(NormalizeCoordinates, vtkTypeBool);
266 vtkGetMacro(NormalizeCoordinates, vtkTypeBool);
267 vtkBooleanMacro(NormalizeCoordinates, vtkTypeBool);
269
273 enum
274 {
275 NUTTALL = 0,
278 HAMMING
279 };
280
282
293 vtkSetClampMacro(WindowFunction, int, NUTTALL, HAMMING);
294 vtkGetMacro(WindowFunction, int);
296 {
297 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::NUTTALL);
298 }
300 {
301 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::BLACKMAN);
302 }
304 {
305 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::HANNING);
306 }
308 {
309 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::HAMMING);
310 }
312
314
319 vtkSetMacro(FeatureEdgeSmoothing, vtkTypeBool);
320 vtkGetMacro(FeatureEdgeSmoothing, vtkTypeBool);
321 vtkBooleanMacro(FeatureEdgeSmoothing, vtkTypeBool);
323
325
329 vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
330 vtkGetMacro(FeatureAngle, double);
332
334
338 vtkSetClampMacro(EdgeAngle, double, 0.0, 180.0);
339 vtkGetMacro(EdgeAngle, double);
341
343
347 vtkSetMacro(BoundarySmoothing, vtkTypeBool);
348 vtkGetMacro(BoundarySmoothing, vtkTypeBool);
349 vtkBooleanMacro(BoundarySmoothing, vtkTypeBool);
351
353
357 vtkSetMacro(NonManifoldSmoothing, vtkTypeBool);
358 vtkGetMacro(NonManifoldSmoothing, vtkTypeBool);
359 vtkBooleanMacro(NonManifoldSmoothing, vtkTypeBool);
361
363
369 vtkSetMacro(WeightNonManifoldEdges, vtkTypeBool);
370 vtkGetMacro(WeightNonManifoldEdges, vtkTypeBool);
371 vtkBooleanMacro(WeightNonManifoldEdges, vtkTypeBool);
373
375
378 vtkSetMacro(GenerateErrorScalars, vtkTypeBool);
379 vtkGetMacro(GenerateErrorScalars, vtkTypeBool);
380 vtkBooleanMacro(GenerateErrorScalars, vtkTypeBool);
382
384
387 vtkSetMacro(GenerateErrorVectors, vtkTypeBool);
388 vtkGetMacro(GenerateErrorVectors, vtkTypeBool);
389 vtkBooleanMacro(GenerateErrorVectors, vtkTypeBool);
391
392protected:
394 ~vtkWindowedSincPolyDataFilter() override = default;
395
397
399 double PassBand;
400
403
406 double EdgeAngle;
409
411
414
415private:
417 void operator=(const vtkWindowedSincPolyDataFilter&) = delete;
418};
419
420VTK_ABI_NAMESPACE_END
421#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.
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:161
#define VTK_MARSHALAUTO