FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
PolyplateEnvironmentForces.h
1#ifndef PolyplateEnvironmentForces_h
2#define PolyplateEnvironmentForces_h
3
4#include "CRigidBody.h"
5#include "PolyplateSpec.h"
6
7#include <fhsim_environment/EnvironmentProvider.h>
8#include <marenv/marenv.h>
9
10#include <vector>
11
12namespace rigidbody
13{
14namespace soilforces
15{
16void SplitPolygon(int n, const std::vector<double>& x, const std::vector<double>& y, std::vector<double>& xOut, std::vector<double>& yOut, int& n1, int& n2, double ax, double ay, double a);
18vec6 CalcHydroforcesPolyplate(const vec6& dX, const vec3& r, const quat& q, environment::EnvironmentProvider* environment, double time, const double* states, const PolyplateSpec& plateSpec, double waterDensity = marenv::seawaterDensity);
20vec6 CalcBuoyancyPolyplate(const vec3& r, const quat& q, environment::EnvironmentProvider* environment, double time, const PolyplateSpec& plateSpec, double waterDensity = marenv::seawaterDensity);
21vec6 CalcSoilforcesPolyplate(const vec6& dX, const vec3& r, const quat& q, environment::EnvironmentProvider* environment, double time, const double* states, const PolyplateSpec& plateSpec);
22
23
24} // namespace soilforces
25} // namespace rigidbody
26
27#endif
constexpr double seawaterDensity
Ocean water density.
Definition marenv.h:20