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 =========================================================================*/
70 #ifndef vtkDensifyPointCloudFilter_h
71 #define vtkDensifyPointCloudFilter_h
72 
73 #include "vtkFiltersPointsModule.h" // For export macro
74 #include "vtkPolyDataAlgorithm.h"
75 
76 class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
77 {
78 public:
80 
86  void PrintSelf(ostream& os, vtkIndent indent) override;
88 
98  {
99  RADIUS = 0,
100  N_CLOSEST = 1
101  };
102 
104 
109  vtkSetMacro(NeighborhoodType, int);
110  vtkGetMacro(NeighborhoodType, int);
111  void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
112  void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
114 
116 
121  vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
122  vtkGetMacro(Radius, double);
124 
126 
131  vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
132  vtkGetMacro(NumberOfClosestPoints, int);
134 
136 
144  vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
145  vtkGetMacro(TargetDistance, double);
147 
149 
153  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
154  vtkGetMacro(MaximumNumberOfIterations, int);
156 
158 
165  vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
166  vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
168 
170 
174  vtkSetMacro(InterpolateAttributeData, bool);
175  vtkGetMacro(InterpolateAttributeData, bool);
176  vtkBooleanMacro(InterpolateAttributeData, bool);
178 
179 protected:
182 
183  // Data members
185  double Radius;
191 
192  // Pipeline management
195 
196 private:
198  void operator=(const vtkDensifyPointCloudFilter&) = delete;
199 };
200 
201 #endif
add points to a point cloud to make it denser
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkDensifyPointCloudFilter * New()
Standard methods for instantiating, obtaining type information, and printing information.
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.
~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:119
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