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);
42#ifdef FH_VISUALIZATION
50 void FitDefaultMesh();
56 const double*
OutHeading(
const double dT,
const double*
const adX);
57 const double* OutPos(
const double dT,
const double*
const adX);
58 const double* OutVel(
const double dT,
const double*
const adX);
59 const double* OutWarpPos(
const double dT,
const double*
const adX,
int warp);
60 const double* OutWarpVel(
const double dT,
const double*
const adX,
int warp);
61 void CalcOutput(
const double dT,
const double*
const adX);
62 void CalcOutputCommon(
const double dT,
const double*
const adX)
const;
63 virtual void DoDerivedOutputUpdate(
const double dT,
const double*
const adX) { }
67 double* m_out_WarpPos;
68 double* m_out_WarpVel;
77 double m_WarpPosPrt[3];
78 double m_WarpPosStb[3];
80 double** m_aadWarpPos;
82 mutable double m_desiredSpeed;
83 mutable double m_desiredHeading;
85#ifdef FH_VISUALIZATION
86 Ogre::Entity* m_RenderMass;
87 Ogre::SceneNode* m_RenderNode;
88 Ogre::Quaternion m_InitOrientation;
90 double m_BreadthScale;
92 double m_deltaRenderPos[3];
93 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:69
const double * OutHeading(const double dT, const double *const adX)
Output ports.
double m_apSpeed
The speed of the autopilot.
Definition TrawlVessel.h:53