3#include "fhsim_environment/EnvironmentProvider.h"
5#include <fhsim/simobject/SimObject.h>
6#include <marenv/seafloor/BathymetryField.h>
11#include "util/NetCDFParser.h"
85 double& distanceOut,
double maxSearchDistance,
double startSearchDistance,
86 double stepSize,
double convergenceTolerance)
override;
118 double GetDepthInternal(
const double pos[2])
const;
121 double* m_depthMap =
nullptr;
122 double m_length_x = 0.0;
123 double m_length_y = 0.0;
170 void FinalSetup(
const double T,
const double*
const adX, ISimObjectCreator* creator)
override;
173 void OdeFcn(
const double dT,
const double*
const adX,
double*
const adXDot)
const override;
175#ifdef FH_VISUALIZATION
177 void RenderInit(Ogre::Root* ogreRoot, ISimObjectCreator* creator)
override;
180 void RenderUpdate(
double T,
const double* X)
override;
184 std::string m_filename;
185 std::shared_ptr<NetCdfSeafloorBathymetry> m_bathymetry;
186 environment::EnvironmentProvider* m_pEnvironment =
nullptr;
188#ifdef FH_VISUALIZATION
189 Ogre::SceneNode* m_pSeabedNode =
nullptr;
Definition NetCdfSeafloor.h:22
const netcdf_sinmod::Grid & GetGrid() const
Definition NetCdfSeafloor.h:92
const double * GetDepthMap() const
Definition NetCdfSeafloor.h:98
marenv::Status GetSeabedSigma(const double pos[3], double &sigmaOut) override
marenv::Status GetSeabedTau(const double pos[3], double &tauOut) override
marenv::Status ComputeRayIntersection(const double origin[3], const double direction[3], double &distanceOut, double maxSearchDistance, double startSearchDistance, double stepSize, double convergenceTolerance) override
marenv::Status GetSeabedRho(const double pos[3], double &rhoOut) override
marenv::Status ComputeSurfaceUnitNormal(const double pos[2], double unitNormalOut[3]) override
NetCdfSeafloorBathymetry(const std::string &filename)
double GetLengthX() const
Definition NetCdfSeafloor.h:104
marenv::Status GetDepth(const double pos[2], double &depthOut) override
double GetLengthY() const
Definition NetCdfSeafloor.h:110
Definition NetCdfSeafloor.h:159
void FinalSetup(const double T, const double *const adX, ISimObjectCreator *creator) override
Register bathymetry with Environment.
NetCdfSeafloor(std::string simObjectName, ISimObjectCreator *creator)
void OdeFcn(const double dT, const double *const adX, double *const adXDot) const override
ODE function (no-op for static bathymetry).
Definition BathymetryField.h:24
Status
Definition marenv.h:40
Environment SimObjects.
Definition Environment.h:25
Grid dimensions structure.
Definition NetCDFParser.h:23