|
Marine systems simulation
|
#include <NetCdfSeafloor.h>
Inheritance diagram for environmentmodels::NetCdfSeafloorBathymetry:
Collaboration diagram for environmentmodels::NetCdfSeafloorBathymetry:Public Member Functions | |
| NetCdfSeafloorBathymetry (const std::string &filename) | |
| 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, double startSearchDistance, double stepSize, double convergenceTolerance) 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. | |
Bathymetry field backed by NetCDF depth grid.
Loads a 2D bathymetry grid from a NetCDF file and provides depth queries through bilinear interpolation. Areas outside grid bounds return 11034 m.
|
explicit |
Construct bathymetry from NetCDF file.
| [in] | filename | Path to NetCDF bathymetry file. |
|
overridevirtual |
Compute ray intersection with seabed.
| [in] | origin | Ray origin [x, y, z]. |
| [in] | direction | Ray direction [dx, dy, dz]. |
| [out] | distanceOut | Distance to intersection [m]. |
| [in] | maxSearchDistance | Maximum search distance [m]. |
| [in] | startSearchDistance | Starting search distance [m]. |
| [in] | stepSize | Ray march step size [m]. |
| [in] | convergenceTolerance | Convergence tolerance. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Compute seabed surface unit normal.
| [in] | pos | Position [x, y] [m]. |
| [out] | unitNormalOut | Normal vector [nx, ny, nz]. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Get interpolated depth at position.
| [in] | pos | Position in NED frame [x, y] [m]. |
| [out] | depthOut | Interpolated depth [m]. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Get seabed rho parameter.
| [in] | pos | Position [x, y, z] [m]. |
| [out] | rhoOut | Rho value. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Get seabed sigma parameter.
| [in] | pos | Position [x, y, z] [m]. |
| [out] | sigmaOut | Sigma value. |
Implements marenv::seafloor::BathymetryField.
|
overridevirtual |
Get seabed tau parameter.
| [in] | pos | Position [x, y, z] [m]. |
| [out] | tauOut | Tau value. |
Implements marenv::seafloor::BathymetryField.