128#include <CEnvironment.h>
133namespace NetCDFsinmod
142#ifdef FH_VISUALIZATION
143 #include <CFhCamera.h>
144 #include "sfh/ogre/C3DLine.h"
182 void GetSurfaceUnitNormal (
const double dT,
const double*
const dX,
const double adPos[2],
double *adUnitNormalOut);
193 void GetParticleVelocity (
const double dT,
const double*
const dX,
const double adPos[3],
double *adVelOut);
214 double GetPressure (
const double dT,
const double*
const dX,
const double adPos[3]);
320 void GetCurrentVelocity (
const double dT,
const double*
const dX,
const double adPos[3],
double *adVelOut);
340 double GetDensity(
const double T,
const double *
const X,
const double pos[3]);
343 EnvironmentQuery PointEnvironmentQuery(
const double T,
const double*
const X,
const double Position[3]);
344 void PointEnvironmentQuery2(
const double T,
const double*
const X,
const double Position[3],
EnvironmentQuery &q);
346 #ifdef FH_VISUALIZATION
355 void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
364 void RenderUpdate(
const double T,
const double*
const X);
373 int m_NumWaves4Multiplier;
384 vector<ICurrentField*> m_registeredCurrentFields;
388 #ifdef FH_VISUALIZATION
390 Ogre::SceneNode* m_pWorldSceneNode;
391 Ogre::SceneNode* m_RenderOceanNode;
392 Ogre::ManualObject* m_pOceanRenderObj;
393 Ogre::Light* m_pLight;
395 Ogre::ManualObject** m_depthPolygons;
396 Ogre::SceneNode** m_depthPolygonsNodes;
397 CFhCamera* m_FhCamera;
398 Ogre::Camera* m_OgreCamera;
Definition: CEnvironment.h:10
Definition: DeepSeaGravityWaves.h:148
DeepSeaGravityWaves(string simObjectName, ISimObjectCreator *creator)
Reads parameters, registers states, input/output ports and shared resources.
vector< double > m_adWaveFrequency
For simulation without visualization. Is multiplied with 4 to get the total number of waves in a sea ...
Definition: DeepSeaGravityWaves.h:375
vector< double > m_adWaveAmplitude
Array holding wave frequencies for all waves.
Definition: DeepSeaGravityWaves.h:376
double GetSurfaceElevation(const double dT, const double *const dX, const double adPos[2])
Returns the surface elevation at a specific position.
double GetTotalPressure(const double dT, const double *const dX, const double adPos[3])
Returns the total pressure at a specific position.
void GetCurrentVelocity(const double dT, const double *const dX, const double adPos[3], double *adVelOut)
Returns the water current velocity at a specific position.
vector< double > m_adWaveDirection
Array holding wave amplitudes for all waves.
Definition: DeepSeaGravityWaves.h:377
NetCDFsinmod::Grid * m_grid
Array holding wave number for all waves.
Definition: DeepSeaGravityWaves.h:381
double GetSeabedSigma(const double adPos[3])
Returns the sea depth sigma at a specific position.
void GetCurrentProducerVelocity(const double dT, const double *const dX, const double adPos[3], double *adVelOut)
Returns the water current velocity producer at a specific position.
void GetWavePhaseAngles(std::vector< double > &vec)
Returns a vector of all wave phase angles.
string m_waveTheoryName
Enumerator holding the wave theory used.
Definition: DeepSeaGravityWaves.h:369
double GetPressure(const double dT, const double *const dX, const double adPos[3])
Returns the dynamic pressure at a specific position.
void GetWaveAmplitudes(std::vector< double > &vec)
Returns a vector of all wave amplitudes.
void GetWaveFrequencies(std::vector< double > &vec)
Returns a vector of all wave frequencies.
double GetSeabedTau(const double adPos[3])
Returns the sea depth tau at a specific position.
void GetSurfaceUnitNormal(const double dT, const double *const dX, const double adPos[2], double *adUnitNormalOut)
Returns the unit normal vector of the surface at a specific position.
void GetParticleAcceleration(const double dT, const double *const dX, const double adPos[3], double *adAccOut)
Returns the particle acceleration at a specific position.
double GetDensity(const double T, const double *const X, const double pos[3])
Returns the water density at a specific position.
vector< double > m_adWaveNumber
Array holding phase angles for all waves.
Definition: DeepSeaGravityWaves.h:379
void GetWaveDirections(std::vector< double > &vec)
Returns a vector of all wave directions.
void GetParticleVelocity(const double dT, const double *const dX, const double adPos[3], double *adVelOut)
Returns the particle velocity at a specific position.
void GetWaveNumbers(std::vector< double > &vec)
Returns a vector of all wave numbers.
double GetSeabedRho(const double adPos[3])
Returns the density of the seabed at a specific position.
vector< double > m_adPhaseAngle
Array holding wave propagation directions for all waves.
Definition: DeepSeaGravityWaves.h:378
void RegisterCurrentField(ICurrentField *currentField)
Registers an input current field in the environmental representation.
double GetSeadepth(const double adPos[2])
Returns the sea depth at a specific position.
Definition: ICurrentField.h:4
Definition: LinearWaveTheory.h:25
Definition: CEnvironment.h:38
Definition: NetCDFParser.h:7