VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWeatherAreaObjectManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtCloudLayer.h>
14 #include <vrvCore/DtUniqueID.h>
15 
17 #include <vrvUtil/signalslib.h>
18 
19 #include <matrix/vlVector.h>
20 
21 #include <string>
22 
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtWeatherAreaObject;
28  class DtWeatherAreaObjectAgent;
29 
45  {
46  public:
48  virtual ~DtWeatherAreaObjectManager();
49 
51  DtWeatherAreaObjectManager() = delete;
52 
55 
57  DtWeatherAreaObjectManager &operator=(const DtWeatherAreaObjectManager &) = delete;
58 
60  static DtWeatherAreaObjectManager& instance(DtDe& de);
61 
63  static const std::string& theClassName();
64 
67  virtual DtWeatherAreaObjectAgent* findWeatherAreaObjectAgent(DtUniqueID id);
68 
70  virtual DtUniqueID addWeatherArea();
71 
74  virtual void removeWeatherArea(DtUniqueID id);
75 
80  virtual void setWeatherAreaTransform(DtUniqueID id, const DtVector& position, const float orientation);
81 
86  virtual void setWeatherAreaBounds(DtUniqueID id, const DtVector& bounds, const float cornerRadius);
87 
91  virtual void setWeatherAreaPrecipitationIntensity(DtUniqueID id, const float intensity);
92 
96  virtual void setWeatherAreaPrecipitationType(DtUniqueID id, const unsigned int type);
97 
101  virtual void setWeatherAreaGroundRainAccumulation(DtUniqueID id, const float depth);
102 
106  virtual void setWeatherAreaFogColor(DtUniqueID id, const DtVector& color);
107 
111  virtual void setWeatherAreaVisibilityDistance(DtUniqueID id, const float distance);
112 
116  virtual void setWeatherAreaOvercast(DtUniqueID id, const float overcast);
117 
121  virtual void setWeatherAreaLightningEnabled(DtUniqueID id, const bool enabled);
122 
127  virtual void setWeatherAreaWind(DtUniqueID id, const float direction,
128  const float speed);
129 
134  virtual void weatherAreaObjectCloudLayerAdded(DtUniqueID id,
135  DtCloudLayerId layerId, int cloudType);
136 
141  virtual void weatherAreaObjectCloudLayerRemoved(DtUniqueID id,
142  DtCloudLayerId layerId);
143 
147  boost::signalslib::signal<void(DtUniqueID id, DtWeatherAreaObject* area)>
149 
153  boost::signalslib::signal<void(DtUniqueID id, DtWeatherAreaObject* area)>
155 
160  boost::signalslib::signal<void(DtUniqueID id, const DtVector& position, const float orientation)>
162 
167  boost::signalslib::signal<void(DtUniqueID id, const DtVector& bounds, const float cornerRadius)>
169 
173  boost::signalslib::signal<void(DtUniqueID id, const float intensity)>
175 
179  boost::signalslib::signal<void(DtUniqueID id, const unsigned int type)>
181 
185  boost::signalslib::signal<void(DtUniqueID id, const float depth)>
187 
191  boost::signalslib::signal<void(DtUniqueID id, const DtVector& color)>
193 
197  boost::signalslib::signal<void(DtUniqueID id, const float distance)>
199 
202  boost::signalslib::signal<void(DtUniqueID id, const float overcast)>
204 
207  boost::signalslib::signal<void(DtUniqueID id, const bool enabled)>
209 
214  boost::signalslib::signal<void(DtUniqueID id, const float direction, const float speed)>
216 
221  boost::signalslib::signal<void(DtUniqueID id, DtCloudLayerId layerId, int cloudType)>
223 
227  boost::signalslib::signal<void(DtUniqueID id, DtCloudLayerId layerId)>
229 
230  protected:
233 
234  protected:
235  typedef std::map<DtUniqueID, DtWeatherAreaObjectAgent*> WeatherAreaMap;
236 
238 
240  };
241 }
std::map< DtUniqueID, DtWeatherAreaObjectAgent * > WeatherAreaMap
Definition: DtWeatherAreaObjectManager.h:235
boost::signalslib::signal< void(DtUniqueID id, const float direction, const float speed)> signal_weatherAreaObjectWindChanged
Signal raised when a weather area wind changes.
Definition: DtWeatherAreaObjectManager.h:215
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signalslib::signal< void(DtUniqueID id, const DtVector &color)> signal_weatherAreaObjectFogColorChanged
Signal raised when a weather area fog color changes.
Definition: DtWeatherAreaObjectManager.h:192
boost::signalslib::signal< void(DtUniqueID id, const float depth)> signal_weatherAreaObjectGroundRainAccumulationChanged
Signal raised when a weather area ground rain accumulation changes.
Definition: DtWeatherAreaObjectManager.h:186
boost::signalslib::signal< void(DtUniqueID id, const DtVector &bounds, const float cornerRadius)> signal_weatherAreaObjectBoundsChanged
Signal raised when a weather area bounds changes.
Definition: DtWeatherAreaObjectManager.h:168
boost::signalslib::signal< void(DtUniqueID id, const bool enabled)> signal_weatherAreaObjectLightningEnabledChanged
Signal raised when a weather area lightning enabled changes.
Definition: DtWeatherAreaObjectManager.h:208
boost::signalslib::signal< void(DtUniqueID id, const float distance)> signal_weatherAreaObjectVisibilityDistanceChanged
Signal raised when a weather area visibility distance changes.
Definition: DtWeatherAreaObjectManager.h:198
The DtWeatherAreaObjectManager manages, sets values, and provides signals related to weather area obj...
Definition: DtWeatherAreaObjectManager.h:44
boost::signalslib::signal< void(DtUniqueID id, const DtVector &position, const float orientation)> signal_weatherAreaObjectTransformChanged
Signal raised when a weather area transform changes.
Definition: DtWeatherAreaObjectManager.h:161
boost::signalslib::signal< void(DtUniqueID id, DtCloudLayerId layerId)> signal_weatherAreaObjectCloudLayerRemoved
Signal raised when a weather area removes a cloud layer.
Definition: DtWeatherAreaObjectManager.h:228
Contains makVrv::DtVirtualBaseClass class.
boost::signalslib::signal< void(DtUniqueID id, DtCloudLayerId layerId, int cloudType)> signal_weatherAreaObjectCloudLayerAdded
Signal raised when a weather area adds a cloud layer.
Definition: DtWeatherAreaObjectManager.h:222
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points. Coordinates are in local database coordinates The coordinat...
DtDe & myDe
Definition: DtWeatherAreaObjectManager.h:237
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains vrvCore::DtCloudLayerRecord declaration.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
WeatherAreaMap myIDToWeatherAreaObjectAgent
Definition: DtWeatherAreaObjectManager.h:239
boost::signalslib::signal< void(DtUniqueID id, const unsigned int type)> signal_weatherAreaObjectPrecipitationTypeChanged
Signal raised when a weather area precipitation type changes.
Definition: DtWeatherAreaObjectManager.h:180
boost::signalslib::signal< void(DtUniqueID id, const float intensity)> signal_weatherAreaObjectPrecipitationIntensityChanged
Signal raised when a weather area precipitation intensity changes.
Definition: DtWeatherAreaObjectManager.h:174
long long DtCloudLayerId
Definition: DtCloudLayer.h:26
boost::signalslib::signal< void(DtUniqueID id, DtWeatherAreaObject *area)> signal_weatherAreaObjectToBeRemoved
Signal raised when a weather area is about to be removed.
Definition: DtWeatherAreaObjectManager.h:154
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
boost::signalslib::signal< void(DtUniqueID id, DtWeatherAreaObject *area)> signal_weatherAreaObjectAdded
Signal raised when a weather area is added.
Definition: DtWeatherAreaObjectManager.h:148
boost::signalslib::signal< void(DtUniqueID id, const float overcast)> signal_weatherAreaObjectOvercastChanged
Signal raised when a weather area overcast changes.
Definition: DtWeatherAreaObjectManager.h:203
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)