VTK  9.1.0
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=========================================================================*/
48#ifndef vtkDensifyPointCloudFilter_h
49#define vtkDensifyPointCloudFilter_h
50
51#include "vtkFiltersPointsModule.h" // For export macro
53
54class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
55{
56public:
58
64 void PrintSelf(ostream& os, vtkIndent indent) override;
66
76 {
77 RADIUS = 0,
78 N_CLOSEST = 1
79 };
80
82
87 vtkSetMacro(NeighborhoodType, int);
88 vtkGetMacro(NeighborhoodType, int);
89 void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
90 void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
92
94
99 vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
100 vtkGetMacro(Radius, double);
102
104
109 vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
110 vtkGetMacro(NumberOfClosestPoints, int);
112
114
122 vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
123 vtkGetMacro(TargetDistance, double);
125
127
131 vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
132 vtkGetMacro(MaximumNumberOfIterations, int);
134
136
143 vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
144 vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
146
148
152 vtkSetMacro(InterpolateAttributeData, bool);
153 vtkGetMacro(InterpolateAttributeData, bool);
154 vtkBooleanMacro(InterpolateAttributeData, bool);
156
157protected:
160
161 // Data members
163 double Radius;
169
170 // Pipeline management
173
174private:
176 void operator=(const vtkDensifyPointCloudFilter&) = delete;
177};
178
179#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:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
@ info
Definition: vtkX3D.h:382
@ port
Definition: vtkX3D.h:453
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