11#include <fhsim/simobject/SimObject.h>
19 TrawlBeam(
const std::string& simObjectName, ISimObjectCreator*
const creator);
20 void InitialConditionSetup(
const double T,
const double*
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
21 void FinalSetup(
const double T,
const double*
const X, ISimObjectCreator*
const creator);
22 virtual void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
23 virtual void PreOdeFcn(
const double T,
const double*
const X, IStateUpdater* updater);
25 bool HasJacobians()
const override;
26 void OdeJacobian(
double T,
const double* X,
double* J,
int nStates)
override;
27 int GetJacobianSparsity(
int nStates,
int* rowPtr,
int* colIdx)
override;
29#ifdef FH_VISUALIZATION
31 virtual void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator) { }
33 virtual void RenderUpdate(
const double T,
const double*
const X) { }
36 const double* ShipForce(
const double T,
const double*
const X);
37 const double* Error(
const double T,
const double*
const X);
38 const double* ErrorI(
const double T,
const double*
const X);
39 const double* ErrorD(
const double T,
const double*
const X);
40 const double* StateDist(
const double T,
const double*
const X);
41 const double* StateVel(
const double T,
const double*
const X);
42 const double* PositionNED(
const double T,
const double*
const X,
int index);
43 const double* VelocityNED(
const double T,
const double*
const X,
int index);
46 ISignalPort *m_inForceStbd, *m_inForcePort;
48 void compute(
const double T,
const double*
const X)
const;
49 ICommonComputation* m_compute;
51 mutable double m_position[6];
52 mutable double m_velocity[6];
61 double m_forceSaturation;
63 double m_kp, m_kd, m_ki;
66 mutable double m_outError;
67 mutable double m_outForce;
Definition TrawlBeam.h:17
void InitialConditionSetup(const double T, const double *const currentIC, double *const updatedIC, ISimObjectCreator *const creator)
reads parameters, registers states, input/output ports and shared resources
virtual void PreOdeFcn(const double T, const double *const X, IStateUpdater *updater)
returns object derivatives as a function of time, states and input ports