Marine systems simulation
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#endif
50};
51#endif
Definition: CNCField.h:8
Definition: NetCDFField.h:19
Definition: netcdf_handler.h:12