Marine systems simulation
CableAttach.h
1#ifndef CCableAttach_h__
2#define CCableAttach_h__
3
8#include <Eigen/Eigen>
9#include <SimObject.h>
10
11#ifdef FH_VISUALIZATION
12#include "sfh/ogre/C3DLine.h"
13#endif
14
15
16namespace Ship{
17 class CableAttach: public SimObject
18 {
19 public:
20 EIGEN_MAKE_ALIGNED_OPERATOR_NEW;
21 CableAttach(const string simObjectName, ISimObjectCreator* const creator);
22
23 void OdeFcn(const double T, const double* const X, double* const XDot, const bool bIsMajorTimeStep);
24
25 void InitialConditionSetup(const double T, const double *const currentIC, double* const updatedIC, ISimObjectCreator* const creator);
26 #ifdef FH_VISUALIZATION
27 void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
28 void RenderUpdate( const double T, const double* const X);
29 #endif
30 const double * Position(const double T, const double* const X);
31 const double * Velocity(const double T, const double* const X);
32 const double * Force(const double T, const double* const X);
33
34 private:
35
36 double m_Mass;
37 double m_Kp,m_Kd,m_Ki;
38
39 double m_attachRadius;
40
41 int m_Position;
42 int m_Velocity;
43 int m_E;
44
45 ISignalPort *m_InCableForce;
46 ISignalPort *m_InConnectionPoint;
47 ISignalPort *m_InConnectionVelocity;
48
49 ISignalPort *m_InConnectionStatus;
50
51 ISignalPort *m_InAttachState;
52
53 Eigen::Vector3d Freg;
54 Eigen::Vector3d Fff;
55
56 #ifdef FH_VISUALIZATION
57 C3DLine * m_line;
58 #endif
59
60 };
61}
62#endif // CWindForce_h__
Definition: CableAttach.h:18
Simple waypoint object.
Definition: CableAttach.h:16