VR-Forces 4.8 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) 2019 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  //We should refactor the class with the DtSkyObject and DtWeatherEffectObject
31  // and combine them to make a consistent way
32  // to send down environment settings to the RDE.
33 
37  {
38  public:
40  OceanSwell(double lengthInMeters = 0.0, double heightInMeters = 0.0,
41  double radiansClockwiseFromNorth = 0.0);
42 
44  OceanSwell(const OceanSwell& orig);
45 
47  OceanSwell& operator =(const OceanSwell& rhs);
48 
51 
53  void setLength(double meters);
54  double length() const;
56 
58  void setHeight(double meters);
59  double height() const;
61 
63  void setDirection(double radiansClockwiseFromNorth);
64  double direction() const;
66 
68 
69  private:
70  double myLength;
71  double myHeight;
72  double myDirection;
73  };
74 
75  typedef std::list<OceanSwell> OceanSwellList;
76 
77 
80 
82  virtual ~DtDynamicOceanObject();
83 
85  virtual void setSeaLevel(double meters);
87  virtual double seaLevel() const;
89 
91  virtual void setLodAltitude(int meters);
93  virtual int lodAltitude() const;
95 
97  virtual void setWindSpeed(double metersPerSecond);
99  virtual double windSpeed() const;
101 
103  virtual void setWindDirection(double radiansClockwiseFromNorth);
105  virtual double windDirection() const;
107 
109  virtual void setWindFetch(double meters);
111  virtual double windFetch() const;
113 
115  virtual void setWindDrivenSeaState(bool enabled);
117  virtual bool windDrivenSeaState() const;
119 
121  virtual void setDouglasSeaState(int seaState, double seaStateDirection,
123  int swellState, double swellStateDirection);
124  virtual void getDouglasSeaState(int& seaState, double& seaStateDirection,
125  int& swellState, double& swellStateDirection) const;
127 
129  virtual void setSeaChoppiness(double chop);
131  virtual double seaChoppiness() const;
133 
136  virtual void setUnderwaterVisibilityEnabled(bool enabled);
137  virtual bool underwaterVisibilityEnabled() const;
139 
141  virtual void setUnderwaterVisibility(double meters);
143  virtual double underwaterVisibility() const;
145 
147  virtual void setSurfaceTransparency(double transparency);
150  virtual double surfaceTransparency() const;
152 
154  virtual void setSurgeDepth(double meters);
156  virtual double surgeDepth() const;
158 
160  virtual void setDepthOffset(double meters);
162  virtual double depthOffset() const;
164 
166  virtual void addSwell(double lengthInMeters, double heightInMeters,
168  double radiansClockwiseFromNorth);
169  virtual void addSwell(const OceanSwell& swell);
170 
172  virtual const OceanSwellList& getSwells() const;
173 
175  virtual void clearSwells();
177 
179  virtual void setWaterCurrentSpeed(float speed);
181  virtual float waterCurrentSpeed() const;
183 
185  virtual void setWaterCurrentDirection(float direction);
188  virtual float waterCurrentDirection() const;
190 
191  protected:
192  double mySeaLevel;
194 
195  double myWindSpeed;
197  double myWindFetch;
199 
207  double mySurgeDepth;
212 
214  };
215 }
216 
217 
double myDouglasSeaDirection
Definition: DtDynamicOceanObject.h:201
OceanSwellList myOceanSwells
Definition: DtDynamicOceanObject.h:213
double myWindDirection
Definition: DtDynamicOceanObject.h:196
double myWindSpeed
Definition: DtDynamicOceanObject.h:195
int myLodAltitude
Definition: DtDynamicOceanObject.h:193
float myWaterCurrentSpeed
Definition: DtDynamicOceanObject.h:209
double mySurfaceTransparency
Definition: DtDynamicOceanObject.h:206
double myUnderwaterVisibility
Definition: DtDynamicOceanObject.h:205
A description of a single type of ocean swell.
Definition: DtDynamicOceanObject.h:36
double myLength
Definition: DtDynamicOceanObject.h:70
double mySurgeDepth
Definition: DtDynamicOceanObject.h:207
double mySeaChoppiness
Definition: DtDynamicOceanObject.h:204
double myDirection
Definition: DtDynamicOceanObject.h:72
The base dynamic ocean object.
Definition: DtDynamicOceanObject.h:27
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
std::list< OceanSwell > OceanSwellList
Definition: DtDynamicOceanObject.h:75
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
double myWindFetch
Definition: DtDynamicOceanObject.h:197
double mySeaLevel
Definition: DtDynamicOceanObject.h:192
int myDouglasSeaState
Definition: DtDynamicOceanObject.h:200
double myDouglasSwellDirection
Definition: DtDynamicOceanObject.h:203
Contains makVrv::DtUniqueID type.
float myWaterCurrentDirection
Definition: DtDynamicOceanObject.h:210
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool myWindDrivenSeaStateEnabled
Definition: DtDynamicOceanObject.h:198
double myDepthOffset
Definition: DtDynamicOceanObject.h:208
bool myUnderwaterVisibilityEnabled
Definition: DtDynamicOceanObject.h:211
double myHeight
Definition: DtDynamicOceanObject.h:71
int myDouglasSwellState
Definition: DtDynamicOceanObject.h:202
Contains DLL export macros.

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)