VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
localWeatherManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
7 
8 #pragma once
9 
10 #include <vrfGuiCore/vrfGuiCore.h>
14 #include <vrvUtil/DtUnicode.h>
15 #include <vrvCore/DtStateView.h>
16 #include <vrvUtil/signalslib.h>
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtSimObjectEntry;
26  struct DtVrlinkSimulatedBaseState;
27 }
28 
29 namespace makVrf
30 {
31  struct DtVrlinkSimulatedEnvironmentProcess;
32  class DtWeatherLookModificationOperation;
33  class DtLocalWeatherLookOperationManager;
34 
36  {
37  public:
38  typedef std::map<makVrv::DtElementID, makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*> WeatherObjects;
39 
40  public:
43 
45  virtual ~DtLocalWeatherManager();
46 
48  static DtLocalWeatherManager& instance(makVrv::DtDe& de);
49 
51  static void registerInstance(makVrv::DtDe&, DtLocalWeatherManager*);
52 
53  virtual const WeatherObjects& weatherObjects() const
54  {
55  return myWeatherObjects;
56  }
57 
60  virtual void setupCommand(DtChangeWeatherCommand& weatherCommand, const std::string& environment) const;
61 
64  virtual void setupCommand(DtChangeWeatherCommand& weatherCommand, const makArchives::DtEnvironmentRecord& environment) const;
65  virtual void setupRecord(makArchives::DtEnvironmentRecord& environment, const DtChangeWeatherCommand& weatherCommand) const;
66 
69  virtual void setupCommand(DtChangeWeatherCommand& weatherCommand, const makVrv::DtStateView<DtVrlinkSimulatedWeatherState>* environment) const;
70  virtual void setupRecord(makArchives::DtEnvironmentRecord& rec,
72 
74  virtual int nextPriority() const;
75 
77  virtual void setShowWeather(bool);
78  virtual bool showWeather() const;
79 
81  virtual void setUseDayNightIlluminationModel(bool);
82  virtual bool useDayNightIlluminationModel() const;
83 
86  virtual void increasePriorityOf(makVrv::DtElementID);
87 
90  virtual void decreasePriorityOf(makVrv::DtElementID);
91 
93  virtual void bringWeatherToFront(makVrv::DtElementID);
94 
97  virtual void sendWeatherToBack(makVrv::DtElementID);
98 
101  virtual void changePriorityOf(makVrv::DtElementID, int);
102 
103  public:
106  virtual int addWeatherLookModificationOperation(const DtWeatherLookModificationOperation&);
107 
109  virtual void removeWeatherLookModificationOperation(int);
110 
112  virtual void insertWeatherLookModificationOperation(int, const DtWeatherLookModificationOperation&);
113 
114  virtual DtLocalWeatherLookOperationManager::WeatherLookModificationOperations weatherLookModificationOperations() const;
115 
118  virtual void modifyColorForWeather(const makArchives::DtEnvironmentRecord&, float& r, float& g, float& b, float& a) const;
119 
121  virtual std::string weatherLookModelDefinitionFor(const makArchives::DtEnvironmentRecord&) const;
122 
125  virtual void setLocalWeatherLookManager(DtLocalWeatherLookOperationManager*);
126 
128  DtLocalWeatherLookOperationManager* localWeatherLookManager() const
129  {
130  return myLocalWeatherOperationLookManager;
131  }
132 
133  public:
135  boost::signal<void (makVrv::DtElementID)> signal_removed;
136 
138  boost::signal<void (const makVrv::DtStateView<DtVrlinkSimulatedEnvironmentProcess>*)> signal_updated;
139  boost::signal<void (const makVrv::DtStateView<DtVrlinkSimulatedWeatherState>*)> signal_weatherUpdated;
140 
142  boost::signal<void ()> signal_weatherLookRulesChanged;
143 
144  protected:
146  virtual void addIfWeatherObject(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
147  virtual void weatherObjectAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
148  virtual void weatherObjectRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
149 
151  virtual void initExistingWeatherObjects();
152 
153  virtual void slot_onWeatherUpdated(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s);
154  virtual void slot_onWeatherStateUpdated(const makVrv::DtStateView<DtVrlinkSimulatedWeatherState>* s);
155 
157  virtual void extendedApplicationOptionsChanged();
158 
161  virtual void offsetPriorityBy(makVrv::DtElementID id, int by);
162 
164  virtual void overlayAdded(const std::string&);
165 
167  virtual void overlayVisibilityChanged(const std::string&, bool);
168 
169  protected:
174  };
175 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)