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
53
54VTK_ABI_NAMESPACE_BEGIN
55class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
56{
57public:
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
158protected:
161
162 // Data members
164 double Radius;
170
171 // Pipeline management
173 int FillInputPortInformation(int port, vtkInformation* info) override;
174
175private:
177 void operator=(const vtkDensifyPointCloudFilter&) = delete;
178};
179
180VTK_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.
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:38
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