FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
BathymetryWaves.h
1#pragma once
3
4#include <marenv/seafloor/BathymetryField.h>
5#include <marenv/seafloor/BathymetryWavesSpec.h>
6
7#include <cmath>
8#include <memory>
9
10namespace marenv::seafloor
11{
24{
25public:
36 BathymetryWaves(double averageDepth,
37 int numComponents,
38 double sumAmplitudes,
39 double minWavelength,
40 double maxWavelength,
41 uint32_t seed);
43
44 ~BathymetryWaves() override = default;
45
53 Status GetDepth(const double pos[2], double& depthOut) override;
54
62 Status ComputeSurfaceUnitNormal(const double pos[2], double unitNormalOut[3]) override;
63
68 std::shared_ptr<BathymetryWavesSpec> GetSpec() { return m_spec; }
69
77 Status GetSoilState(const double pos[3], SoilState& soilOut) override;
78
79private:
81
82 std::shared_ptr<BathymetryWavesSpec> m_spec;
83};
84} // namespace marenv::seafloor
Definition BathymetryField.h:25
Definition BathymetryWaves.h:24
~BathymetryWaves() override=default
Default destructor.
Status GetDepth(const double pos[2], double &depthOut) override
Status ComputeSurfaceUnitNormal(const double pos[2], double unitNormalOut[3]) override
std::shared_ptr< BathymetryWavesSpec > GetSpec()
Definition BathymetryWaves.h:68
Status GetSoilState(const double pos[3], SoilState &soilOut) override
BathymetryWaves(double averageDepth, int numComponents, double sumAmplitudes, double minWavelength, double maxWavelength, uint32_t seed)
Status
Definition marenv.h:40
Definition SoilState.h:14