#include <Random.h>
Public Member Functions | |
HaltonSequence (AZStd::array< uint32_t, Dimensions > bases) | |
template<typename Iterator > | |
void | FillHaltonSequence (Iterator begin, Iterator end) |
template<uint32_t N> | |
AZStd::array< AZStd::array< float, Dimensions >, N > | GetHaltonSequence () |
Returns a Halton sequence in an array of N length. | |
void | SetOffsets (AZStd::array< uint32_t, Dimensions > offsets) |
void | SetIncrements (AZStd::array< int32_t, Dimensions > increments) |
A helper class for generating arrays of Halton sequences in n dimensions. The class holds the state of which bases to use, the starting offset of each dimension and how much to increment between each index for each dimension.
|
inline |
Initializes a Halton sequence with some bases. By default there is no offset and the index increments by 1 between each number.
|
inline |
Fills a provided container from begin to end with a Halton sequence. Entries are expected to be, or implicitly converted to, AZStd::array<float, Dimensions>.
|
inline |
Sets the increment between numbers in the halton sequence per dimension By default this is 1, meaning that no numbers are skipped. Can be negative to generate numbers in reverse order.
|
inline |
Sets the offsets per dimension to start generating a sequence from. By default, there is no offset (offset of 0 corresponds to starting at index 1).