Marine systems simulation
Loading...
Searching...
No Matches
TestNetcageWake.h
1#pragma once
2
3#include <SimObject.h>
4#include <memory>
5#include <string>
6
7namespace environment
8{
9class EnvironmentProvider;
10class NetCageWakeField;
11} // namespace environment
12
13namespace testmodels {
14
35class TestNetcageWake : public SimObject
36{
37public:
43 TestNetcageWake(std::string SimObjectName, ISimObjectCreator* Creator);
44
46 void FinalSetup(const double T, const double* const X, ISimObjectCreator* Creator) override;
47
49 void OdeFcn(double T, const double* X, double* XDot, bool IsMajorTimeStep) override {}
50#ifdef FH_VISUALIZATION
52 virtual void RenderUpdate(double T, const double* X) {}
54 virtual void RenderInit(Ogre::Root* ogreRoot, ISimObjectCreator* creator) {}
55#endif
56private:
58 environment::EnvironmentProvider* m_pEnvironment;
60 std::shared_ptr<environment::NetCageWakeField> m_pWakeField;
61
63 double m_fullWakeDepth;
65 double m_fullWakeDiameter;
67 double m_initialBoundaryLayer;
69 double m_maxWakeFactor;
71 double m_pos[3] = {0.0, 0.0, 0.0};
73 double m_wakeAngle;
75 double m_wakeFactorCutoff;
76};
77
78} // namespace testmodels
Definition TestNetcageWake.h:36
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)
void OdeFcn(double T, const double *X, double *XDot, bool IsMajorTimeStep) override
ODE function (empty for static wake field).
Definition TestNetcageWake.h:49
SimObjects for testing environment functionality.
Definition TestBuoy1.h:8