|
|
| 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 |
| |
|
virtual | ~BathymetryField ()=default |
| | Virtual destructor.
|
| |
A flat seabed at 200 m depth.
Represents a simple featureless ocean floor.
| marenv::Status marenv::seafloor::FlatSeafloor::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 |
|
) |
| |
|
overridevirtual |
Returns the distance along the unit ray to the 200 m plane, exactly: no march, so startSearchDistance and stepSize are not used.
The contract is that of BathymetryField::ComputeRayIntersection: an origin less than convergenceTolerance above the plane, or below it, is a hit at distance 0 (owner ruling R133); a ray that is horizontal, points away from the plane or meets it beyond maxSearchDistance returns marenv::Status::NOT_APPLICABLE_NOT_SET with distance -1 (owner ruling R134, MENV-0063); a zero or non-finite direction, a non-finite origin, or a maxSearchDistance that is not positive and finite, returns marenv::Status::ERROR_NOT_SET with distance -1. For a direction whose computed norm is exactly 1 the hit is (200 - z) / u_z as before MENV-0063, to the bit.
Reimplemented from marenv::seafloor::BathymetryField.