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
36class TestNetcageWake : public SimObject
37{
38public:
44 TestNetcageWake(std::string SimObjectName, ISimObjectCreator* Creator);
45
47 void FinalSetup(const double T, const double* const X, ISimObjectCreator* Creator) override;
48
50 void OdeFcn(double T, const double* X, double* XDot) const override
51 {
52 static_cast<void>(T);
53 static_cast<void>(X);
54 static_cast<void>(XDot);
55 }
56#ifdef FH_VISUALIZATION
58 virtual void RenderUpdate(double T, const double* X) { }
60 virtual void RenderInit(Ogre::Root* ogreRoot, ISimObjectCreator* creator) { }
61#endif
62private:
64 environment::EnvironmentProvider* m_pEnvironment;
66 std::shared_ptr<environment::NetCageWakeField> m_pWakeField;
67
69 double m_fullWakeDepth;
71 double m_fullWakeDiameter;
73 double m_initialBoundaryLayer;
75 double m_maxWakeFactor;
77 double m_pos[3] = {0.0, 0.0, 0.0};
79 double m_wakeAngle;
81 double m_wakeFactorCutoff;
82};
83
84} // namespace testmodels
Definition TestNetcageWake.h:37
void OdeFcn(double T, const double *X, double *XDot) const override
ODE function (empty for static wake field).
Definition TestNetcageWake.h:50
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