VTK  9.3.1
vtkRadiusOutlierRemoval.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
40 #ifndef vtkRadiusOutlierRemoval_h
41 #define vtkRadiusOutlierRemoval_h
42 
43 #include "vtkFiltersPointsModule.h" // For export macro
44 #include "vtkPointCloudFilter.h"
45 
46 VTK_ABI_NAMESPACE_BEGIN
48 class vtkPointSet;
49 
50 class VTKFILTERSPOINTS_EXPORT vtkRadiusOutlierRemoval : public vtkPointCloudFilter
51 {
52 public:
54 
58  static vtkRadiusOutlierRemoval* New();
60  void PrintSelf(ostream& os, vtkIndent indent) override;
62 
64 
67  vtkSetClampMacro(Radius, double, 0.0, VTK_FLOAT_MAX);
68  vtkGetMacro(Radius, double);
70 
72 
76  vtkSetClampMacro(NumberOfNeighbors, int, 1, VTK_INT_MAX);
77  vtkGetMacro(NumberOfNeighbors, int);
79 
81 
86  void SetLocator(vtkAbstractPointLocator* locator);
87  vtkGetObjectMacro(Locator, vtkAbstractPointLocator);
89 
90 protected:
92  ~vtkRadiusOutlierRemoval() override;
93 
94  double Radius;
97 
98  // All derived classes must implement this method. Note that a side effect of
99  // the class is to populate the PointMap. Zero is returned if there is a failure.
100  int FilterPoints(vtkPointSet* input) override;
101 
102 private:
104  void operator=(const vtkRadiusOutlierRemoval&) = delete;
105 };
106 
107 VTK_ABI_NAMESPACE_END
108 #endif
remove isolated points
#define VTK_INT_MAX
Definition: vtkType.h:144
concrete class for storing a set of points
Definition: vtkPointSet.h:58
virtual int FilterPoints(vtkPointSet *input)=0
static vtkPolyDataAlgorithm * New()
#define VTK_FLOAT_MAX
Definition: vtkType.h:152
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract class to quickly locate points in 3-space
vtkAbstractPointLocator * Locator
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods to obtain type information, and print information.
abstract class for filtering a point cloud