8#include <fhsim/ISimObjectLogger.h>
9#include <fhsim/simobject/SimObject.h>
10#include <marenv/wake/WakeTypes.h>
21class EnvironmentProvider;
109 void FinalSetup(
double T,
const double* X, ISimObjectCreator* Creator)
override;
121 void PreOdeFcn(
double T,
const double* X, IStateUpdater* updater)
override;
124 void OdeFcn(
double T,
const double* X,
double* XDot)
const override;
132 void WidenAboveMaxThrustCoefficient(ISimObjectCreator* creator,
const std::string& strengthName);
138 void FollowRelativeFlow(
double T);
141 void PublishFixedAxis();
144 void UpdateSeabedImage();
146 environment::EnvironmentProvider* m_pEnvironment =
nullptr;
147 std::shared_ptr<marenv::wake::SourceSetWake> m_pWake;
150 double m_sourceVelocity[3] {};
152 double m_setupTime = 0.0;
153 double m_seabedDepth = 0.0;
154 bool m_followFlow =
true;
155 bool m_seabedChecked =
false;
156 ISimObjectLogger* m_logger =
nullptr;
Definition PorousDiscWakeSource.h:86
void OdeFcn(double T, const double *X, double *XDot) const override
No state: nothing to integrate.
void FinalSetup(double T, const double *X, ISimObjectCreator *Creator) override
PorousDiscWakeSource(std::string SimObjectName, ISimObjectCreator *Creator)
void PreOdeFcn(double T, const double *X, IStateUpdater *updater) override
Environment SimObjects.
Definition Environment.h:25
Definition WakeTypes.h:36
Definition WakeTypes.h:102