24 explicit SeafloorForces(std::shared_ptr<marenv::seafloor::BathymetryField> bathymetrybroker);
26 seabed::ContactLoad<double>
Sphere(
const seabed::Sphere& sphere,
const double pos[3],
const double vel[3])
override;
28 seabed::NodePairLoad<double>
CableElement(
double diameter,
const double posA[3],
const double posB[3],
const double velA[3],
const double velB[3])
override;
30 seabed::ContactLoad<double>
RigidCylinder(
const seabed::Cylinder& cylinder,
const seabed::RigidMotion<double>& motion)
override;
32 seabed::ContactLoad<double>
Plate(
const seabed::Polygon& polygon,
const seabed::RigidMotion<double>& motion)
override;
34 seabed::ContactLoad<double>
TrawlDoor(
const seabed::TrawlDoorShape& door,
const seabed::RigidMotion<double>& motion)
override;
36 seabed::ContactLoad<double>
AnchorShank(
const seabed::AnchorShank& shank,
const seabed::RigidMotion<double>& motion)
override;
45 auto Evaluate(
const double pos[3],
const Law& law);
47 seabed::SeabedModel m_model;
49 std::shared_ptr<marenv::seafloor::BathymetryField> m_bathymetry;