VTK  9.3.20240318
vtkPolyDataPointSampler.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
84 #ifndef vtkPolyDataPointSampler_h
85 #define vtkPolyDataPointSampler_h
86 
87 #include "vtkEdgeTable.h" // for sampling edges
88 #include "vtkFiltersModelingModule.h" // For export macro
89 #include "vtkNew.h" // for data members
90 #include "vtkPolyDataAlgorithm.h"
91 
92 VTK_ABI_NAMESPACE_BEGIN
93 class VTKFILTERSMODELING_EXPORT vtkPolyDataPointSampler : public vtkPolyDataAlgorithm
94 {
95 public:
100 
102 
106  void PrintSelf(ostream& os, vtkIndent indent) override;
108 
110 
114  vtkSetClampMacro(Distance, double, 0.0, VTK_FLOAT_MAX);
115  vtkGetMacro(Distance, double);
117 
121  enum
122  {
124  RANDOM_GENERATION
125  };
126 
128 
133  vtkSetClampMacro(PointGenerationMode, int, REGULAR_GENERATION, RANDOM_GENERATION);
134  vtkGetMacro(PointGenerationMode, int);
135  void SetPointGenerationModeToRegular() { this->SetPointGenerationMode(REGULAR_GENERATION); }
136  void SetPointGenerationModeToRandom() { this->SetPointGenerationMode(RANDOM_GENERATION); }
138 
140 
144  vtkGetMacro(GenerateVertexPoints, bool);
145  vtkSetMacro(GenerateVertexPoints, bool);
146  vtkBooleanMacro(GenerateVertexPoints, bool);
148 
150 
154  vtkGetMacro(GenerateEdgePoints, bool);
155  vtkSetMacro(GenerateEdgePoints, bool);
156  vtkBooleanMacro(GenerateEdgePoints, bool);
158 
160 
164  vtkGetMacro(GenerateInteriorPoints, bool);
165  vtkSetMacro(GenerateInteriorPoints, bool);
166  vtkBooleanMacro(GenerateInteriorPoints, bool);
168 
170 
177  vtkGetMacro(GenerateVertices, bool);
178  vtkSetMacro(GenerateVertices, bool);
179  vtkBooleanMacro(GenerateVertices, bool);
181 
183 
191  vtkGetMacro(InterpolatePointData, bool);
192  vtkSetMacro(InterpolatePointData, bool);
193  vtkBooleanMacro(InterpolatePointData, bool);
195 
196 protected:
198  ~vtkPolyDataPointSampler() override = default;
199 
201 
202  double Distance;
204 
209 
211 
212 private:
214  void operator=(const vtkPolyDataPointSampler&) = delete;
215 };
216 
217 VTK_ABI_NAMESPACE_END
218 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only polydata as output.
generate points from vtkPolyData
~vtkPolyDataPointSampler() override=default
void SetPointGenerationModeToRandom()
Specify/retrieve the type of point generation: either regular point generation or random point genera...
static vtkPolyDataPointSampler * New()
Instantiate this class.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard macros for type information and printing.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetPointGenerationModeToRegular()
Specify/retrieve the type of point generation: either regular point generation or random point genera...
#define VTK_FLOAT_MAX
Definition: vtkType.h:152