FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
OceanSurfaceProjected.h
1#pragma once
2
3#include "VisualSettings.h"
4#include <memory>
5#ifdef FH_VISUALIZATION
6# include <Ogre.h>
7# include <fhsim/visual/renderer/FhCamera.h>
8# include <marenv/wave/WaveField.h>
9namespace visual
10{
11
18class OceanSurfaceProjected
19{
20public:
28 OceanSurfaceProjected(Ogre::Root* const ogreRoot,
29 std::shared_ptr<marenv::wave::WaveField> waves,
30 FhCamera* fhCamera, std::shared_ptr<VisualSettings> settings);
31
38 void Update(const double T, const double* const X, marenv::wave::WaveField& waves);
39
49 void SetGpuWaveParameters(marenv::wave::WaveField& waves, double T);
50
51protected:
53 Ogre::Camera* m_ogreCamera;
55 Ogre::SceneNode* m_surfaceRenderNode;
57 Ogre::ManualObject* m_surfaceRenderObj;
59 FhCamera* m_fhCamera;
60
61private:
63 std::shared_ptr<VisualSettings> m_settings;
64};
65} // namespace visual
66#endif
Definition WaveField.h:41
Visualization utilities.
Definition VisualDomain.h:12