VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtSkyObject.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 
16 #include <vrvUtil/signalslib.h>
17 
18 class DtVector;
19 
20 // Because there's an X header out there that defines it, and gets included
21 // (unncessarily) by SensorFX code. The next version of Sensim should
22 // fix this, and then the undef could be removed (4-24-2014)
23 #ifdef None
24 #undef None
25 #endif
26 
27 namespace makVrv
28 {
29  class DtDe;
30  class DtSkyObjectSignaler;
31 
35  {
36  public:
37 
40  {
41  None = 0,
42  Rain = 1,
43  SnowWet = 2,
44  SnowDry = 3,
45  Sleet = 4
46 
47  };
48 
50  DtSkyObject(DtDe& de, DtUniqueID id);
51 
53  virtual ~DtSkyObject();
54 
56  virtual void setLocation( const DtVector& location );
57 
59  virtual void setDateAndTime(unsigned short year, unsigned char month,
60  unsigned char day, unsigned char hour, unsigned char minutes,
61  double seconds, bool observeDaylightSavings);
62 
64  virtual void addCloudLayer(int deckType, const DtVector& location,
65  const DtVector& bounds, double density, bool infinite, bool relative);
66 
68  virtual void setCloudLayerEnabled(int index,bool enabled) = 0;
69 
71  virtual int cloudLayerCount() const;
72 
74  virtual void removeCloudLayer(int index) = 0;
75 
77  virtual void removeCloudLayers() = 0;
78 
80  virtual void setAirTurbidity(float turbidity) = 0;
81 
83  virtual void setAmbientAirTemperature(float temperature) = 0;
84 
86  virtual void setVisibleDistance(float distance) = 0;
87 
89  virtual void setPrecipitationEnabled(bool enabled) = 0;
90 
93  virtual void setPrecipitationType(int type) = 0;
94 
96  virtual void setPrecipitationIntensity(float intensity) = 0;
97 
99  virtual void setCloudLayerPosition(int index, double xCoord,
100  double yCoord) = 0;
101 
103  virtual void setFogHeight(float meters) = 0;
104 
106  virtual void setFogColor(const DtVector& color) = 0;
107 
109  virtual void setWindSpeed(float metersPerSecond) = 0;
110 
112  virtual void setWindDirection(float radians) = 0;
113 
114  //@(
117  void setAmbientLightValue( float ambientLightValue );
118  float ambientLightValue() const;
120 
121 
123  protected:
124 
127  };
128 
130  {
131  public:
133  static DtSkyObjectSignaler& instance(DtDe& de);
134 
136  virtual ~DtSkyObjectSignaler();
137 
139 
140 
142  boost::signal<void (int deckType, const DtVector& location,
143  const DtVector& bounds, double density, bool infinite, bool relative)>
145 
147  boost::signal<void (int index,bool enabled) >
149 
151  boost::signal<void (int index) > signal_removeCloudLayer;
152 
154  boost::signal<void ()> signal_removeCloudLayers;
155 
157  boost::signal<void (float turbidity)> signal_airTurbidityChanged;
158 
160  boost::signal<void (float temperature)> signal_ambientAirTemperatureChanged;
161 
163  boost::signal<void (float distance)> signal_visibleDistanceChanged;
164 
166  boost::signal<void (bool enabled)> signal_precipitationEnabledChanged;
167 
170  boost::signal<void (int type)> signal_precipitationTypeChanged;
171 
173  boost::signal<void (float intensity)> signal_precipitationIntensityChanged;
174 
176  boost::signal<void (int index, double xCoord,
178 
180  boost::signal<void (float meters)> signal_fogHeightChanged;
181 
183  boost::signal<void (const DtVector& color)> signal_fogColorChanged;
184 
186  boost::signal<void (float metersPerSecond)> signal_windSpeedChanged;
187 
189  boost::signal<void (float radians) > signal_windDirectionChanged;
190 
192  boost::signal<void (float)> signal_ambientLightValueChanged;
193 
194  protected:
196  };
197 }
198 
199 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)