VTK  9.3.20240420
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
215VTK_ABI_NAMESPACE_BEGIN
216class VTKFILTERSCORE_EXPORT vtkWindowedSincPolyDataFilter : public vtkPolyDataAlgorithm
217{
218public:
226
228
233 void PrintSelf(ostream& os, vtkIndent indent) override;
235
237
242 vtkSetClampMacro(NumberOfIterations, int, 0, VTK_INT_MAX);
243 vtkGetMacro(NumberOfIterations, int);
245
247
250 vtkSetClampMacro(PassBand, double, 0.0, 2.0);
251 vtkGetMacro(PassBand, double);
253
255
263 vtkSetMacro(NormalizeCoordinates, vtkTypeBool);
264 vtkGetMacro(NormalizeCoordinates, vtkTypeBool);
265 vtkBooleanMacro(NormalizeCoordinates, vtkTypeBool);
267
271 enum
272 {
273 NUTTALL = 0,
276 HAMMING
277 };
278
280
291 vtkSetClampMacro(WindowFunction, int, NUTTALL, HAMMING);
292 vtkGetMacro(WindowFunction, int);
294 {
295 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::NUTTALL);
296 }
298 {
299 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::BLACKMAN);
300 }
302 {
303 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::HANNING);
304 }
306 {
307 this->SetWindowFunction(vtkWindowedSincPolyDataFilter::HAMMING);
308 }
310
312
317 vtkSetMacro(FeatureEdgeSmoothing, vtkTypeBool);
318 vtkGetMacro(FeatureEdgeSmoothing, vtkTypeBool);
319 vtkBooleanMacro(FeatureEdgeSmoothing, vtkTypeBool);
321
323
327 vtkSetClampMacro(FeatureAngle, double, 0.0, 180.0);
328 vtkGetMacro(FeatureAngle, double);
330
332
336 vtkSetClampMacro(EdgeAngle, double, 0.0, 180.0);
337 vtkGetMacro(EdgeAngle, double);
339
341
345 vtkSetMacro(BoundarySmoothing, vtkTypeBool);
346 vtkGetMacro(BoundarySmoothing, vtkTypeBool);
347 vtkBooleanMacro(BoundarySmoothing, vtkTypeBool);
349
351
355 vtkSetMacro(NonManifoldSmoothing, vtkTypeBool);
356 vtkGetMacro(NonManifoldSmoothing, vtkTypeBool);
357 vtkBooleanMacro(NonManifoldSmoothing, vtkTypeBool);
359
361
367 vtkSetMacro(WeightNonManifoldEdges, vtkTypeBool);
368 vtkGetMacro(WeightNonManifoldEdges, vtkTypeBool);
369 vtkBooleanMacro(WeightNonManifoldEdges, vtkTypeBool);
371
373
376 vtkSetMacro(GenerateErrorScalars, vtkTypeBool);
377 vtkGetMacro(GenerateErrorScalars, vtkTypeBool);
378 vtkBooleanMacro(GenerateErrorScalars, vtkTypeBool);
380
382
385 vtkSetMacro(GenerateErrorVectors, vtkTypeBool);
386 vtkGetMacro(GenerateErrorVectors, vtkTypeBool);
387 vtkBooleanMacro(GenerateErrorVectors, vtkTypeBool);
389
390protected:
392 ~vtkWindowedSincPolyDataFilter() override = default;
393
395
397 double PassBand;
398
401
404 double EdgeAngle;
407
409
412
413private:
415 void operator=(const vtkWindowedSincPolyDataFilter&) = delete;
416};
417
418VTK_ABI_NAMESPACE_END
419#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:144