The interface for an representing waves.
#include <WaveField.h>
|
|
virtual | ~WaveField ()=default |
| | Virtual destructor.
|
| |
| virtual std::string | SpectrumName () const =0 |
| |
| virtual std::string | WaveTheoryName () const =0 |
| |
| virtual marenv::Status | ComputeSurfaceElevation (double time, const double pos[2], double &elevationOut)=0 |
| |
| virtual marenv::Status | ComputeDynamicPressure (double time, const double pos[3], double &pressureOut)=0 |
| |
| virtual marenv::Status | ComputeTotalPressure (double time, const double pos[3], double &pressureOut)=0 |
| |
| virtual marenv::Status | ComputeSurfaceUnitNormal (double time, const double pos[2], double unitNormalOut[3])=0 |
| |
| virtual marenv::Status | ComputeParticleVelocity (double time, const double pos[3], double velOut[3])=0 |
| |
| virtual marenv::Status | ComputeParticleAcceleration (double time, const double pos[3], double accOut[3])=0 |
| |
| virtual marenv::Status | ComputePointQuery (double time, const double pos[3], double &surface_elevation, double surface_unit_normal[3], double particle_velocity[3], double particle_acceleration[3], double &pressure)=0 |
| |
| virtual InsecureDatapointers | GetWaveComponents () const =0 |
| |
| virtual marenv::wave::WaveComponentData | GetWaveComponentsCopy () const =0 |
| |
| virtual marenv::wave::WaveComponentData | GetWaveComponentsCopy (double time, size_t maxComponents=0) const |
| |
| virtual void | BlendInPlace (WaveComponentData &other, double alpha)=0 |
| |
|
|
| WaveField ()=default |
| | Constructor.
|
| |
◆ BlendInPlace()
| virtual void marenv::wave::WaveField::BlendInPlace |
( |
WaveComponentData & |
other, |
|
|
double |
alpha |
|
) |
| |
|
pure virtual |
◆ ComputeDynamicPressure()
| virtual marenv::Status marenv::wave::WaveField::ComputeDynamicPressure |
( |
double |
time, |
|
|
const double |
pos[3], |
|
|
double & |
pressureOut |
|
) |
| |
|
pure virtual |
◆ ComputeParticleAcceleration()
| virtual marenv::Status marenv::wave::WaveField::ComputeParticleAcceleration |
( |
double |
time, |
|
|
const double |
pos[3], |
|
|
double |
accOut[3] |
|
) |
| |
|
pure virtual |
◆ ComputeParticleVelocity()
| virtual marenv::Status marenv::wave::WaveField::ComputeParticleVelocity |
( |
double |
time, |
|
|
const double |
pos[3], |
|
|
double |
velOut[3] |
|
) |
| |
|
pure virtual |
◆ ComputePointQuery()
| virtual marenv::Status marenv::wave::WaveField::ComputePointQuery |
( |
double |
time, |
|
|
const double |
pos[3], |
|
|
double & |
surface_elevation, |
|
|
double |
surface_unit_normal[3], |
|
|
double |
particle_velocity[3], |
|
|
double |
particle_acceleration[3], |
|
|
double & |
pressure |
|
) |
| |
|
pure virtual |
Calculates multiple properties of the environment in one call.
- Parameters
-
| [in] | time | Simulation time. |
| [in] | pos | Position. |
| [out] | surface_elevation | The surface elevation above this point. |
| [out] | surface_unit_normal | The surface unit normal above this point. |
| [out] | particle_velocity | The particle velocity in this point. |
| [out] | particle_acceleration | The particle acceleration in this point. |
| [out] | pressure | The pressure. The pressure in this point. |
- Returns
- marenv::Status::OK on success. See marenv::Status for other values.
Implemented in marenv::wave::AiryWavesScalar, marenv::wave::AiryWavesSimd, marenv::wave::GerstnerWaves, and marenv::wave::NullWaveField.
◆ ComputeSurfaceElevation()
| virtual marenv::Status marenv::wave::WaveField::ComputeSurfaceElevation |
( |
double |
time, |
|
|
const double |
pos[2], |
|
|
double & |
elevationOut |
|
) |
| |
|
pure virtual |
◆ ComputeSurfaceUnitNormal()
| virtual marenv::Status marenv::wave::WaveField::ComputeSurfaceUnitNormal |
( |
double |
time, |
|
|
const double |
pos[2], |
|
|
double |
unitNormalOut[3] |
|
) |
| |
|
pure virtual |
◆ ComputeTotalPressure()
| virtual marenv::Status marenv::wave::WaveField::ComputeTotalPressure |
( |
double |
time, |
|
|
const double |
pos[3], |
|
|
double & |
pressureOut |
|
) |
| |
|
pure virtual |
◆ GetWaveComponents()
◆ GetWaveComponentsCopy() [1/2]
◆ GetWaveComponentsCopy() [2/2]
Getter for a copy of wave component specifications at a given time.
- Parameters
-
| [in] | time | Simulation time used to evaluate the interpolation factor. |
| [in] | maxComponents | Maximum number of components to return (0 = all). |
- Returns
- A structure with wave component data.
During a transition this may return the merged components from both source and destination fields with amplitudes scaled by the interpolation factor. The default implementation ignores time and delegates to the time-independent overload. When limited, the components with the largest amplitudes are kept.
◆ SpectrumName()
| virtual std::string marenv::wave::WaveField::SpectrumName |
( |
| ) |
const |
|
pure virtual |
◆ WaveTheoryName()
| virtual std::string marenv::wave::WaveField::WaveTheoryName |
( |
| ) |
const |
|
pure virtual |
The documentation for this class was generated from the following file:
- /update_root/webfhsim/reloadrepos/marenv/include/marenv/wave/WaveField.h