FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CableConnector.h
1
70#ifndef RBCABLE__CCableConnector_h__
71#define RBCABLE__CCableConnector_h__
72
73#include <fhsim/simobject/SimObject.h>
74
75namespace RbCable
76{
77class CableConnector : public SimObject
78{
79public:
80 CableConnector(const std::string& simObjectName, ISimObjectCreator* const creator);
81 // ~CableConnector();
82 void OdeFcn(const double T, const double* const X, double* const XDot) const;
83 // void InitialConditionSetup(const double T, const double *const currentIC, double* const updatedIC, ISimObjectCreator* const creator);
84
85 bool HasJacobians() const override;
86 void OdeJacobian(double T, const double* X, double* J, int nStates) override;
87 int GetJacobianSparsity(int nStates, int* rowPtr, int* colIdx) override;
88
89 const double* PositionA(const double dT, const double* const adX);
90 const double* VelocityA(const double dT, const double* const adX);
91 const double* PositionB(const double dT, const double* const adX);
92 const double* VelocityB(const double dT, const double* const adX);
93
94
95#ifdef FH_VISUALIZATION
97 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
98
100 virtual void RenderUpdate(const double dT, const double* const adX);
101#endif
102
103protected:
104 double m_mass;
105 double m_gravity;
106 double m_length[3];
107 ISignalPort* m_inForceA;
108 ISignalPort* m_inForceB;
111
112 double m_posA[3];
113 double m_posB[3];
114
115
116#ifdef FH_VISUALIZATION
117 std::string m_material;
118 std::string m_meshName;
119 double m_scale;
120 Ogre::Entity* m_renderEntity;
121 Ogre::SceneNode* m_renderNode;
122 Ogre::SceneManager* m_sceneMgr;
123#endif
124};
125} // namespace RbCable
126#endif // CCableConnector_h__
Definition CableConnector.h:78
double m_posA[3]
The position of connector A.
Definition CableConnector.h:112
int m_IStateVel
The index of the velocity state.
Definition CableConnector.h:110
ISignalPort * m_inForceA
A pointer to input A force.
Definition CableConnector.h:107
double m_mass
The mass of the object.
Definition CableConnector.h:104
double m_length[3]
The vector between connectors;.
Definition CableConnector.h:106
CableConnector(const std::string &simObjectName, ISimObjectCreator *const creator)
reads parameters, registers states, output and intput ports.
double m_posB[3]
The position of connector B.
Definition CableConnector.h:113
ISignalPort * m_inForceB
A pointer to input B force.
Definition CableConnector.h:108
int m_IStatePos
The index of the position state.
Definition CableConnector.h:109
double m_gravity
The gravitational acceleration.
Definition CableConnector.h:105