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 =========================================================================*/
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) VTK_OVERRIDE;
66 
76  {
77  RADIUS=0,
78  N_CLOSEST=1
79  };
80 
82 
87  vtkSetMacro(NeighborhoodType,int);
88  vtkGetMacro(NeighborhoodType,int);
90  { this->SetNeighborhoodType(RADIUS); }
92  { this->SetNeighborhoodType(N_CLOSEST); }
94 
96 
101  vtkSetClampMacro(Radius,double,1,VTK_DOUBLE_MAX);
102  vtkGetMacro(Radius,double);
104 
106 
111  vtkSetClampMacro(NumberOfClosestPoints,int,1,VTK_INT_MAX);
112  vtkGetMacro(NumberOfClosestPoints,int);
114 
116 
124  vtkSetClampMacro(TargetDistance,double,0.0,VTK_DOUBLE_MAX);
125  vtkGetMacro(TargetDistance,double);
127 
129 
133  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
134  vtkGetMacro(MaximumNumberOfIterations, int);
136 
138 
145  vtkSetClampMacro(MaximumNumberOfPoints,vtkIdType,1,VTK_ID_MAX);
146  vtkGetMacro(MaximumNumberOfPoints,vtkIdType);
148 
150 
154  vtkSetMacro(InterpolateAttributeData,bool);
155  vtkGetMacro(InterpolateAttributeData,bool);
156  vtkBooleanMacro(InterpolateAttributeData,bool);
158 
159 protected:
161  ~vtkDensifyPointCloudFilter() VTK_OVERRIDE;
162 
163  // Data members
165  double Radius;
166  int NumberOfClosestPoints;
167  double TargetDistance;
168  int MaximumNumberOfIterations;
169  bool InterpolateAttributeData;
170  vtkIdType MaximumNumberOfPoints;
171 
172  // Pipeline management
173  int RequestData(vtkInformation *, vtkInformationVector **,
174  vtkInformationVector *) VTK_OVERRIDE;
175  int FillInputPortInformation(int port, vtkInformation *info) VTK_OVERRIDE;
176 
177 private:
178  vtkDensifyPointCloudFilter(const vtkDensifyPointCloudFilter&) VTK_DELETE_FUNCTION;
179  void operator=(const vtkDensifyPointCloudFilter&) VTK_DELETE_FUNCTION;
180 
181 };
182 
183 #endif
#define VTK_DOUBLE_MAX
Definition: vtkType.h:167
Store vtkAlgorithm input/output information.
#define VTK_INT_MAX
Definition: vtkType.h:157
add points to a point cloud to make it denser
int vtkIdType
Definition: vtkType.h:345
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:33
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
#define VTK_SHORT_MAX
Definition: vtkType.h:153
#define VTK_ID_MAX
Definition: vtkType.h:349
Store zero or more vtkInformation instances.
void SetNeighborhoodTypeToRadius()
Specify how the local point neighborhood is defined.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
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.