VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfWeatherStateProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrfGuiCore/DtWeatherProcessObjectAgent.hpp>
15 
23 #include <vrvCore/DtSimEntryObjectAgent.hpp>
24 #include <vlutil/vlPerformanceStats.h>
25 
26 namespace makVrv
27 {
28  namespace DT_PROTOCOL_NAMESPACE
29  {
30  class DtStateListenerInterface;
31  class DtWeatherStateListener;
32  }
33 }
34 
35 namespace makVrf
36 {
37  class DtGlobalEnvironmentObjectAgent;
38 
39  namespace VRF_PROTOCOL_NAMESPACE
40  {
42  {
43  public:
45 
46  virtual ~DtVrfWeatherProcessor();
47 
50  virtual void slot_environmentalDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener);
51 
52  protected:
54  };
55 
58  {
59  public:
60 
63 
65  virtual ~DtVrfWeatherStateProcessor();
66 
67  static DtVrfWeatherStateProcessor* findInstance(
69  {
70  return dynamic_cast<DtVrfWeatherStateProcessor*>(
71  sim.findInstance("DtVrfWeatherStateProcessor"));
72  }
73 
74  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim,
76  {
77  sim.registerInstance("DtVrfWeatherStateProcessor",proc);
78  }
79 
81  void postDrainInput();
82 
84  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
85 
87  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
88 
91 
94 
96  virtual void createAndSendState(makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener& listener,
97  DtWeatherProcessObjectAgent& objectDriver);
98 
99  virtual void setState(makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener& listener,
101 
102  virtual void slot_postUpdateCallback(
104 
105  virtual void setUseGlobalTimeZone(bool);
106 
107  protected:
108 
110  static void postDrainInput(void* usr);
111 
112  protected:
113 
114  //A Listener and a driver which will be updated with it.
116  {
117  public:
119  DtWeatherProcessObjectAgent& driver,
120  DtVrfWeatherStateProcessor& processor);
121 
123 
125 
126  //Are the updaters equal
127  bool operator==(const VrfWeatherObjectDataStateUpdater& orig) const;
128 
130  void update(double timeT);
131 
132  public:
133 
135  DtWeatherProcessObjectAgent* myAgent;
137  };
138 
139  typedef std::vector<makVrv::DtUniqueID> WeatherIdList;
140 
142  {
144  DtWeatherProcessObjectAgent* myAgent;
147  };
148 
149  typedef std::map<makVrv::DtUniqueID,WeatherSimDataInstance > WeatherAgentMap;
150 
152  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,WeatherUpdaterGroup>
154 
155  protected:
156 
158 
161  DtTimedSection myTimer;
162  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
163 
167 
169  DtGlobalEnvironmentObjectAgent* myGlobalEnvironmentObjectAgent;
170  };
171 
173  {
174  public:
177 
179 
182  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
184 
186  };
187  }
188 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)