FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
NetCdfSeafloorBathymetry.h
1#pragma once
2
3#include "util/NetCDFParser.h"
4
5#include <marenv/seafloor/BathymetryField.h>
6#include <string>
7
8namespace environmentmodels
9{
10
19{
20public:
25 explicit NetCdfSeafloorBathymetry(const std::string& filename);
27
36 [[nodiscard]] marenv::Status GetDepth(const double pos[2], double& depthOut) override;
37
44 [[nodiscard]] marenv::Status ComputeSurfaceUnitNormal(const double pos[2], double unitNormalOut[3]) override;
45
52 [[nodiscard]] marenv::Status GetSeabedSigma(const double pos[3], double& sigmaOut) override;
53
60 [[nodiscard]] marenv::Status GetSeabedTau(const double pos[3], double& tauOut) override;
61
68 [[nodiscard]] marenv::Status GetSeabedRho(const double pos[3], double& rhoOut) override;
69
74 const netcdf_sinmod::Grid& GetGrid() const { return m_grid; }
75
80 const double* GetDepthMap() const { return m_depthMap; }
81
86 double GetLengthX() const { return m_length_x; }
87
92 double GetLengthY() const { return m_length_y; }
93
94private:
100 double GetDepthInternal(const double pos[2]) const;
101
102 netcdf_sinmod::Grid m_grid {};
103 double* m_depthMap = nullptr;
104 double m_length_x = 0.0;
105 double m_length_y = 0.0;
106};
107
108} // namespace environmentmodels
Definition NetCdfSeafloorBathymetry.h:19
const netcdf_sinmod::Grid & GetGrid() const
Definition NetCdfSeafloorBathymetry.h:74
const double * GetDepthMap() const
Definition NetCdfSeafloorBathymetry.h:80
marenv::Status GetSeabedSigma(const double pos[3], double &sigmaOut) override
marenv::Status GetSeabedTau(const double pos[3], double &tauOut) 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 NetCdfSeafloorBathymetry.h:86
marenv::Status GetDepth(const double pos[2], double &depthOut) override
double GetLengthY() const
Definition NetCdfSeafloorBathymetry.h:92
Definition BathymetryField.h:24
Status
Definition marenv.h:40
Environment SimObjects.
Definition Environment.h:25
Grid dimensions structure.
Definition NetCDFParser.h:23