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
55 #include "vtkPolyDataAlgorithm.h"
56 
57 class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
58 {
59 public:
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 
160 protected:
162  ~vtkDensifyPointCloudFilter() override;
163 
164  // Data members
166  double Radius;
172 
173  // Pipeline management
175  int FillInputPortInformation(int port, vtkInformation* info) override;
176 
177 private:
179  void operator=(const vtkDensifyPointCloudFilter&) = delete;
180 };
181 
182 #endif
#define VTK_DOUBLE_MAX
Definition: vtkType.h:165
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:155
add points to a point cloud to make it denser
int vtkIdType
Definition: vtkType.h:332
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:39
#define VTK_SHORT_MAX
Definition: vtkType.h:151
#define VTK_ID_MAX
Definition: vtkType.h:336
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.