VTK  9.5.20251126
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
23
24#ifndef vtkLissajousPointCloud_h
25#define vtkLissajousPointCloud_h
26
27#include "vtkFiltersSourcesModule.h" // For export macro.
28#include "vtkMath.h" // For vtkMath::Pi().
30#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
31
32VTK_ABI_NAMESPACE_BEGIN
33
34class VTKFILTERSSOURCES_EXPORT VTK_MARSHALAUTO vtkLissajousPointCloud : public vtkPolyDataAlgorithm
35{
36public:
38
43 void PrintSelf(ostream& os, vtkIndent indent) override;
45
47
53
55
58 vtkSetVector3Macro(Amplitude, double);
59 vtkGetVectorMacro(Amplitude, double, 3);
61
63
66 vtkSetVector3Macro(Frequency, double);
67 vtkGetVectorMacro(Frequency, double, 3);
69
71
74 vtkSetVector3Macro(Phase, double);
75 vtkGetVectorMacro(Phase, double, 3);
77
79
82 vtkSetVector3Macro(Noise, double);
83 vtkGetVectorMacro(Noise, double, 3);
85
87
91 vtkGetMacro(Radius, double);
92 vtkSetClampMacro(Radius, double, 0, VTK_DOUBLE_MAX);
94
96
108
110
115 vtkGetMacro(DeterministicSeed, int);
116 vtkSetMacro(DeterministicSeed, int);
118
120
127
129
139
141
149 vtkGetMacro(BackgroundLabel, int);
150 vtkSetMacro(BackgroundLabel, int);
152
153protected:
156
158 vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
159
161 double Amplitude[3] = { 1, 1, 1 };
162 double Frequency[3] = { 1, 2, 3 };
163 double Phase[3] = { vtkMath::Pi() / 2., 0., vtkMath::Pi() / 8. };
164 double Noise[3] = { 0.05, 0.05, 0.05 };
168 int DeterministicSeed{ 0xea7beef };
169 double Radius{ 0. };
172};
173
174VTK_ABI_NAMESPACE_END
175#endif
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
~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:367
#define VTK_DOUBLE_MAX
Definition vtkType.h:206
#define VTK_MARSHALAUTO