VTK  9.3.20240328
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
58 #ifndef vtkDensifyPointCloudFilter_h
59 #define vtkDensifyPointCloudFilter_h
60 
61 #include "vtkFiltersPointsModule.h" // For export macro
62 #include "vtkPolyDataAlgorithm.h"
63 
64 VTK_ABI_NAMESPACE_BEGIN
65 class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
66 {
67 public:
69 
75  void PrintSelf(ostream& os, vtkIndent indent) override;
77 
87  {
88  RADIUS = 0,
89  N_CLOSEST = 1
90  };
91 
93 
98  vtkSetMacro(NeighborhoodType, int);
99  vtkGetMacro(NeighborhoodType, int);
100  void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
101  void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
103 
105 
110  vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
111  vtkGetMacro(Radius, double);
113 
115 
120  vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
121  vtkGetMacro(NumberOfClosestPoints, int);
123 
125 
133  vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
134  vtkGetMacro(TargetDistance, double);
136 
138 
142  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
143  vtkGetMacro(MaximumNumberOfIterations, int);
145 
147 
154  vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
155  vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
157 
159 
163  vtkSetMacro(InterpolateAttributeData, bool);
164  vtkGetMacro(InterpolateAttributeData, bool);
165  vtkBooleanMacro(InterpolateAttributeData, bool);
167 
168 protected:
171 
172  // Data members
174  double Radius;
180 
181  // Pipeline management
184 
185 private:
187  void operator=(const vtkDensifyPointCloudFilter&) = delete;
188 };
189 
190 VTK_ABI_NAMESPACE_END
191 #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:108
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