Marine systems simulation
EnvironmentalQuery.h
1#ifndef EnvironmentalQuery_h__
2#define EnvironmentalQuery_h__
3
45#include <ISimObjectCreator.h>
46
47#include <CEnvironment.h>
48
49#ifdef FH_VISUALIZATION
50 #include "sfh/ogre/C3DArrow.h"
51#endif
52
53class CFhSimMgr;
54namespace Ship{
55 class EnvironmentQuery: public SimObject
56 {
57 public:
58 EnvironmentQuery(const string simObjectName, ISimObjectCreator* const creator);
60
61 void OdeFcn(const double T, const double* const X, double* const XDot, const bool bIsMajorTimeStep);
62 void FinalSetup( const double T, const double *const X, ISimObjectCreator* const creator );
63
64 #ifdef FH_VISUALIZATION
65 virtual void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
66 virtual void RenderUpdate( const double T, const double* const X);
67 #endif
68
71 const double* FluidVelocity (const double T, const double* const X);
74 const double* FluidAcceleration (const double T, const double* const X);
77 const double* FluidDepth (const double T, const double* const X);
80 const double* WaveHeight (const double T, const double* const X);
83 const double* TotalPressure (const double T, const double* const X);
86 const double* DynamicPressure (const double T, const double* const X);
87
88 private:
89
91 ISignalPort *m_InMyPosition;
93 ISignalPort *m_InMyVelocity;
94
96 bool m_UseVelocity;
97
98 double m_FluidVelocity[3];
99 double m_FluidAcceleration[3];
100 double m_FluidDepth;
101 double m_WaveHeight;
102 double m_TotalPressure;
103 double m_DynamicPressure;
104
105 CEnvironment *Environment;
106
107 #ifdef FH_VISUALIZATION
108 std::string m_sMaterial;
109 std::string m_sMesh;
110 double m_dScale;
111 Ogre::Entity* m_RenderMass;
112 Ogre::SceneNode* m_RenderNode;
113
114 C3DArrow *m_ForceArrow;
115 #endif
116 };
117}
118#endif // EnvironmentalQuery_h__
Definition: CEnvironment.h:10
Definition: EnvironmentalQuery.h:56
const double * FluidAcceleration(const double T, const double *const X)
const double * WaveHeight(const double T, const double *const X)
const double * FluidDepth(const double T, const double *const X)
const double * DynamicPressure(const double T, const double *const X)
const double * FluidVelocity(const double T, const double *const X)
const double * TotalPressure(const double T, const double *const X)
Simple waypoint object.
Definition: CableAttach.h:16