Sphere class
#include <ldsgen/lds.hpp>
Sphere sequence generator.
The Sphere class is a sequence generator that generates points on a unit sphere using the Van der Corput sequence. It uses the VdCorput class to generate the sequence values and maps them to points on the unit sphere. The pop() method returns the next point on the unit sphere as a std::array<double, 3>, where the first element represents the x-coordinate, the second element represents the y-coordinate of the point, and the third element represents the z-coordinate of the point. The reseed() method is used to reset the state of the sequence generator to a specific seed value.
* Unit Sphere: * ***** * ** ** * ** ** * * * * * O * Points distributed * * * evenly on surface * ** ** * ** ** * ***** *
Constructors, destructors, conversion operators
Public functions
- auto pop() -> std::array< double, 3 > -> auto
- Generate the next point on the unit sphere.
- auto peek() -> std::array< double, 3 > -> auto
- Peek at the next value without advancing state.
- auto skip(unsigned int n) -> void -> auto
- Skip n values in the sequence.
- auto reseed(const unsigned long& seed) -> void -> auto
- Reset the state of the Sphere sequence generator.
- auto get_index() const -> unsigned long -> auto
- Get current index.
- auto begin() -> GeneratorIterator< Sphere, std::array< double, 3 > > -> auto
- Get iterator to beginning.
- auto end() const -> GeneratorIterator< Sphere, std::array< double, 3 > > -> auto
- Get iterator to end (infinite sequence)
Function documentation
ldsgen:: Sphere:: Sphere(const unsigned long base0,
const unsigned long base1)
Construct a new Sphere object.
| Parameters | |
|---|---|
| base0 in | the base for the Van der Corput generator (phi coordinate) |
| base1 in | the base for the Circle generator (theta coordinate) |
Constructs a Sphere sequence generator with the specified bases for generating points on the unit sphere.
auto ldsgen:: Sphere:: pop() -> std::array< double, 3 >
Generate the next point on the unit sphere.
| Returns | std::array<double, 3> the next point on the unit sphere |
|---|
Returns the next point on the unit sphere as an array of three double values.
auto ldsgen:: Sphere:: peek() -> std::array< double, 3 >
Peek at the next value without advancing state.
| Returns | std::array<double, 3> next point on the sphere |
|---|
auto ldsgen:: Sphere:: skip(unsigned int n) -> void
Skip n values in the sequence.
| Parameters | |
|---|---|
| n in | number of values to skip |
auto ldsgen:: Sphere:: get_index() const -> unsigned long
Get current index.
| Returns | unsigned long current index in sequence |
|---|
auto ldsgen:: Sphere:: begin() -> GeneratorIterator< Sphere, std::array< double, 3 > >
Get iterator to beginning.
| Returns | GeneratorIterator<Sphere, std::array<double, 3>> |
|---|
auto ldsgen:: Sphere:: end() const -> GeneratorIterator< Sphere, std::array< double, 3 > >
Get iterator to end (infinite sequence)
| Returns | GeneratorIterator<Sphere, std::array<double, 3>> |
|---|