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 =========================================================================*/
67 #ifndef vtkDensifyPointCloudFilter_h
68 #define vtkDensifyPointCloudFilter_h
69 
70 #include "vtkFiltersPointsModule.h" // For export macro
71 #include "vtkPolyDataAlgorithm.h"
72 
73 class VTKFILTERSPOINTS_EXPORT vtkDensifyPointCloudFilter : public vtkPolyDataAlgorithm
74 {
75 public:
77 
83  void PrintSelf(ostream& os, vtkIndent indent) override;
85 
95  {
96  RADIUS = 0,
97  N_CLOSEST = 1
98  };
99 
101 
106  vtkSetMacro(NeighborhoodType, int);
107  vtkGetMacro(NeighborhoodType, int);
108  void SetNeighborhoodTypeToRadius() { this->SetNeighborhoodType(RADIUS); }
109  void SetNeighborhoodTypeToNClosest() { this->SetNeighborhoodType(N_CLOSEST); }
111 
113 
118  vtkSetClampMacro(Radius, double, 1, VTK_DOUBLE_MAX);
119  vtkGetMacro(Radius, double);
121 
123 
128  vtkSetClampMacro(NumberOfClosestPoints, int, 1, VTK_INT_MAX);
129  vtkGetMacro(NumberOfClosestPoints, int);
131 
133 
141  vtkSetClampMacro(TargetDistance, double, 0.0, VTK_DOUBLE_MAX);
142  vtkGetMacro(TargetDistance, double);
144 
146 
150  vtkSetClampMacro(MaximumNumberOfIterations, int, 1, VTK_SHORT_MAX);
151  vtkGetMacro(MaximumNumberOfIterations, int);
153 
155 
162  vtkSetClampMacro(MaximumNumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
163  vtkGetMacro(MaximumNumberOfPoints, vtkIdType);
165 
167 
171  vtkSetMacro(InterpolateAttributeData, bool);
172  vtkGetMacro(InterpolateAttributeData, bool);
173  vtkBooleanMacro(InterpolateAttributeData, bool);
175 
176 protected:
179 
180  // Data members
182  double Radius;
188 
189  // Pipeline management
192 
193 private:
195  void operator=(const vtkDensifyPointCloudFilter&) = delete;
196 };
197 
198 #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:113
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