VTK  9.3.20240425
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
91
92VTK_ABI_NAMESPACE_BEGIN
93class VTKFILTERSMODELING_EXPORT vtkPolyDataPointSampler : public vtkPolyDataAlgorithm
94{
95public:
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
196protected:
198 ~vtkPolyDataPointSampler() override = default;
199
201
202 double Distance;
204
209
211
212private:
214 void operator=(const vtkPolyDataPointSampler&) = delete;
215};
216
217VTK_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
static vtkPolyDataPointSampler * New()
Instantiate this class.
~vtkPolyDataPointSampler() override=default
void SetPointGenerationModeToRandom()
Specify/retrieve the type of point generation: either regular point generation or random point genera...
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