107 void CalcOutput2(
const double dT,
const double*
const adX);
108 void CalcOutputCommon(
const double dT,
const double*
const adX)
const;
109 void CalcOutput2Common(
const double dT,
const double*
const adX)
const;
112 virtual void OdeFcn(
const double dT,
const double*
const adX,
double*
const adXDot)
const { }
113 virtual void FinalSetup(
const double dT,
const double*
const adX, ISimObjectCreator*
const creator);
116 void PreOdeFcn(
double T,
const double* X, IStateUpdater* updater)
override;
118#ifdef FH_VISUALIZATION
120 virtual void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
123 virtual void RenderUpdate(
const double dT,
const double*
const adX);
125 const virtual double* WarpConnected(
const double dT,
const double*
const adX);
126 const virtual double* BuoyPos(
const double dT,
const double*
const adX);
127 const virtual double* VesselHeading(
const double dT,
const double*
const adX);
128 const virtual double* VesselSpeed(
const double dT,
const double*
const adX);
129 const virtual double* PWarpLength(
const double dT,
const double*
const adX);
130 const virtual double* SWarpLength(
const double dT,
const double*
const adX);
152 ISignalPort* m_inVesselPos;
153 ISignalPort* m_inPBridleTension;
154 ISignalPort* m_inSBridleTension;
155 ISignalPort* m_inNetSWingPos;
156 ISignalPort* m_inNetPWingPos;
157 ISignalPort* m_inNetVel;
158 ISignalPort* m_inPBridlePos;
159 ISignalPort* m_inSBridlePos;
162 ICommonComputation* m_commonCalc2;
164 double m_vesselHeading[7];
165 double m_vesselSpeed[7];
166 double m_phaseStartTime[7];
167 double m_payOutSpeedFactor;
172 double m_warpLengthCorrectionSpeed;
173 double m_initialSpeed;
177 double m_finishedSpeed;
178 double m_winchHaulSpeed;
179 double m_initialHeading;
181 double m_spreadAngle;
182 double m_setWarpLength;
184 double m_outPWarpLength;
185 double m_outSWarpLength;
188 double m_addedTrackLength;
190 double m_minWarpLength;
191 std::string m_attractorNameNet;
192 std::string m_attractorNameWarps;
193 std::string m_phase[7];
194 std::string m_speed[7];
195 std::string m_heading[7];
202 double m_netTangentialSpeed;
203 double m_netNormalSpeed;
204 double m_fileWritePeriod;
205 double m_bridleTension[2];
206 double m_bridleSpread;
208 sfh::timers::StopWatch m_StopWatchFileWrite;
209 std::ofstream m_Outfile;
210 std::string m_fileName;
211 sfh::filters::IIR m_BridleTensionFilter;
213#ifdef FH_VISUALIZATION
214 Ogre::Entity* m_RenderMass;
215 Ogre::SceneNode* m_RenderNode;
216 sfh::timers::StopWatch m_StopWatchRenderUpdate;
218 fhsim::HudLine m_hudTime;
219 fhsim::HudLine m_hudPhase;
220 fhsim::HudLine m_hudSpeed;
221 fhsim::HudLine m_hudHeading;
222 fhsim::HudLine m_hudWingSpread;
223 fhsim::HudLine m_hudBridleSpread;
224 fhsim::HudLine m_hudSbBridleTension;
225 fhsim::HudLine m_hudPrtBridleTension;
226 fhsim::HudLine m_hudNetNormalSpeed;
227 fhsim::HudLine m_hudNetTangentialSpeed;
virtual void OdeFcn(const double dT, const double *const adX, double *const adXDot) const
Calculates the state derivatives.
Definition SeineOperation.h:112
void PreOdeFcn(double T, const double *X, IStateUpdater *updater) override
Latches the buoy at the vessel position of a step that starts in Phase_NotSet.