VTK  9.6.1
vtkPointSource.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
30
31#ifndef vtkPointSource_h
32#define vtkPointSource_h
33
34#include "vtkFiltersSourcesModule.h" // For export macro
36#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
37
38#define VTK_POINT_SHELL 0
39#define VTK_POINT_UNIFORM 1
40#define VTK_POINT_EXPONENTIAL 2
41
42VTK_ABI_NAMESPACE_BEGIN
44
45class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkPointSource : public vtkPolyDataAlgorithm
46{
47public:
49
54 void PrintSelf(ostream& os, vtkIndent indent) override;
56
58
61 vtkSetClampMacro(NumberOfPoints, vtkIdType, 1, VTK_ID_MAX);
64
66
69 vtkSetVector3Macro(Center, double);
70 vtkGetVectorMacro(Center, double, 3);
72
74
79 vtkSetClampMacro(Radius, double, 0.0, VTK_DOUBLE_MAX);
80 vtkGetMacro(Radius, double);
82
84
95 vtkGetMacro(Distribution, int);
97
99
106 vtkSetMacro(Lambda, double);
107 vtkGetMacro(Lambda, double);
109
111
116 vtkSetMacro(OutputPointsPrecision, int);
117 vtkGetMacro(OutputPointsPrecision, int);
119
121
126 virtual void SetRandomSequence(vtkRandomSequence* randomSequence);
129
130protected:
132 ~vtkPointSource() override;
133
135
136 double Random();
137
139 double Center[3];
140 double Radius;
142 double Lambda;
145
146private:
147 vtkPointSource(const vtkPointSource&) = delete;
148 void operator=(const vtkPointSource&) = delete;
149};
150
151VTK_ABI_NAMESPACE_END
152#endif
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
vtkRandomSequence * RandomSequence
double Random()
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
void SetDistributionToShell()
Specify the point distribution to use.
vtkIdType NumberOfPoints
void SetDistributionToExponential()
Specify the point distribution to use.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkPointSource * New()
Standard methods for instantiation, type information, and printing.
void SetDistributionToUniform()
Specify the point distribution to use.
vtkPointSource(vtkIdType numPts=10)
~vtkPointSource() override
virtual void SetRandomSequence(vtkRandomSequence *randomSequence)
Set/Get a random sequence generator.
virtual void SetDistribution(int)
Specify the point distribution to use.
Generate a sequence of random numbers.
#define VTK_POINT_UNIFORM
#define VTK_POINT_SHELL
#define VTK_POINT_EXPONENTIAL
int vtkIdType
Definition vtkType.h:368
#define VTK_ID_MAX
Definition vtkType.h:372
#define VTK_DOUBLE_MAX
Definition vtkType.h:207
#define VTK_MARSHALAUTO