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=========================================================================*/
57#ifndef vtkDensifyPointCloudFilter_h
58#define vtkDensifyPointCloudFilter_h
59
60#include "vtkFiltersPointsModule.h" // For export macro
62
63class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
64{
65public:
67
73 void PrintSelf(ostream& os, vtkIndent indent) override;
75
85 {
86 RADIUS = 0,
87 N_CLOSEST = 1
88 };
89
91
96 vtkSetMacro(NeighborhoodType, int);
97 vtkGetMacro(NeighborhoodType, int);
98 void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
99 void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
101
103
108 vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
109 vtkGetMacro(Radius, double);
111
113
118 vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
119 vtkGetMacro(NumberOfClosestPoints, int);
121
123
131 vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
132 vtkGetMacro(TargetDistance, double);
134
136
140 vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
141 vtkGetMacro(MaximumNumberOfIterations, int);
143
145
152 vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
153 vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
155
157
161 vtkSetMacro(InterpolateAttributeData, bool);
162 vtkGetMacro(InterpolateAttributeData, bool);
163 vtkBooleanMacro(InterpolateAttributeData, bool);
165
166protected:
169
170 // Data members
172 double Radius;
178
179 // Pipeline management
182
183private:
185 void operator=(const vtkDensifyPointCloudFilter&) = delete;
186};
187
188#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:43
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