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
31#ifdef FH_VISUALIZATION
32# include "sfh/ogre/C3DArrow.h"
33#endif
34
35namespace environmentmodels
36{
37
43class CNetCDFField : public CNCField
44{
45public:
51 CNetCDFField(std::string sSimObjectName, ISimObjectCreator* pCreator);
52
59 void OdeFcn(const double T, const double* const X, double* const XDot) const override;
60
61 virtual ~CNetCDFField();
62
67 void GetDomainBounds(double* Bound);
68
76 void GetFieldData(const double dT, const double* const dX, const double Pos[3], double* DataOut);
77
78#ifdef FH_VISUALIZATION
84 virtual void RenderInit(Ogre::Root* const pOgreRoot, ISimObjectCreator* const pCreator);
85
91 virtual void RenderUpdate(const double T, const double* const X);
92#endif
93
94protected:
98 float m_Bounds[6];
99
100#ifdef FH_VISUALIZATION
101 Ogre::SceneManager* m_VisSceneMgr;
102
103 double m_VisGridOrigin[3];
104 double m_VisGridDim[3];
105 double m_VisGridSize[3];
106 int m_VisGridNum[3];
107
108 C3DArrow** m_VisArrow;
109 double m_VisArrowMaxVal;
110 double m_VisArrowColor[3];
111 int m_VisArrowNum;
112
113 int m_VisScaleNum;
114 double m_VisScaleOrigin[3];
115 double* m_VisScaleDepth;
116 double* m_VisScaleRadius;
117#endif
118};
119} // namespace environmentmodels
120#endif
Definition netcdf_handler.h:19
Definition NetCDFField.h:44
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:98
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:96
Environment SimObjects.
Definition Environment.h:25