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=========================================================================*/
51#ifndef vtkDensifyPointCloudFilter_h
52#define vtkDensifyPointCloudFilter_h
53
54#include "vtkFiltersPointsModule.h" // For export macro
56
57class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
58{
59public:
61
67 void PrintSelf(ostream& os, vtkIndent indent) override;
69
79 {
80 RADIUS = 0,
81 N_CLOSEST = 1
82 };
83
85
90 vtkSetMacro(NeighborhoodType, int);
91 vtkGetMacro(NeighborhoodType, int);
92 void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
93 void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
95
97
102 vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
103 vtkGetMacro(Radius, double);
105
107
112 vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
113 vtkGetMacro(NumberOfClosestPoints, int);
115
117
125 vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
126 vtkGetMacro(TargetDistance, double);
128
130
134 vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
135 vtkGetMacro(MaximumNumberOfIterations, int);
137
139
146 vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
147 vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
149
151
155 vtkSetMacro(InterpolateAttributeData, bool);
156 vtkGetMacro(InterpolateAttributeData, bool);
157 vtkBooleanMacro(InterpolateAttributeData, bool);
159
160protected:
163
164 // Data members
166 double Radius;
172
173 // Pipeline management
175 int FillInputPortInformation(int port, vtkInformation* info) override;
176
177private:
179 void operator=(const vtkDensifyPointCloudFilter&) = delete;
180};
181
182#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:40
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