FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
InternalCableWithAttractor.h
1
9
10#pragma once
11
12// Includes
13#include "AttractorNetBin.h"
14#include <string>
15
16#include <cable/subroutines/InternalCableWithBottomContact.h>
17
18// Class definition
20{
21public:
23 InternalCableWithAttractor(ISimObjectCreator* creator, const SCableSpec& CableSpec, std::string attractorName);
24 virtual void FinalSetup(const double dT, const double* const adX, ISimObjectCreator* const creator);
25
27 void SetAttractor(AttractorNetBin* attractor);
28
31 void UpdateAttractorMotion(double dT, const double* adX) const;
32
33protected:
35 void AddNodeForce(const double pos[3], const double vel[3], double force[3]) const override;
36
38 void AddElementForce(int cableElement,
39 const double adPosA[3],
40 const double adVelA[3],
41 const double adPosB[3],
42 const double adVelB[3],
43 double adForceA[3],
44 double adForceB[3],
45 double dT) const override;
46
47
48 std::string m_attractorName;
51};
The net bin of Seine/Vessel: a sphere that pulls the net and warp nodes inside it.
Definition AttractorNetBin.h:16
Class containing a cable object to be part of larger cable structures.
Definition InternalCableWithAttractor.h:20
void SetAttractor(AttractorNetBin *attractor)
Sets the attractor to use.
InternalCableWithAttractor(ISimObjectCreator *creator, const SCableSpec &CableSpec, std::string attractorName)
The constructor sets the pointer to the output object and the parser object.
void UpdateAttractorMotion(double dT, const double *adX) const
AttractorNetBin * m_attractor
A pointer to the attractor to use.
Definition InternalCableWithAttractor.h:49
void AddNodeForce(const double pos[3], const double vel[3], double force[3]) const override
Adds the attractor's pull on an internal node, once (FISH-0114).
AttractorNetBin::Motion m_attractorMotion
As UpdateAttractorMotion found it.
Definition InternalCableWithAttractor.h:50
void AddElementForce(int cableElement, const double adPosA[3], const double adVelA[3], const double adPosB[3], const double adVelB[3], double adForceA[3], double adForceB[3], double dT) const override
Adds the forces from each cable element.
Class containing a cable object to be part of other structures.
Definition InternalCableWithBottomContact.h:21
Where the attractor is, how fast it moves, and how strongly it pulls.
Definition AttractorNetBin.h:20
Contains some specifications used for simulating cables.
Definition InternalCable.h:59