VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
25 namespace makVrv
26 {
27  namespace DT_PROTOCOL_NAMESPACE
28  {
29  class DtStateListenerInterface;
30  class DtWeatherStateListener;
31  }
32 }
33 
34 namespace makVrf
35 {
36  class DtGlobalEnvironmentObjectAgent;
37 
38  namespace VRF_PROTOCOL_NAMESPACE
39  {
41  {
42  public:
44 
45  virtual ~DtVrfWeatherProcessor();
46 
49  virtual void slot_environmentalDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener);
50 
51  protected:
53  };
54 
57  {
58  public:
59 
62 
64  virtual ~DtVrfWeatherStateProcessor();
65 
66  static DtVrfWeatherStateProcessor* findInstance(
68  {
69  return dynamic_cast<DtVrfWeatherStateProcessor*>(
70  sim.findInstance("DtVrfWeatherStateProcessor"));
71  }
72 
73  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim,
75  {
76  sim.registerInstance("DtVrfWeatherStateProcessor",proc);
77  }
78 
80  void postDrainInput();
81 
83  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
84 
86  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
87 
90 
93 
95  virtual void createAndSendState(makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener& listener,
96  DtWeatherProcessObjectAgent& objectDriver);
97 
98  virtual void setState(makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener& listener,
100 
101  virtual void slot_postUpdateCallback(
103 
104  virtual void setUseGlobalTimeZone(bool);
105 
106  protected:
107 
109  static void postDrainInput(void* usr);
110 
111  protected:
112 
113  //A Listener and a driver which will be updated with it.
115  {
116  public:
118  DtWeatherProcessObjectAgent& driver,
119  DtVrfWeatherStateProcessor& processor);
120 
122 
124 
125  //Are the updaters equal
126  bool operator==(const VrfWeatherObjectDataStateUpdater& orig) const;
127 
129  void update(double timeT);
130 
131  public:
132 
134  DtWeatherProcessObjectAgent* myAgent;
136  };
137 
138  typedef std::vector<makVrv::DtUniqueID> WeatherIdList;
139 
141  {
143  DtWeatherProcessObjectAgent* myAgent;
146  };
147 
148  typedef std::map<makVrv::DtUniqueID,WeatherSimDataInstance > WeatherAgentMap;
149 
151  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,WeatherUpdaterGroup>
153 
154  protected:
155 
157 
160  DtTimedSection myTimer;
161  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
162 
166 
168  DtGlobalEnvironmentObjectAgent* myGlobalEnvironmentObjectAgent;
169  };
170  }
171 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)