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=========================================================================*/
67#ifndef vtkDensifyPointCloudFilter_h
68#define vtkDensifyPointCloudFilter_h
69
70#include "vtkFiltersPointsModule.h" // For export macro
72
73class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
74{
75public:
77
83 void PrintSelf(ostream& os, vtkIndent indent) override;
85
95 {
96 RADIUS = 0,
97 N_CLOSEST = 1
98 };
99
101
106 vtkSetMacro(NeighborhoodType, int);
107 vtkGetMacro(NeighborhoodType, int);
108 void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
109 void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
111
113
118 vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
119 vtkGetMacro(Radius, double);
121
123
128 vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
129 vtkGetMacro(NumberOfClosestPoints, int);
131
133
141 vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
142 vtkGetMacro(TargetDistance, double);
144
146
150 vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
151 vtkGetMacro(MaximumNumberOfIterations, int);
153
155
162 vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
163 vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
165
167
171 vtkSetMacro(InterpolateAttributeData, bool);
172 vtkGetMacro(InterpolateAttributeData, bool);
173 vtkBooleanMacro(InterpolateAttributeData, bool);
175
176protected:
179
180 // Data members
182 double Radius;
188
189 // Pipeline management
191 int FillInputPortInformation(int port, vtkInformation* info) override;
192
193private:
195 void operator=(const vtkDensifyPointCloudFilter&) = delete;
196};
197
198#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:113
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