5# pragma warning(disable : 4251)
10#include <fhsim/PrintDuringExec.h>
11#include <fhsim/simobject/SimObject.h>
12#include <fhsim_environment/EnvironmentProvider.h>
19class EnvironmentProvider;
63 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 override;
73 ISimObjectCreator* m_creator;
74 PrintDuringExec* m_print;
76 environment::EnvironmentProvider* m_environment;
78 double m_transitionTime;
82 std::vector<SeaState> m_seaStates;
84 size_t m_currentStateIndex;
Definition TestDynamicWaves.h:53
TestDynamicWaves(std::string SimObjectName, ISimObjectCreator *Creator)
void AcceptedStep(const double T, const double *const X) override
Post-accept callback - apply sea state transitions.
void OdeFcn(const double T, const double *const X, double *const XDot) const override
ODE function - derivative callback (no continuous states).
void FinalSetup(const double T, const double *const X, ISimObjectCreator *const Creator)
Final setup - retrieve environment provider.
SimObjects for testing environment functionality.
Definition TestBuoy1.h:17
Describes a wave field to be activated at a specified simulation time.
Definition TestDynamicWaves.h:26
int id
Unique identifier for this sea state.
Definition TestDynamicWaves.h:28
bool applied
Whether this state has been applied.
Definition TestDynamicWaves.h:34
double time
Time when this sea state becomes active.
Definition TestDynamicWaves.h:30
std::shared_ptr< marenv::wave::WaveField > waveField
Wave field for this sea state.
Definition TestDynamicWaves.h:32