|
FhSim
3.1.0
Marine systems simulation
|
#include <NetCdfSeafloorBathymetry.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 |
| const netcdf_sinmod::Grid & | GetGrid () const |
| const double * | GetDepthMap () const |
| double | GetLengthX () const |
| double | GetLengthY () const |
Public Member Functions inherited from marenv::seafloor::BathymetryField | |
| virtual | ~BathymetryField ()=default |
| Virtual destructor. | |
| virtual Status | ComputeRayIntersection (const double origin[3], const double direction[3], double &distanceOut, double maxSearchDistance=100, double startSearchDistance=-1.0, double stepSize=1.0, double convergenceTolerance=0.01) |
Additional Inherited Members | |
Protected Member Functions inherited from marenv::seafloor::BathymetryField | |
| BathymetryField ()=default | |
| Constructor is empty. | |
Static Protected Member Functions inherited from marenv::seafloor::BathymetryField | |
| static bool | IsValidRay (const double origin[3], double directionNorm, double maxSearchDistance) |
| True for an origin with finite coordinates, and a direction norm and a maximum search distance that ComputeRayIntersection accepts: positive and finite. | |
| static double | ValidTolerance (double convergenceTolerance) |
The convergence tolerance ComputeRayIntersection uses: convergenceTolerance, raised to 1e-12 if smaller or NaN. | |
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. The Environment builds it for Bathymetry.Model = "NetCDF" (owner ruling R124); the NetCdfSeafloor SimObject that also did was removed (owner ruling R129, ENV-0086).
|
explicit |
Construct bathymetry from NetCDF file.
| [in] | filename | Path to NetCDF bathymetry file. |
|
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.
|
inline |
Get depth map array.
|
inline |
Get underlying grid.
|
inline |
Get grid length in X direction.
|
inline |
Get grid length in Y direction.
|
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.