4#include <marenv/marenv.h>
130 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) = 0;
Definition Environment.h:20
virtual Status GetSurfaceElevation(double time, const double pos[2], double &elevationOut)=0
virtual Status GetSeaDepth(const double pos[2], double &depthOut)=0
virtual Status GetDynamicPressure(double time, const double pos[3], double &pressureOut)=0
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)=0
virtual Status GetSubmergence(double time, const double pos[3], double &submergence)=0
virtual Status GetSurfaceUnitNormal(double time, const double pos[2], double unitNormalOut[3])=0
virtual Status GetParticleVelocity(double time, const double pos[3], double velOut[3])=0
virtual Status GetDensity(double time, const double pos[3], double &density)=0
Environment()=default
The constructor is protected.
virtual Status GetCurrentVelocity(double time, const double pos[3], double velOut[3])=0
virtual Status GetParticleAcceleration(double time, const double pos[3], double accOut[3])=0
virtual Status GetTotalPressure(double time, const double pos[3], double &pressureOut)=0
virtual ~Environment()=0
Virtual destructor.
virtual Status PointEnvironmentQuery(double time, const double pos[3], EnvironmentQuery &queryResult)=0
Status
Definition marenv.h:40
The marenv root namespace.
Definition CumulativeDistribution.h:8
Struct for containing the data for a environment query.
Definition Environment.h:25
double current_velocity[3]
Ocean current velocity.
Definition Environment.h:30
double particle_acceleration[3]
Particle acceleration.
Definition Environment.h:29
void SetZero() noexcept
Sets all fields to default values.
Definition Environment.h:35
double surface_unit_normal[3]
Surface unit normal.
Definition Environment.h:27
double particle_velocity[3]
Particle velocity.
Definition Environment.h:28
double density
Definition Environment.h:32
double pressure
Pressure.
Definition Environment.h:31
double surface_elevation
Surface elevation.
Definition Environment.h:26
Policy mixin: this type is neither copyable nor movable.
Definition marenv.h:84