FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
TestNetcageWake.h
1#pragma once
2
3#include <fhsim/simobject/SimObject.h>
4#include <memory>
5#include <string>
6
7namespace environment
8{
9class EnvironmentProvider;
10class NetCageWakeField;
11} // namespace environment
12
13namespace testmodels
14{
15
38class TestNetcageWake : public SimObject
39{
40public:
46 TestNetcageWake(std::string SimObjectName, ISimObjectCreator* Creator);
47
49 void FinalSetup(const double T, const double* const X, ISimObjectCreator* Creator) override;
50
52 void OdeFcn(double T, const double* X, double* XDot) const override
53 {
54 static_cast<void>(T);
55 static_cast<void>(X);
56 static_cast<void>(XDot);
57 }
58#ifdef FH_VISUALIZATION
60 virtual void RenderUpdate(double T, const double* X) { }
62 virtual void RenderInit(Ogre::Root* ogreRoot, ISimObjectCreator* creator) { }
63#endif
64private:
66 environment::EnvironmentProvider* m_pEnvironment;
68 std::shared_ptr<environment::NetCageWakeField> m_pWakeField;
69
71 double m_fullWakeDepth;
73 double m_fullWakeDiameter;
75 double m_initialBoundaryLayer;
77 double m_maxDeficit;
79 double m_pos[3] = {0.0, 0.0, 0.0};
81 double m_wakeAngle;
83 double m_deficitCutoff;
84};
85
86} // namespace testmodels
Definition TestNetcageWake.h:39
void OdeFcn(double T, const double *X, double *XDot) const override
ODE function (empty for static wake field).
Definition TestNetcageWake.h:52
void FinalSetup(const double T, const double *const X, ISimObjectCreator *Creator) override
Final setup - register wake field with Environment.
TestNetcageWake(std::string SimObjectName, ISimObjectCreator *Creator)
SimObjects for testing environment functionality.
Definition TestBuoy1.h:16