VTK  9.2.20220703
vtkBoxMuellerRandomSequence.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkBoxMuellerRandomSequence.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 =========================================================================*/
58 #ifndef vtkBoxMuellerRandomSequence_h
59 #define vtkBoxMuellerRandomSequence_h
60 
61 #include "vtkCommonCoreModule.h" // For export macro
63 
64 class VTKCOMMONCORE_EXPORT vtkBoxMuellerRandomSequence : public vtkGaussianRandomSequence
65 {
66 public:
68 
73  void PrintSelf(ostream& os, vtkIndent indent) override;
75 
80  void Initialize(vtkTypeUInt32 vtkNotUsed(seed)) override {}
81 
85  double GetValue() override;
86 
90  void Next() override;
91 
96 
101  void SetUniformSequence(vtkRandomSequence* uniformSequence);
102 
103 protected:
106 
108  double Value;
109 
110 private:
112  void operator=(const vtkBoxMuellerRandomSequence&) = delete;
113 };
114 
115 #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.
vtkRandomSequence * GetUniformSequence()
Return the uniformly distributed sequence of random numbers.
~vtkBoxMuellerRandomSequence() override
void Next() override
Move to the next number in the random sequence.
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:119
Generate a sequence of random numbers.