VR-Vantage 3.0 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ciOcean.h
Go to the documentation of this file.
1 
2 // Copyright JRM Enterprises, Inc. 2004
3 // All rights reserved.
4 //
5 // This code is the intellectual property of JRM Enterprises, Inc.
6 // It may not be used or released as source or compiled binary form
7 // without the prior written consent of JRM Enterprises, Inc.
8 //
9 // Original Author: Tim George
10 // Date: Sep 2006
11 //
12 //
13 //
14 //
16 
17 #if !defined(AFX_CIOCEAN_H__DE81EF86_CAA9_471E_AE7A_9087CD4CB282__INCLUDED_)
18 #define AFX_CIOCEAN_H__DE81EF86_CAA9_471E_AE7A_9087CD4CB282__INCLUDED_
19 
20 #if _MSC_VER > 1000
21 #pragma once
22 #endif // _MSC_VER > 1000
23 #include "ciApi.h"
24 
28 #include <iostream>
29 #include <fstream>
30 #include "clXML.h"
31 #include "clXMLNode.h"
32 
34 {
35 public: // contructors, destructors and assignment operators
36 
38  // ciOcean
43  ciOcean();
44 
46  // ciOcean
54 
56  // ~ciOcean
61  virtual ~ciOcean();
62 
64  // operator =
72  ciOcean operator =(ciOcean &obj);
73 
74 public: // methods
75 
77  // archive
86  bool archive(std::ofstream &outf);
87 
89  // serialize
97  bool serialize(char *filepath);
98 
99  //
100  // loadXML
101  //
102  // \par Description:
103  // Loads attributes from an XML node
104  //
105  // \param clXMLNode* oceanNode
106  // \return bool
107  //
108  bool loadXML(clXMLNode* oceanNode);
109 
110  //
111  // parseXML
112  //
113  // \par Description:
114  // Parses an XML document for specific tags
115  //
116  // \param clXML xmlDocument
117  // \return bool
118  //
119  bool parseXML(clXML& xmlDocument);
120 
122  //loadXMLNode
129  bool loadXMLNode(std::string tag, char *nodeString);
131  //loadXMLNode
138  bool loadXMLNode(std::string tag, bool *nodeBool);
140  //loadXMLNode
147  bool loadXMLNode(std::string tag, int *nodeBool);
149  //loadXMLNode
156  bool loadXMLNode(std::string tag, double *nodeBool);
157 
158  //
159  // saveXML
160  //
161  // \par Description:
162  // Saves XML nodes to an XML document
163  //
164  // \param clXML* xmlDocument
165  //
166  void saveXML(clXML* xmlDocument);
167 
169  // Getters and Setters
170 
172  // GetGeomFileName
179  char *getGeomFileName();
180 
181 
183  // SetGeomFileName
191  void setGeomFileName(char *name);
192 
194  // GetMatSysFileName
201  char *getMatSysFileName();
202 
204  // SetMatSysFileName
212  void setMatSysFileName(char *name);
213 
215  // GetThermalSpinUpPeriod
222  double getThermalSpinUpPeriod();
223 
225  // SetThermalSpinUpPeriod
233  void setThermalSpinUpPeriod(double period);
234 
236  // setVisibility
244  void setVisibility(bool visibility);
245 
247  // getVisibility
254  bool getVisibility();
255 
257  // setGeodeticPosition
267  void setGeodeticPosition(double latitude, double longitude, double altitude);
268 
270  // getGeodeticPosition
280  void getGeodeticPosition(double &latitude, double &longitude, double &altitude);
281 
283  // setNEDOrientation
293  void setNEDOrientation(double heading, double pitch, double roll);
294 
296  // getNEDOrientation
306  void getNEDOrientation(double &heading, double &pitch, double &roll);
308  //setUseOcean
313  void setUseOcean(bool flag){m_useOcean = flag;}
314 
316  //getUseOcean
321  bool getUseOcean(){return m_useOcean;}
322 
324  //getWindSpeed
329  double getWindSpeed(){return m_windSpeed;}
330 
332  //setWindSpeed
338  void setWindSpeed (double windSpeed){ m_windSpeed = windSpeed; }
339 
341  //getWindDirection
346  double getWindDirection(){return m_windDirection;}
347 
349  //setWindDirection
355  void setWindDirection (double windDirection){ m_windDirection = windDirection; }
356 
358  //getWaveHeight
363  double getWaveHeight(){return m_waveHeight;}
364 
366  //setWaveHeight
372  void setWaveHeight (double waveHeight){ m_waveHeight = waveHeight; }
373 
374 protected: // methods
375 
376 private: // methods
377 
378 private: // variables
379 
380  char m_geomFileName[512];
381  char m_matSysFileName[512];
384  double m_latitude;
385  double m_longitude;
386  double m_altitude;
387  double m_heading;
388  double m_pitch;
389  double m_roll;
391  double m_windSpeed;
393  double m_waveHeight;
395 };
396 
397 #endif // !defined(AFX_CIOCEAN_H__DE81EF86_CAA9_471E_AE7A_9087CD4CB282__INCLUDED_)


Copyright © 2005-2022 MAK Technologies. All Rights Reserved (www.mak.com)