VTK  9.3.1
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 
24 VTK_ABI_NAMESPACE_BEGIN
25 class VTKCOMMONCORE_EXPORT vtkBoxMuellerRandomSequence : public vtkGaussianRandomSequence
26 {
27 public:
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 
56  vtkRandomSequence* GetUniformSequence();
57 
62  void SetUniformSequence(vtkRandomSequence* uniformSequence);
63 
64 protected:
66  ~vtkBoxMuellerRandomSequence() override;
67 
69  double Value;
70 
71 private:
73  void operator=(const vtkBoxMuellerRandomSequence&) = delete;
74 };
75 
76 VTK_ABI_NAMESPACE_END
77 #endif // #ifndef vtkBoxMuellerRandomSequence_h
Generate a sequence of random numbers.
virtual void Next()=0
Move to the next number in the random sequence.
virtual double GetValue()=0
Return the current value.
a simple class to control print indentation
Definition: vtkIndent.h:28
Gaussian sequence of pseudo random numbers.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
Gaussian sequence of pseudo random numbers implemented with the Box-Mueller transform.
void Initialize(vtkTypeUInt32 vtkNotUsed(seed)) override
Satisfy general API of vtkRandomSequence superclass.
void PrintSelf(ostream &os, vtkIndent indent) override
Standard methods for type information and printing.