13#include <fhsim/simobject/SimObject.h>
20 TrawlVessel(std::string simObjectName, ISimObjectCreator* creator);
23 virtual void OdeFcn(
const double dT,
const double*
const adX,
double*
const adXDot)
const;
31 bool HasJacobians()
const override;
32 void OdeJacobian(
double T,
const double* X,
double* J,
int nStates)
override;
33 int GetJacobianSparsity(
int nStates,
int* rowPtr,
int* colIdx)
override;
36#ifdef FH_VISUALIZATION
37 virtual void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
38 virtual void RenderUpdate(
const double dT,
const double*
const adX);
45 const double*
OutHeading(
const double dT,
const double*
const adX);
46 const double* OutPos(
const double dT,
const double*
const adX);
47 const double* OutVel(
const double dT,
const double*
const adX);
48 const double* OutWarpPos(
const double dT,
const double*
const adX,
int warp);
49 const double* OutWarpVel(
const double dT,
const double*
const adX,
int warp);
50 void CalcOutput(
const double dT,
const double*
const adX);
51 void CalcOutputCommon(
const double dT,
const double*
const adX)
const;
52 virtual void DoDerivedOutputUpdate(
const double dT,
const double*
const adX) { }
56 double* m_out_WarpPos;
57 double* m_out_WarpVel;
66 double m_WarpPosPrt[3];
67 double m_WarpPosStb[3];
69 double** m_aadWarpPos;
71 mutable double m_desiredSpeed;
72 mutable double m_desiredHeading;
74#ifdef FH_VISUALIZATION
75 Ogre::Entity* m_RenderMass;
76 Ogre::SceneNode* m_RenderNode;
77 Ogre::Quaternion m_InitOrientation;
79 double m_BreadthScale;
81 double m_deltaRenderPos[3];
82 std::string m_MeshName;
Class modelling a simple vessel used for the trawl optimization tool.
Definition TrawlVessel.h:18
ICommonComputation * m_commonCalc
Calculations necessary for more than one output port.
Definition TrawlVessel.h:58
const double * OutHeading(const double dT, const double *const adX)
Output ports.
double m_apSpeed
The speed of the autopilot.
Definition TrawlVessel.h:42