37#include <fhsim/simobject/SimObject.h>
38#include <fhsim_environment/EnvironmentProvider.h>
39#include "PropulsorWakeField.h"
43#include "./Ship/Actuators/SimpleThruster.h"
49 double position[3] = {0,0,0};
50 double axis[3] = {0,0,0};
63 Thruster(
const std::string simObjectName, ISimObjectCreator*
const creator);
65 void FinalSetup(
const double T,
const double *
const X, ISimObjectCreator*
const creator );
66 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
70 #ifdef FH_VISUALIZATION
71 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
72 void RenderUpdate(
const double T,
const double*
const X);
76 const double*
ForceNED (
const double T,
const double*
const X);
78 const double*
PositionNED(
const double T,
const double*
const X);
87 ISignalPort *m_InAxisNED;
89 ISignalPort *m_InPositionNED;
91 ISignalPort *m_InPitch;
98 std::unique_ptr<SimpleThruster> ThrusterCalculator;
101 environment::EnvironmentProvider *Environment =
nullptr;
102 std::shared_ptr<ThrusterCurrentField> m_CurrentField = std::make_shared<ThrusterCurrentField>(
ThrusterJet);
104 #ifdef FH_VISUALIZATION
105 Ogre::SceneNode* m_RenderNode;
Definition PropulsorWakeField.h:25
const double * PositionNED(const double T, const double *const X)
void AcceptedStep(double T, const double *X) override
Copies the wake state of the accepted state into the jet field (G4).
const double * ForceNED(const double T, const double *const X)
Definition TableLookup.h:18
Status
Definition marenv.h:44
Simple waypoint object.
Definition CableAttach.h:58
marenv::Status ThrusterJet(const ThrusterWakeState &state, double time, const double position[3], double currentVelocity[3])
The jet behind the thruster (G4: reads only the copy of the state). It is zero everywhere.
The state the thruster jet needs, copied after each accepted step.
Definition Thruster.h:48