VTK  9.3.0
vtkBoxMuellerRandomSequence.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
18#ifndef vtkBoxMuellerRandomSequence_h
19#define vtkBoxMuellerRandomSequence_h
20
21#include "vtkCommonCoreModule.h" // For export macro
23
24VTK_ABI_NAMESPACE_BEGIN
25class VTKCOMMONCORE_EXPORT vtkBoxMuellerRandomSequence : public vtkGaussianRandomSequence
26{
27public:
29
34 void PrintSelf(ostream& os, vtkIndent indent) override;
36
41 void Initialize(vtkTypeUInt32 vtkNotUsed(seed)) override {}
42
46 double GetValue() override;
47
51 void Next() override;
52
57
62 void SetUniformSequence(vtkRandomSequence* uniformSequence);
63
64protected:
67
69 double Value;
70
71private:
73 void operator=(const vtkBoxMuellerRandomSequence&) = delete;
74};
75
76VTK_ABI_NAMESPACE_END
77#endif // #ifndef vtkBoxMuellerRandomSequence_h
Gaussian sequence of pseudo random numbers implemented with the Box-Mueller transform.
void SetUniformSequence(vtkRandomSequence *uniformSequence)
Set the uniformly distributed sequence of random numbers.
static vtkBoxMuellerRandomSequence * New()
Standard methods for instantiation, type information, and printing.
~vtkBoxMuellerRandomSequence() override
void Next() override
Move to the next number in the random sequence.
vtkRandomSequence * GetUniformSequence()
Return the uniformly distributed sequence of random numbers.
double GetValue() override
Current value.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for instantiation, type information, and printing.
void Initialize(vtkTypeUInt32 vtkNotUsed(seed)) override
Satisfy general API of vtkRandomSequence superclass.
Gaussian sequence of pseudo random numbers.
a simple class to control print indentation
Definition vtkIndent.h:29
Generate a sequence of random numbers.