Marine systems simulation
Loading...
Searching...
No Matches
marenv::wave::WaveSnapshot Struct Reference

#include <LinearWaveTheory.h>

+ Inheritance diagram for marenv::wave::WaveSnapshot:

Public Member Functions

 WaveSnapshot (std::shared_ptr< WaveComponents > wc)
 

Public Attributes

std::shared_ptr< WaveComponentswaveComponents
 Shared pointer to wave component data.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ WaveSnapshot()

marenv::wave::WaveSnapshot::WaveSnapshot ( std::shared_ptr< WaveComponents wc)
inlineexplicit

Constructs a wave snapshot capturing the current wave component state.

Parameters
[in]wcShared pointer to wave components to snapshot.

The documentation for this struct was generated from the following file: