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 =========================================================================*/
48 #ifndef vtkDensifyPointCloudFilter_h
49 #define vtkDensifyPointCloudFilter_h
50 
51 #include "vtkFiltersPointsModule.h" // For export macro
52 #include "vtkPolyDataAlgorithm.h"
53 
54 class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
55 {
56 public:
58 
64  void PrintSelf(ostream& os, vtkIndent indent) override;
66 
76  {
77  RADIUS = 0,
78  N_CLOSEST = 1
79  };
80 
82 
87  vtkSetMacro(NeighborhoodType, int);
88  vtkGetMacro(NeighborhoodType, int);
89  void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
90  void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
92 
94 
99  vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
100  vtkGetMacro(Radius, double);
102 
104 
109  vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
110  vtkGetMacro(NumberOfClosestPoints, int);
112 
114 
122  vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
123  vtkGetMacro(TargetDistance, double);
125 
127 
131  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
132  vtkGetMacro(MaximumNumberOfIterations, int);
134 
136 
143  vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
144  vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
146 
148 
152  vtkSetMacro(InterpolateAttributeData, bool);
153  vtkGetMacro(InterpolateAttributeData, bool);
154  vtkBooleanMacro(InterpolateAttributeData, bool);
156 
157 protected:
160 
161  // Data members
163  double Radius;
169 
170  // Pipeline management
173 
174 private:
176  void operator=(const vtkDensifyPointCloudFilter&) = delete;
177 };
178 
179 #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:34
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