FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
InternalCableWithBottomContact.h
1
10
11#ifndef InternalCableWithBottomContact_H
12#define InternalCableWithBottomContact_H
13
14// Includes
15#include "cable/subroutines/InternalCable.h"
16
17#include <fhsim_environment/SeafloorForcesInterface.h>
18
19// Class definition
21{
22public:
24 InternalCableWithBottomContact(ISimObjectCreator* creator, const SCableSpec& CableSpec);
25
26 virtual void FinalSetup(const double dT, const double* const adX, ISimObjectCreator* const creator);
27
29 void OdeFcn(const double* const adPosA,
30 const double* const adVelA,
31 const double* const adPosB,
32 const double* const adVelB,
33 const double* const adX,
34 double* const adXDot,
35 double dT) const override;
36
37 bool InBottomContact() const override { return m_inBottomContact; }
38
39protected:
40 virtual void AddElementForce(int cableElement,
41 const double adPosA[3],
42 const double adVelA[3],
43 const double adPosB[3],
44 const double adVelB[3],
45 double adForceA[3],
46 double adForceB[3],
47 double dT) const;
48
49
50 environment::EnvironmentProvider* m_environment;
51 environment::SeafloorForcesInterface* m_seafloor;
52 mutable bool m_inBottomContact = false;
53};
54
55
56#endif
Class containing a cable object to be part of other structures.
Definition InternalCableWithBottomContact.h:21
bool InBottomContact() const override
Definition InternalCableWithBottomContact.h:37
void OdeFcn(const double *const adPosA, const double *const adVelA, const double *const adPosB, const double *const adVelB, const double *const adX, double *const adXDot, double dT) const override
As InternalCable::OdeFcn, and records whether the seafloor gave any element a force.
InternalCableWithBottomContact(ISimObjectCreator *creator, const SCableSpec &CableSpec)
The constructor sets the pointer to the output object and the parser object.
bool m_inBottomContact
Whether AddElementForce added a seafloor force since the last OdeFcn began.
Definition InternalCableWithBottomContact.h:52
Definition InternalCable.h:189
Contains some specifications used for simulating cables.
Definition InternalCable.h:34