VR-Forces 4.10 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 
69  {
70  return dynamic_cast<DtVrfWeatherStateProcessor*>(
71  sim.findInstance("DtVrfWeatherStateProcessor"));
72  }
73 
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 }
Contains makVrv::DtEnvironmentalExistenceListener class.
WeatherUpdateGroupMap myRefreshRateGroups
Definition: vrfWeatherStateProcessor.h:165
Contains makVrv::DtSimDataProcessorInterface class.
makVrv::DtSimEntryUpdater::UpdateRate myRate
Definition: vrfWeatherStateProcessor.h:145
Virtual base class.
Definition: DtVirtualBaseClass.h:19
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
std::vector< makVrv::DtUniqueID > WeatherIdList
Definition: vrfWeatherStateProcessor.h:139
Definition: vrfWeatherStateProcessor.h:41
UpdateRate
Definition: DtSimEntryUpdater.h:31
DT_DLL_VRFGUICORE bool operator==(const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &lhs, const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &rhs)
DtGlobalEnvironmentObjectAgent * myGlobalEnvironmentObjectAgent
Definition: vrfWeatherStateProcessor.h:169
DtVrfWeatherStateProcessor * myProcessor
Definition: vrfWeatherStateProcessor.h:136
Contains makVrv::DtWeatherProcessor class.
Weather and ToD state listener.
Definition: DtWeatherStateListener.h:36
makVrv::DT_PROTOCOL_NAMESPACE::DtEnvironmentalExistenceListener & myListener
Definition: vrfWeatherStateProcessor.h:160
virtual void registerInstance(const std::string &instanceName, DtVirtualBaseClass *instance)
Register an object as an instance of instanceName, and transfer memory ownership of the instance to t...
makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener * myGlobalEnvironment
Definition: vrfWeatherStateProcessor.h:168
WeatherAgentMap myWeatherAgents
Definition: vrfWeatherStateProcessor.h:164
Contains makVrv::DtWeatherStateListener class.
std::map< makVrv::DtSimEntryUpdater::UpdateRate, WeatherUpdaterGroup > WeatherUpdateGroupMap
Definition: vrfWeatherStateProcessor.h:153
virtual DtVirtualBaseClass * findInstance(const std::string &instanceName)
Find an instance with the given name.
static DtVrfWeatherStateProcessor * findInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &sim)
Definition: vrfWeatherStateProcessor.h:67
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
A DtWeatherProcessor processes information from DtWeatherStateListeners.
Definition: DtWeatherProcessor.h:49
makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener * myListener
Definition: vrfWeatherStateProcessor.h:143
std::map< makVrv::DtUniqueID, WeatherSimDataInstance > WeatherAgentMap
Definition: vrfWeatherStateProcessor.h:149
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int mySessionId
Definition: vrfWeatherStateProcessor.h:53
DtBalanacedUpdater updates updatee classes at a desired rate in a fair (each instance gets the same n...
Definition: DtBalancedUpdater.h:26
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Methods a data processor needs to implement to be considered a data processor.
Definition: DtSimDataProcessorInterface.h:24
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
Contains makVrv::DtBalancedUpdater class.
Base class to provide boost signal/slot management.
WeatherIdList myForceUpdateList
Definition: vrfWeatherStateProcessor.h:166
DtVrlinkSimulatedWeatherState myState
Definition: vrfWeatherStateProcessor.h:146
DtTimedSection myTimer
Definition: vrfWeatherStateProcessor.h:161
The HLA 13 reflected entity list used by the driver to listen to reflected entities.
Definition: DtEnvironmentalExistenceListener.h:66
DtWeatherProcessObjectAgent * myAgent
Definition: vrfWeatherStateProcessor.h:135
makVrv::DtBalancedUpdater< VrfWeatherObjectDataStateUpdater > WeatherUpdaterGroup
Definition: vrfWeatherStateProcessor.h:151
static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection &sim, DtVrfWeatherStateProcessor *proc)
Definition: vrfWeatherStateProcessor.h:74
makVrv::DT_PROTOCOL_NAMESPACE::DtWeatherStateListener * myListener
Definition: vrfWeatherStateProcessor.h:134
makVrv::DtSignalConnectionManager myConnections
Definition: vrfWeatherStateProcessor.h:157
DtWeatherProcessObjectAgent * myAgent
Definition: vrfWeatherStateProcessor.h:144
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection & mySimulation
Definition: vrfWeatherStateProcessor.h:159
makVrv::DtSimEntryObjectAgent * mySimEntryAgent
Definition: vrfWeatherStateProcessor.h:162
The protocol specific processor for weather sim data.
Definition: vrfWeatherStateProcessor.h:57

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)