VTK
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);
93  { this->SetNeighborhoodType(RADIUS); }
95  { this->SetNeighborhoodType(N_CLOSEST); }
97 
99 
104  vtkSetClampMacro(Radius,double,1,VTK_DOUBLE_MAX);
105  vtkGetMacro(Radius,double);
107 
109 
114  vtkSetClampMacro(NumberOfClosestPoints,int,1,VTK_INT_MAX);
115  vtkGetMacro(NumberOfClosestPoints,int);
117 
119 
127  vtkSetClampMacro(TargetDistance,double,0.0,VTK_DOUBLE_MAX);
128  vtkGetMacro(TargetDistance,double);
130 
132 
136  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
137  vtkGetMacro(MaximumNumberOfIterations, int);
139 
141 
148  vtkSetClampMacro(MaximumNumberOfPoints,vtkIdType,1,VTK_ID_MAX);
149  vtkGetMacro(MaximumNumberOfPoints,vtkIdType);
151 
153 
157  vtkSetMacro(InterpolateAttributeData,bool);
158  vtkGetMacro(InterpolateAttributeData,bool);
159  vtkBooleanMacro(InterpolateAttributeData,bool);
161 
162 protected:
164  ~vtkDensifyPointCloudFilter() override;
165 
166  // Data members
168  double Radius;
174 
175  // Pipeline management
177  vtkInformationVector *) override;
178  int FillInputPortInformation(int port, vtkInformation *info) override;
179 
180 private:
182  void operator=(const vtkDensifyPointCloudFilter&) = delete;
183 
184 };
185 
186 #endif
#define VTK_DOUBLE_MAX
Definition: vtkType.h:169
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:159
add points to a point cloud to make it denser
int vtkIdType
Definition: vtkType.h:347
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:155
#define VTK_ID_MAX
Definition: vtkType.h:351
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.