VR-Forces 4.10 Class Documentation
 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/DtUniqueID.h>
14 
16 #include <vrvUtil/signalslib.h>
17 
18 #include <matrix/vlVector.h>
19 
20 #include <string>
21 
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtWeatherAreaObject;
27  class DtWeatherAreaObjectAgent;
28 
44  {
45  public:
47  virtual ~DtWeatherAreaObjectManager();
48 
50  DtWeatherAreaObjectManager() = delete;
51 
54 
56  DtWeatherAreaObjectManager &operator=(const DtWeatherAreaObjectManager &) = delete;
57 
59  static DtWeatherAreaObjectManager& instance(DtDe& de);
60 
62  static const std::string& theClassName();
63 
66  virtual DtWeatherAreaObjectAgent* findWeatherAreaObjectAgent(DtUniqueID id);
67 
69  virtual DtUniqueID addWeatherArea();
70 
73  virtual void removeWeatherArea(DtUniqueID id);
74 
79  virtual void setWeatherAreaTransform(DtUniqueID id, const DtVector& position, const float orientation);
80 
85  virtual void setWeatherAreaBounds(DtUniqueID id, const DtVector& bounds, const float cornerRadius);
86 
90  virtual void setWeatherAreaPrecipitationIntensity(DtUniqueID id, const float intensity);
91 
95  virtual void setWeatherAreaPrecipitationType(DtUniqueID id, const unsigned int type);
96 
100  virtual void setWeatherAreaGroundRainAccumulation(DtUniqueID id, const float depth);
101 
105  virtual void setWeatherAreaFogColor(DtUniqueID id, const DtVector& color);
106 
110  virtual void setWeatherAreaVisibilityDistance(DtUniqueID id, const float distance);
111 
115  virtual void setWeatherAreaOvercast(DtUniqueID id, const float overcast);
116 
120  virtual void setWeatherAreaLightningEnabled(DtUniqueID id, const bool enabled);
121 
125  boost::signalslib::signal<void(DtUniqueID id, DtWeatherAreaObject* area)> signal_weatherAreaObjectAdded;
126 
130  boost::signalslib::signal<void(DtUniqueID id, DtWeatherAreaObject* area)> signal_weatherAreaObjectToBeRemoved;
131 
136  boost::signalslib::signal<void(DtUniqueID id, const DtVector& position, const float orientation) > signal_weatherAreaObjectTransformChanged;
137 
142  boost::signalslib::signal<void(DtUniqueID id, const DtVector& bounds, const float cornerRadius) > signal_weatherAreaObjectBoundsChanged;
143 
147  boost::signalslib::signal<void(DtUniqueID id, const float intensity) > signal_weatherAreaObjectPrecipitationIntensityChanged;
148 
152  boost::signalslib::signal<void(DtUniqueID id, const unsigned int type) > signal_weatherAreaObjectPrecipitationTypeChanged;
153 
157  boost::signalslib::signal<void(DtUniqueID id, const float depth) > signal_weatherAreaObjectGroundRainAccumulationChanged;
158 
162  boost::signalslib::signal<void(DtUniqueID id, const DtVector& color) > signal_weatherAreaObjectFogColorChanged;
163 
167  boost::signalslib::signal<void(DtUniqueID id, const float distance) > signal_weatherAreaObjectVisibilityDistanceChanged;
168 
171  boost::signalslib::signal<void(DtUniqueID id, const float overcast) > signal_weatherAreaObjectOvercastChanged;
172 
175  boost::signalslib::signal<void(DtUniqueID id, const bool enabled) > signal_weatherAreaObjectLightningEnabledChanged;
176 
177  protected:
180 
181  protected:
182  typedef std::map<DtUniqueID, DtWeatherAreaObjectAgent* > WeatherAreaMap;
183 
185 
187  };
188 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
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:136
boost::signalslib::signal< void(DtUniqueID id, const float depth) > signal_weatherAreaObjectGroundRainAccumulationChanged
Signal raised when a weather area ground rain accumulation changes.
Definition: DtWeatherAreaObjectManager.h:157
boost::signalslib::signal< void(DtUniqueID id, const unsigned int type) > signal_weatherAreaObjectPrecipitationTypeChanged
Signal raised when a weather area precipitation type changes.
Definition: DtWeatherAreaObjectManager.h:152
The DtWeatherAreaObjectManager manages, sets values, and provides signals related to weather area obj...
Definition: DtWeatherAreaObjectManager.h:43
boost::signalslib::signal< void(DtUniqueID id, const float intensity) > signal_weatherAreaObjectPrecipitationIntensityChanged
Signal raised when a weather area precipitation intensity changes.
Definition: DtWeatherAreaObjectManager.h:147
boost::signalslib::signal< void(DtUniqueID id, const bool enabled) > signal_weatherAreaObjectLightningEnabledChanged
Signal raised when a weather area lightning enabled changes.
Definition: DtWeatherAreaObjectManager.h:175
Contains makVrv::DtVirtualBaseClass class.
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
DtDe & myDe
Definition: DtWeatherAreaObjectManager.h:184
std::map< DtUniqueID, DtWeatherAreaObjectAgent * > WeatherAreaMap
Definition: DtWeatherAreaObjectManager.h:182
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
WeatherAreaMap myIDToWeatherAreaObjectAgent
Definition: DtWeatherAreaObjectManager.h:186
boost::signalslib::signal< void(DtUniqueID id, const DtVector &color) > signal_weatherAreaObjectFogColorChanged
Signal raised when a weather area fog color changes.
Definition: DtWeatherAreaObjectManager.h:162
boost::signalslib::signal< void(DtUniqueID id, const float distance) > signal_weatherAreaObjectVisibilityDistanceChanged
Signal raised when a weather area visibility distance changes.
Definition: DtWeatherAreaObjectManager.h:167
boost::signalslib::signal< void(DtUniqueID id, const float overcast) > signal_weatherAreaObjectOvercastChanged
Signal raised when a weather area overcast changes.
Definition: DtWeatherAreaObjectManager.h:171
boost::signalslib::signal< void(DtUniqueID id, DtWeatherAreaObject *area)> signal_weatherAreaObjectToBeRemoved
Signal raised when a weather area is about to be removed.
Definition: DtWeatherAreaObjectManager.h:130
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
boost::signalslib::signal< void(DtUniqueID id, DtWeatherAreaObject *area)> signal_weatherAreaObjectAdded
Signal raised when a weather area is added.
Definition: DtWeatherAreaObjectManager.h:125
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:142
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)