Marine systems simulation
CDefaultEnvironment.h
1#ifndef DEFAULT_ENVIRONMENT_H
2#define DEFAULT_ENVIRONMENT_H
3
44#include "CEnvironment.h"
45
47{
48 public:
49 CDefaultEnvironment(std::string sSimObjectName, ISimObjectCreator* pCreator);
51 double GetSurfaceElevation(const double dT, const double* const dX, const double adPos[2]);
52 void GetSurfaceUnitNormal(const double dT, const double* const dX, const double adPos[2], double* adUnitNormalOut);
53 void GetParticleVelocity(const double dT, const double* const dX, const double adPos[3], double* adVelOut);
54 void GetCurrentVelocity(const double dT, const double* const dX, const double adPos[3], double* adVelOut);
55 void GetParticleAcceleration(const double dT, const double* const dX, const double adPos[3], double* adAccOut);
56 double GetPressure(const double dT, const double* const dX, const double adPos[3]);
57 double GetTotalPressure(const double dT, const double* const dX, const double adPos[3]);
58 double GetDensity(const double dT, const double* const dX, const double adPos[3]);
59 double GetSeadepth(const double adPos[2]);
60 double GetSeabedSigma(const double adPos[3]);
61 double GetSeabedTau(const double adPos[3]);
62 double GetSeabedRho(const double adPos[3]);
63 void RegisterCurrentField(ICurrentField* currentField);
64
65
66 void InitParameters();
67
68 virtual EnvironmentQuery PointEnvironmentQuery(const double T, const double* const X, const double Position[3]);
69 virtual void PointEnvironmentQuery2(const double T, const double* const X, const double Position[3], EnvironmentQuery& q);
70
71#ifdef FH_VISUALIZATION
72 void RenderInit(Ogre::Root* const pOgreRoot, ISimObjectCreator* const pCreator);
73 void RenderUpdate(const double dT, const double* const adX);
74#endif
75
76 protected:
77 double m_uniformDensity;
78 double m_dSeadepth;
79 double m_CurrentVelocity[3];
80 std::vector<ICurrentField*> m_CurrentFields;
81#ifdef FH_VISUALIZATION
82 Ogre::SceneNode* m_seabed;
83#endif
84};
85#endif
Definition: CDefaultEnvironment.h:47
Definition: CEnvironment.h:10
Definition: ICurrentField.h:4
Definition: CEnvironment.h:38