94#include <ISimObjectCreator.h>
95#include <EnvironmentProvider.h>
97#ifdef FH_VISUALIZATION
98#include "sfh/ogre/CDynamicLines.h"
100#include "./Ship/Actuators/IPropellerCalculator.h"
110 void inline setPropeller(
Propeller* propeller){ m_propeller = propeller; }
111 [[deprecated(
"This may not use up-to-date state info")]]
122 Propeller(
const string simObjectName, ISimObjectCreator*
const creator);
124 void FinalSetup(
const double T,
const double *
const X, ISimObjectCreator*
const creator );
125 void OdeFcn(
const double T,
const double*
const X,
double*
const XDot,
const bool bIsMajorTimeStep);
127 #ifdef FH_VISUALIZATION
128 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
129 void RenderUpdate(
const double T,
const double*
const X);
135 const double*
ForceNED(
const double T,
const double*
const X);
137 const double*
TorqueNED(
const double T,
const double*
const X);
139 const double*
Us(
const double T,
const double*
const X);
141 const double*
Rs(
const double T,
const double*
const X);
145 double Ct(
double U,
double F);
151 bool m_DummyPropeller;
154 ISignalPort *m_InForceDirectionNED;
156 ISignalPort *m_InMyRPS;
158 ISignalPort *m_InMyPD;
160 ISignalPort *m_InVelocityNED;
162 ISignalPort *m_InPositionNED;
164 ISignalPort *m_InMyPropellerForce;
166 ISignalPort *m_InMyPropellerTorque;
168 std::vector<double> PDlist;
169 double m_BladeTop[3];
171 double m_MyThrust[3];
172 double m_MyTorque[3];
173 double m_Position[3];
183 environment::EnvironmentProvider *m_Environment;
184 std::shared_ptr<PropellerCurrentField> m_currentField = std::make_shared<PropellerCurrentField>();
187 #ifdef FH_VISUALIZATION
188 std::string m_Material;
189 Ogre::SceneNode* m_RenderNode;
190 CDynamicLines* m_lines;
Definition IPropellerCalculator.h:8
Definition Propeller.h:106
marenv::Status GetCurrent(const double T, const double position[3], double currentVelocity[3])
Definition Propeller.h:119
const double * ForceNED(const double T, const double *const X)
const double * Us(const double T, const double *const X)
const double * BladeTopNED(const double T, const double *const X)
const double * Rs(const double T, const double *const X)
const double * TorqueNED(const double T, const double *const X)
Defines the interface for an relaying information about ocean currents.
Definition CurrentField.h:13
Status
Definition marenv.h:40
Simple waypoint object.
Definition CableAttach.h:16