Marine systems simulation
Loading...
Searching...
No Matches
OceanSurfaceProjected.h
1#pragma once
2
3#include "EnvironmentSettings.h"
4#ifdef FH_VISUALIZATION
5# include <CFhCamera.h>
6# include <Ogre.h>
7# include <marenv/wave/WaveField.h>
8namespace visual
9{
10
17class OceanSurfaceProjected
18{
19public:
27 OceanSurfaceProjected(Ogre::Root* const ogreRoot,
28 std::shared_ptr<marenv::wave::WaveField> waves,
29 CFhCamera* fhCamera, std::shared_ptr<EnvironmentSettings> settings);
30
38 void Update(const double T, const double* const X, marenv::wave::WaveField& waves, double timeOfLastSeaStateChange);
39
50 void SetGpuWaveParameters(marenv::wave::WaveField& waves, double T, double timeOfLastSeaStateChange);
51
52protected:
54 Ogre::Camera* m_ogreCamera;
56 Ogre::SceneNode* m_surfaceRenderNode;
58 Ogre::ManualObject* m_surfaceRenderObj;
60 CFhCamera* m_fhCamera;
61
62private:
64 std::shared_ptr<EnvironmentSettings> m_settings;
65 double m_timeOfLastGpuParametersUpdate;
66};
67} // namespace visual
68#endif
The interface for an representing waves.
Definition WaveField.h:35
Visualization utilities.
Definition EnvironmentSettings.h:13