FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
RMCable.h
1#pragma once
56#include <fhsim/simobject/SimObject.h>
57
58#ifdef FH_VISUALIZATION
59# include "sfh/ogre/C3DLine.h"
60#endif
61
62namespace RbCable
63{
64class RMCable : public SimObject
65{
66public:
67 RMCable(const std::string& simObjectName, ISimObjectCreator* const creator);
68 ~RMCable();
69 void OdeFcn(const double T, const double* const X, double* const XDot) const;
70
71
72 const double* totalLength(const double T, const double* const X);
73 const double* kineticEnergy(const double T, const double* const X);
74
75#ifdef FH_VISUALIZATION
76 void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
77 void RenderUpdate(const double T, const double* const X);
78#endif
79
80protected:
81 int m_numElements;
82 int* m_pos;
83 int* m_vel;
84
85 double m_alpha;
86 double m_beta;
87 mutable int counter;
88
89 ISignalPort* m_posA;
90 ISignalPort* m_posB;
91
92 double m_totalLength;
93 double m_kineticEnergy;
94
95#ifdef FH_VISUALIZATION
96 C3DLine* m_line;
97#endif
98};
99
100} // namespace RbCable
Definition RMCable.h:65
RMCable(const std::string &simObjectName, ISimObjectCreator *const creator)
reads parameters, registers states, output and intput ports.