FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
NetCDFField.h
1#ifndef NETCDFFIELD_H
2#define NETCDFFIELD_H
3
4#include "netcdf_handler.h"
5
6#include <CNCField.h>
7#include <fhsim/simobject/SimObject.h>
8
52#ifdef FH_VISUALIZATION
53# include "sfh/ogre/C3DArrow.h"
54#endif
55
56namespace environmentmodels
57{
58
64class CNetCDFField : public CNCField
65{
66public:
72 CNetCDFField(std::string sSimObjectName, ISimObjectCreator* pCreator);
73
80 void OdeFcn(const double T, const double* const X, double* const XDot) const override;
81
82 virtual ~CNetCDFField();
83
88 void GetDomainBounds(double* Bound);
89
97 void GetFieldData(const double dT, const double* const dX, const double Pos[3], double* DataOut);
98
99#ifdef FH_VISUALIZATION
105 virtual void RenderInit(Ogre::Root* const pOgreRoot, ISimObjectCreator* const pCreator);
106
112 virtual void RenderUpdate(const double T, const double* const X);
113#endif
114
115protected:
119 float m_Bounds[6];
120
121#ifdef FH_VISUALIZATION
122 Ogre::SceneManager* m_VisSceneMgr;
123
124 double m_VisGridOrigin[3];
125 double m_VisGridDim[3];
126 double m_VisGridSize[3];
127 int m_VisGridNum[3];
128
129 C3DArrow** m_VisArrow = nullptr;
130 double m_VisArrowMaxVal;
131 double m_VisArrowColor[3];
132 int m_VisArrowNum = 0;
133
134 int m_VisScaleNum = 0;
135 double m_VisScaleOrigin[3];
136 double* m_VisScaleDepth = nullptr;
137 double* m_VisScaleRadius = nullptr;
138#endif
139};
140} // namespace environmentmodels
141#endif
Definition netcdf_handler.h:29
Definition NetCDFField.h:65
void GetDomainBounds(double *Bound)
float m_Bounds[6]
Domain bounds [xmin, xmax, ymin, ymax, zmin, zmax] [m]. Protected to allow subclass access.
Definition NetCDFField.h:119
CNetCDFField(std::string sSimObjectName, ISimObjectCreator *pCreator)
void OdeFcn(const double T, const double *const X, double *const XDot) const override
void GetFieldData(const double dT, const double *const dX, const double Pos[3], double *DataOut)
NetcdfHandler * m_NetCDF
NetCDF handler for data I/O. Protected to allow subclass access.
Definition NetCDFField.h:117
Environment SimObjects.
Definition Environment.h:25