Marine systems simulation
Loading...
Searching...
No Matches
FlatSeafloor.h
1#pragma once
3
4#include <marenv/seafloor/BathymetryField.h>
5
6namespace marenv::seafloor
7{
8
16{
17public:
19
20 FlatSeafloor() = default;
22
23 ~FlatSeafloor() override = default;
25
26 [[nodiscard]] marenv::Status GetDepth(const double pos[2], double& depthOut) override;
28
29 [[nodiscard]] marenv::Status ComputeSurfaceUnitNormal(const double pos[2], double unitNormalOut[3]) override;
31
32 [[nodiscard]] marenv::Status GetSeabedSigma(const double pos[3], double& sigmaOut) override;
34
35 [[nodiscard]] marenv::Status GetSeabedTau(const double pos[3], double& tauOut) override;
37
38 [[nodiscard]] marenv::Status GetSeabedRho(const double pos[3], double& rhoOut) override;
40
41 [[nodiscard]] marenv::Status ComputeRayIntersection(const double origin[3], const double direction[3], double& distanceOut, double maxSearchDistance = 100, double startSearchDistance = -1, double stepSize = 1.0, double convergenceTolerance = 0.01) override;
42};
43
44} // namespace marenv::seafloor
Definition BathymetryField.h:24
Definition FlatSeafloor.h:16
~FlatSeafloor() override=default
Destructor.
marenv::Status GetSeabedRho(const double pos[3], double &rhoOut) override
marenv::Status ComputeRayIntersection(const double origin[3], const double direction[3], double &distanceOut, double maxSearchDistance=100, double startSearchDistance=-1, double stepSize=1.0, double convergenceTolerance=0.01) override
marenv::Status GetDepth(const double pos[2], double &depthOut) override
FlatSeafloor()=default
Constructor.
marenv::Status GetSeabedSigma(const double pos[3], double &sigmaOut) override
marenv::Status ComputeSurfaceUnitNormal(const double pos[2], double unitNormalOut[3]) override
marenv::Status GetSeabedTau(const double pos[3], double &tauOut) override
Status
Definition marenv.h:40