VTK  9.3.1
vtkDensifyPointCloudFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-CLAUSE
39 #ifndef vtkDensifyPointCloudFilter_h
40 #define vtkDensifyPointCloudFilter_h
41 
42 #include "vtkFiltersPointsModule.h" // For export macro
43 #include "vtkPolyDataAlgorithm.h"
44 
45 VTK_ABI_NAMESPACE_BEGIN
46 class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
47 {
48 public:
50 
56  void PrintSelf(ostream& os, vtkIndent indent) override;
58 
68  {
69  RADIUS = 0,
70  N_CLOSEST = 1
71  };
72 
74 
79  vtkSetMacro(NeighborhoodType, int);
80  vtkGetMacro(NeighborhoodType, int);
81  void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
82  void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
84 
86 
91  vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
92  vtkGetMacro(Radius, double);
94 
96 
101  vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
102  vtkGetMacro(NumberOfClosestPoints, int);
104 
106 
114  vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
115  vtkGetMacro(TargetDistance, double);
117 
119 
123  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
124  vtkGetMacro(MaximumNumberOfIterations, int);
126 
128 
135  vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
136  vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
138 
140 
144  vtkSetMacro(InterpolateAttributeData, bool);
145  vtkGetMacro(InterpolateAttributeData, bool);
146  vtkBooleanMacro(InterpolateAttributeData, bool);
148 
149 protected:
151  ~vtkDensifyPointCloudFilter() override;
152 
153  // Data members
155  double Radius;
161 
162  // Pipeline management
164  int FillInputPortInformation(int port, vtkInformation* info) override;
165 
166 private:
168  void operator=(const vtkDensifyPointCloudFilter&) = delete;
169 };
170 
171 VTK_ABI_NAMESPACE_END
172 #endif
#define VTK_DOUBLE_MAX
Definition: vtkType.h:154
Store vtkAlgorithm input/output information.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
#define VTK_INT_MAX
Definition: vtkType.h:144
add points to a point cloud to make it denser
int vtkIdType
Definition: vtkType.h:315
void SetNeighborhoodTypeToNClosest()
Specify how the local point neighborhood is defined.
static vtkPolyDataAlgorithm * New()
Superclass for algorithms that produce only polydata as output.
a simple class to control print indentation
Definition: vtkIndent.h:28
#define VTK_SHORT_MAX
Definition: vtkType.h:140
#define VTK_ID_MAX
Definition: vtkType.h:319
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
Store zero or more vtkInformation instances.
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 PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.