Marine systems simulation
Loading...
Searching...
No Matches
NetCDFField.h
1#ifndef NETCDFFIELD_H
2#define NETCDFFIELD_H
3
4#include <CNCField.h>
5#include "SimObject.h"
6#include "netcdf_handler.h"
7
14#ifdef FH_VISUALIZATION
15#include "sfh/ogre/C3DArrow.h"
16#endif
17
18class CNetCDFField : public CNCField
19{
20public:
21 CNetCDFField(string sSimObjectName, ISimObjectCreator* pCreator);
22 void OdeFcn(const double T, const double* const X, double* const XDot, const bool bIsMajorTimeStep);
23 virtual ~CNetCDFField();
24
25 void GetDomainBounds(double* Bound);
26 void GetFieldData(const double dT, const double* const dX, const double Pos[3], double *DataOut);
27
28#ifdef FH_VISUALIZATION
29 virtual void RenderInit(Ogre::Root* const pOgreRoot, ISimObjectCreator* const pCreator);
30 virtual void RenderUpdate(const double T, const double* const X);
31#endif
32
33protected:
34 NetcdfHandler* m_NetCDF;
35 float m_Bounds[6];
36
37#ifdef FH_VISUALIZATION
38 Ogre::SceneManager* m_VisSceneMgr;
39
40 double m_VisGridOrigin[3];
41 double m_VisGridDim[3];
42 double m_VisGridSize[3];
43 int m_VisGridNum[3];
44
45 C3DArrow** m_VisArrow;
46 double m_VisArrowMaxVal;
47 double m_VisArrowColor[3];
48 int m_VisArrowNum;
49
50 int m_VisScaleNum;
51 double m_VisScaleOrigin[3];
52 double* m_VisScaleDepth;
53 double* m_VisScaleRadius;
54#endif
55};
56#endif
Definition CNCField.h:8
Definition NetCDFField.h:19
Definition netcdf_handler.h:12