|
Marine systems simulation
|
#include <LinearWaveTheory.h>
Inheritance diagram for marenv::wave::WaveSnapshot:Public Member Functions | |
| WaveSnapshot (std::shared_ptr< WaveComponents > wc) | |
Public Attributes | |
| std::shared_ptr< WaveComponents > | waveComponents |
| Shared pointer to wave component data. | |
Immutable snapshot of the wave-component data published by LinearWaveTheory.
Subclasses (e.g. AiryWavesSimd) extend this struct to include pre-computed derived data (e.g. SIMD batches) that must change atomically together with the WaveComponents pointer.
Lifetime: snapshots are reference-counted via shared_ptr. A Compute* call holds a local shared_ptr for its entire duration; BlendInPlace creates a new snapshot and atomically swaps it in. Neither operation blocks the other.
|
inlineexplicit |
Constructs a wave snapshot capturing the current wave component state.
| [in] | wc | Shared pointer to wave components to snapshot. |