|
Marine systems simulation
|
#include <FlatSeafloor.h>
Inheritance diagram for marenv::seafloor::FlatSeafloor:
Collaboration diagram for marenv::seafloor::FlatSeafloor:Public Member Functions | |
| FlatSeafloor ()=default | |
| Constructor. | |
| ~FlatSeafloor () override=default | |
| Destructor. | |
| marenv::Status | GetDepth (const double pos[2], double &depthOut) override |
| marenv::Status | ComputeSurfaceUnitNormal (const double pos[2], double unitNormalOut[3]) override |
| marenv::Status | GetSeabedSigma (const double pos[3], double &sigmaOut) override |
| marenv::Status | GetSeabedTau (const double pos[3], double &tauOut) override |
| 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 |
Public Member Functions inherited from marenv::seafloor::BathymetryField | |
| virtual | ~BathymetryField ()=default |
| Virtual destructor. | |
Additional Inherited Members | |
Protected Member Functions inherited from marenv::seafloor::BathymetryField | |
| BathymetryField ()=default | |
| Constructor is empty. | |
A flat seabed at 200 m depth.
Represents a simple featureless ocean floor.
|
overridevirtual |
Returns the distance a ray must travel before intercepting the seafloor.
| [in] | origin | Position (x,y,z) of the origin of the ray |
| [in] | direction | The unit direction (x,y,z) of the ray |
| [out] | distanceOut | The distance the beam travelled before reaching the seabed. |
| [in] | maxSearchDistance | The maximum distance from the origin to search for an intersection. |
| [in] | startSearchDistance | The distance from the origin to start searching for an intersection (initial guess). If less then zero, the algorithm will coarsely estimate the crossing assuming a flat seabed and search from there. |
| [in] | stepSize | The search step size. |
| [in] | convergenceTolerance | The vertical error tolerance between a computed point on the ray and a point on the seafloor to consider an intersection found. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Returns the unit normal vector of the seafloor at a specific position.
| [in] | pos | Position (x,y) for which the unit normal surface vector is desired. |
| [out] | unitNormalOut | The unit normal surface vector at pos. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Returns the seafloor depth at a specific position.
| [in] | pos | Position (x,y) for which depth is desired. |
| [out] | depthOut | Depth at pos. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Returns seabed density (ρ) in kg/m³.
| [in] | pos | The position in question. |
| [out] | rhoOut | Density in the specified position. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Returns seabed σ in Pascals (Pa).
| [in] | pos | The position in question. |
| [out] | sigmaOut | Sigma in the specified position. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Returns seabed shear stress τ.
| [in] | pos | The position in question. |
| [out] | tauOut | Shear stress in the specified position. |
Implements marenv::seafloor::BathymetryField.