VTK  9.3.0
vtkDensifyPointCloudFilter.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
48 #ifndef vtkDensifyPointCloudFilter_h
49 #define vtkDensifyPointCloudFilter_h
50 
51 #include "vtkFiltersPointsModule.h" // For export macro
52 #include "vtkPolyDataAlgorithm.h"
53 
54 VTK_ABI_NAMESPACE_BEGIN
55 class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
56 {
57 public:
59 
65  void PrintSelf(ostream& os, vtkIndent indent) override;
67 
77  {
78  RADIUS = 0,
79  N_CLOSEST = 1
80  };
81 
83 
88  vtkSetMacro(NeighborhoodType, int);
89  vtkGetMacro(NeighborhoodType, int);
90  void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
91  void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
93 
95 
100  vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
101  vtkGetMacro(Radius, double);
103 
105 
110  vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
111  vtkGetMacro(NumberOfClosestPoints, int);
113 
115 
123  vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
124  vtkGetMacro(TargetDistance, double);
126 
128 
132  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
133  vtkGetMacro(MaximumNumberOfIterations, int);
135 
137 
144  vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
145  vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
147 
149 
153  vtkSetMacro(InterpolateAttributeData, bool);
154  vtkGetMacro(InterpolateAttributeData, bool);
155  vtkBooleanMacro(InterpolateAttributeData, bool);
157 
158 protected:
161 
162  // Data members
164  double Radius;
170 
171  // Pipeline management
174 
175 private:
177  void operator=(const vtkDensifyPointCloudFilter&) = delete;
178 };
179 
180 VTK_ABI_NAMESPACE_END
181 #endif
add points to a point cloud to make it denser
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkDensifyPointCloudFilter * New()
Standard methods for instantiating, obtaining type information, and printing information.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetNeighborhoodTypeToRadius()
Specify how the local point neighborhood is defined.
NeighborhoodType
This enum is used to specify how the local point neighborhood is defined.
void SetNeighborhoodTypeToNClosest()
Specify how the local point neighborhood is defined.
~vtkDensifyPointCloudFilter() override
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiating, obtaining type information, and printing information.
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
int vtkIdType
Definition: vtkType.h:315
#define VTK_SHORT_MAX
Definition: vtkType.h:140
#define VTK_ID_MAX
Definition: vtkType.h:319
#define VTK_DOUBLE_MAX
Definition: vtkType.h:154
#define VTK_INT_MAX
Definition: vtkType.h:144