Marine systems simulation
Thruster.h
1#ifndef CThruster_h__
2#define CThruster_h__
37#include <SimObject.h>
38#include <CEnvironment.h>
39
40#include "./Ship/Actuators/SimpleThruster.h"
41
42namespace Ship{
43 class Thruster: public SimObject,ICurrentField
44 {
45 public:
46 Thruster(const string simObjectName, ISimObjectCreator* const creator);
47 ~Thruster();
48
49 void FinalSetup( const double T, const double *const X, ISimObjectCreator* const creator );
50 void GetCurrent(const double T, const double* const X, const double position[3], double* currentVelocity);
51 void OdeFcn(const double T, const double* const X, double* const XDot, const bool bIsMajorTimeStep);
52
53 #ifdef FH_VISUALIZATION
54 void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
55 void RenderUpdate( const double T, const double* const X);
56 #endif
57
59 const double* ForceNED (const double T, const double* const X);
61 const double* PositionNED(const double T, const double* const X);
62
63 private:
65 double m_ForceMax;
67 double m_Diameter;
68
70 ISignalPort *m_InAxisNED;
72 ISignalPort *m_InPositionNED;
74 ISignalPort *m_InPitch;
76 ISignalPort *m_InN;
77
78
79 double m_Position[3];
80 double m_Force[3];
81 SimpleThruster *ThrusterCalculator;
82 CEnvironment *Environment;
83
84 #ifdef FH_VISUALIZATION
85 Ogre::SceneNode* m_RenderNode;
86 #endif
87 };
88}
89
90#endif // CThruster_h__
Definition: CEnvironment.h:10
Definition: ICurrentField.h:4
Definition: SimpleThruster.h:8
Definition: Thruster.h:44
const double * PositionNED(const double T, const double *const X)
const double * ForceNED(const double T, const double *const X)
Simple waypoint object.
Definition: CableAttach.h:16