Marine systems simulation
Loading...
Searching...
No Matches
Environment.h
1#pragma once
2
3#include "EnvironmentSettings.h"
4#include "SimObject.h"
5#include "fhsim_environment/EnvironmentProvider.h"
6#include "seafloorForces/SeafloorForces.h"
7#include "visual/OceanSides.h"
8
9#include <marenv/seafloor/BathymetryWavesSpec.h>
10#ifdef FH_VISUALIZATION
11# include "visual/OceanSurfaceProjected.h"
12# include "visual/SeafloorProjected.h"
13
14#endif
24{
25
163class Environment : public SimObject
164{
165public:
171 Environment(string simObjectName, ISimObjectCreator* creator);
172
175
183 void OdeFcn(const double dT, const double* const adX, double* const adXDot, const bool bIsMajorTimeStep);
184
185#ifdef FH_VISUALIZATION
193 void RenderInit(Ogre::Root* const ogreRoot, ISimObjectCreator* const creator);
194
202 void RenderUpdate(const double T, const double* const X);
203#endif
204
205protected:
206#ifdef FH_VISUALIZATION
207 std::shared_ptr<visual::OceanSurfaceProjected> m_surface;
208 std::shared_ptr<visual::SeafloorProjected> m_seafloor;
209 std::shared_ptr<visual::OceanSides> m_oceanSides;
210#endif
211private:
212 std::shared_ptr<visual::EnvironmentSettings> m_settings;
213 environment::EnvironmentProvider m_environment;
214 std::shared_ptr<environment::SeafloorForces> m_seafloorForces;
215};
216} // namespace environmentmodels
Definition Environment.h:164
void OdeFcn(const double dT, const double *const adX, double *const adXDot, const bool bIsMajorTimeStep)
Environment(string simObjectName, ISimObjectCreator *creator)
Environment SimObjects.
Definition Environment.h:24