VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 #include <matrix/vlVector.h>
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  const static float DefaultDayLightLevel;
52  const static float DefaultFogVisibilityLevel;
53 
55  DtSkyObject(DtDe& de, DtUniqueID id);
56 
58  virtual ~DtSkyObject();
59 
61  virtual void setLocation( const DtVector& location );
62 
64  virtual void setDateAndTime(unsigned short year, unsigned char month,
65  unsigned char day, unsigned char hour, unsigned char minutes,
66  double seconds, bool observeDaylightSavings);
67 
69  virtual void addCloudLayer(int deckType, const DtVector& location,
70  const DtVector& bounds, double density, bool infinite, bool relative);
71 
73  virtual void setCloudLayerEnabled(int index,bool enabled) = 0;
74 
76  virtual int cloudLayerCount() const;
77 
79  virtual void removeCloudLayer(int index) = 0;
80 
82  virtual void removeCloudLayers() = 0;
83 
85  virtual void setAirTurbidity(float turbidity) = 0;
86 
88  virtual void setAmbientAirTemperature(float temperature) = 0;
89 
91  virtual void setVisibleDistance(float distance) = 0;
92 
94  virtual void setPrecipitationEnabled(bool enabled) = 0;
95 
98  virtual void setPrecipitationType(int type) = 0;
99 
101  virtual void setPrecipitationIntensity(float intensity) = 0;
102 
104  virtual void setCloudLayerPosition(int index, double xCoord,
105  double yCoord) = 0;
106 
108  virtual void setFogHeight(float meters) = 0;
109 
111  virtual void setFogColor(const DtVector& color) = 0;
112 
114  virtual void setWindSpeed(float metersPerSecond) = 0;
115 
117  virtual void setWindDirection(float radians) = 0;
118 
119  //@(
122  void setAmbientLightValue( float ambientLightValue );
123  float ambientLightValue() const;
125 
126  //@(
129  void setIsDay( bool isDay );
130  bool isDay() const;
132 
133 
135  protected:
136 
138  bool myIsDay;
140  };
141 
143  {
144  public:
146  static DtSkyObjectSignaler& instance(DtDe& de);
147 
149  virtual ~DtSkyObjectSignaler();
150 
152 
153 
155  boost::signal<void (int deckType, const DtVector& location,
156  const DtVector& bounds, double density, bool infinite, bool relative)>
158 
160  boost::signal<void (int index,bool enabled) >
162 
164  boost::signal<void (int index) > signal_removeCloudLayer;
165 
167  boost::signal<void ()> signal_removeCloudLayers;
168 
170  boost::signal<void (float turbidity)> signal_airTurbidityChanged;
171 
173  boost::signal<void (float temperature)> signal_ambientAirTemperatureChanged;
174 
176  boost::signal<void (float distance)> signal_visibleDistanceChanged;
177 
179  boost::signal<void (bool enabled)> signal_precipitationEnabledChanged;
180 
183  boost::signal<void (int type)> signal_precipitationTypeChanged;
184 
186  boost::signal<void (float intensity)> signal_precipitationIntensityChanged;
187 
189  boost::signal<void (int index, double xCoord,
191 
193  boost::signal<void (float meters)> signal_fogHeightChanged;
194 
196  boost::signal<void (const DtVector& color)> signal_fogColorChanged;
197 
199  boost::signal<void (float metersPerSecond)> signal_windSpeedChanged;
200 
202  boost::signal<void (float radians) > signal_windDirectionChanged;
203 
205  boost::signal<void (float)> signal_ambientLightValueChanged;
206 
209  boost::signal<void (bool)> signal_isDayChanged;
210 
211  protected:
213  };
214 }
215 
216 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)