VTK  9.3.20240424
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
63
64VTK_ABI_NAMESPACE_BEGIN
65class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
66{
67public:
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
168protected:
171
172 // Data members
174 double Radius;
180
181 // Pipeline management
183 int FillInputPortInformation(int port, vtkInformation* info) override;
184
185private:
187 void operator=(const vtkDensifyPointCloudFilter&) = delete;
188};
189
190VTK_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.
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.
static vtkDensifyPointCloudFilter * New()
Standard methods for instantiating, obtaining type information, and printing information.
~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.
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