VTK  9.6.20260304
vtkLissajousPointCloud.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
26
27#ifndef vtkLissajousPointCloud_h
28#define vtkLissajousPointCloud_h
29
30#include "vtkFiltersSourcesModule.h" // For export macro.
31#include "vtkMath.h" // For vtkMath::Pi().
33#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
34
35VTK_ABI_NAMESPACE_BEGIN
36
37class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkLissajousPointCloud : public vtkPolyDataAlgorithm
38{
39public:
41
46 void PrintSelf(ostream& os, vtkIndent indent) override;
48
50
56
58
61 vtkSetVector3Macro(Amplitude, double);
62 vtkGetVectorMacro(Amplitude, double, 3);
64
66
69 vtkSetVector3Macro(Frequency, double);
70 vtkGetVectorMacro(Frequency, double, 3);
72
74
77 vtkSetVector3Macro(Phase, double);
78 vtkGetVectorMacro(Phase, double, 3);
80
82
85 vtkSetVector3Macro(Noise, double);
86 vtkGetVectorMacro(Noise, double, 3);
88
90
94 vtkGetMacro(Radius, double);
95 vtkSetClampMacro(Radius, double, 0, VTK_DOUBLE_MAX);
97
99
111
113
118 vtkGetMacro(DeterministicSeed, int);
119 vtkSetMacro(DeterministicSeed, int);
121
123
130
132
142
144
152 vtkGetMacro(BackgroundLabel, int);
153 vtkSetMacro(BackgroundLabel, int);
155
156protected:
159
161 vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
162
164 double Amplitude[3] = { 1, 1, 1 };
165 double Frequency[3] = { 1, 2, 3 };
166 double Phase[3] = { vtkMath::Pi() / 2., 0., vtkMath::Pi() / 8. };
167 double Noise[3] = { 0.05, 0.05, 0.05 };
171 int DeterministicSeed{ 0xea7beef };
172 double Radius{ 0. };
175
176private:
178 void operator=(const vtkLissajousPointCloud&) = delete;
179};
180
181VTK_ABI_NAMESPACE_END
182#endif
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
create a set of points distributed within a tube centered on a Lissajous curve.
~vtkLissajousPointCloud() override
int RequestData(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo) override
This is called by the superclass.
static vtkLissajousPointCloud * New()
Standard methods for instantiation, type information, and printing.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
static constexpr double Pi()
A mathematical constant.
Definition vtkMath.h:227
int vtkTypeBool
Definition vtkABI.h:64
int vtkIdType
Definition vtkType.h:363
#define VTK_DOUBLE_MAX
Definition vtkType.h:202
#define VTK_MARSHALAUTO