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:
39 BathymetryWaves(double averageDepth,
40 int numComponents,
41 double sumAmplitudes,
42 double minWavelength,
43 double maxWavelength,
44 uint32_t seed);
46
47 ~BathymetryWaves() override = default;
48
56 Status GetDepth(const double pos[2], double& depthOut) override;
57
65 Status ComputeSurfaceUnitNormal(const double pos[2], double unitNormalOut[3]) override;
66
71 std::shared_ptr<BathymetryWavesSpec> GetSpec() { return m_spec; }
72
80 Status GetSoilState(const double pos[3], SoilState& soilOut) override;
81
82private:
84
85 std::shared_ptr<BathymetryWavesSpec> m_spec;
86};
87} // 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:71
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