VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDynamicOceanObject.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
14 
15 #include <list>
16 
17 #include <matrix/vlVector.h>
18 
19 namespace makVrv
20 {
21  class DtDe;
22 
28  {
29  public:
30 
31 
35  {
36  public:
38  OceanSwell(double lengthInMeters = 0.0, double heightInMeters = 0.0,
39  double radiansClockwiseFromNorth = 0.0);
40 
42  OceanSwell(const OceanSwell& orig);
43 
45  OceanSwell& operator =(const OceanSwell& rhs);
46 
49 
51  void setLength(double meters);
52  double length() const;
54 
56  void setHeight(double meters);
57  double height() const;
59 
61  void setDirection(double radiansClockwiseFromNorth);
62  double direction() const;
64 
66 
67  private:
68  double myLength;
69  double myHeight;
70  double myDirection;
71  };
72 
73  typedef std::list<OceanSwell> OceanSwellList;
74 
75 
78 
80  virtual ~DtDynamicOceanObject();
81 
83 
84  virtual void setSeaLevel(double meters);
85  virtual double seaLevel() const;
87 
89 
90  virtual void setLodAltitude(int meters);
91  virtual int lodAltitude() const;
93 
95 
96  virtual void setWindSpeed(double metersPerSecond);
97  virtual double windSpeed() const;
99 
101 
102  virtual void setWindDirection(double radiansClockwiseFromNorth);
103  virtual double windDirection() const;
105 
107 
108  virtual void setWindFetch(double meters);
109  virtual double windFetch() const;
111 
113 
114  virtual void setWindDrivenSeaState(bool enabled);
115  virtual bool windDrivenSeaState() const;
117 
119 
120  virtual void setDouglasSeaState(int seaState, double seaStateDirection,
121  int swellState, double swellStateDirection);
122  virtual void getDouglasSeaState(int& seaState, double& seaStateDirection,
123  int& swellState, double& swellStateDirection) const;
125 
127 
128  virtual void setSeaChoppiness(double chop);
129  virtual double seaChoppiness() const;
131 
134  virtual void setUnderwaterVisibilityEnabled(bool enabled);
135  virtual bool underwaterVisibilityEnabled() const;
137 
139 
140  virtual void setUnderwaterVisibility(double meters);
141  virtual double underwaterVisibility() const;
143 
145 
146 
147  virtual void setSurfaceTransparency(double transparency);
148  virtual double surfaceTransparency() const;
150 
152 
153  virtual void setSurgeDepth(double meters);
154  virtual double surgeDepth() const;
156 
158 
159  virtual void setDepthOffset(double meters);
160  virtual double depthOffset() const;
162 
164 
165  virtual void addSwell(double lengthInMeters, double heightInMeters,
166  double radiansClockwiseFromNorth);
167  virtual void addSwell(const OceanSwell& swell);
168 
170  virtual const OceanSwellList& getSwells() const;
171 
173  virtual void clearSwells();
175 
177 
178  virtual void setWaterCurrentSpeed(float speed);
179  virtual float waterCurrentSpeed() const;
181 
183 
184 
185  virtual void setWaterCurrentDirection(float direction);
186  virtual float waterCurrentDirection() const;
188 
189  protected:
190  double mySeaLevel;
192 
193  double myWindSpeed;
195  double myWindFetch;
197 
205  double mySurgeDepth;
210 
212  };
213 }
214 
215 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)