9#include <fhsim_environment/BodySubmergence.h>
10#include <marenv/EnvironmentFacade.h>
16namespace cable_surface
32template<
class Element>
33void SetSurface(
marenv::EnvironmentFacade& environment,
double maxWaveElevation,
double T,
const double posA[3],
const double posB[3], Element& element)
35 const double halfSize = element.SurfaceHalfSize();
36 const double top = std::min(posA[2], posB[2]) - halfSize;
37 const double bottom = std::max(posA[2], posB[2]) + halfSize;
38 if (top > maxWaveElevation || bottom < -maxWaveElevation) {
39 element.SetSurfaceElevation(0.0, 0.0);
42 double etaA = 0.0, etaB = 0.0;
47 element.SetSurfaceElevation(etaA, etaB);
51using environment::body_submergence::CylinderWetFraction;
52using environment::body_submergence::MeanWaveAcceleration;
53using environment::body_submergence::Submergence;
54using environment::body_submergence::WaveAcceleration;
55using environment::body_submergence::WavesWithElevation;
66template<
class Element>
67void SetWaveAcceleration(
marenv::wave::WaveField* waves,
double T,
const double posA[3],
const double posB[3], Element& element)
70 MeanWaveAcceleration(waves, T, posA, posB, mean);
71 element.SetWaveAcceleration(mean);
Definition EnvironmentFacade.h:42
Status GetSurfaceElevation(double time, const double pos[2], double &elevationOut) override
The interface for an representing waves.
Definition WaveField.h:35