VTK  9.2.6
vtkDensifyPointCloudFilter.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkDensifyPointCloudFilter.h
5
6 Copyright (c) Kitware, Inc.
7 All rights reserved.
8 See LICENSE file for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
60#ifndef vtkDensifyPointCloudFilter_h
61#define vtkDensifyPointCloudFilter_h
62
63#include "vtkFiltersPointsModule.h" // For export macro
65
66class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
67{
68public:
70
76 void PrintSelf(ostream& os, vtkIndent indent) override;
78
88 {
89 RADIUS = 0,
90 N_CLOSEST = 1
91 };
92
94
99 vtkSetMacro(NeighborhoodType, int);
100 vtkGetMacro(NeighborhoodType, int);
101 void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
102 void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
104
106
111 vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
112 vtkGetMacro(Radius, double);
114
116
121 vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
122 vtkGetMacro(NumberOfClosestPoints, int);
124
126
134 vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
135 vtkGetMacro(TargetDistance, double);
137
139
143 vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
144 vtkGetMacro(MaximumNumberOfIterations, int);
146
148
155 vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
156 vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
158
160
164 vtkSetMacro(InterpolateAttributeData, bool);
165 vtkGetMacro(InterpolateAttributeData, bool);
166 vtkBooleanMacro(InterpolateAttributeData, bool);
168
169protected:
172
173 // Data members
175 double Radius;
181
182 // Pipeline management
184 int FillInputPortInformation(int port, vtkInformation* info) override;
185
186private:
188 void operator=(const vtkDensifyPointCloudFilter&) = delete;
189};
190
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:49
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:332
#define VTK_SHORT_MAX
Definition vtkType.h:151
#define VTK_ID_MAX
Definition vtkType.h:336
#define VTK_DOUBLE_MAX
Definition vtkType.h:165
#define VTK_INT_MAX
Definition vtkType.h:155