VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
orbatSimDataProcessor.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/orbatState.h>
19 
20 #include <vlutil/vlPerformanceStats.h>
21 
23 class DtRwOrbatData;
24 
25 namespace makVrv
26 {
27  class DtSimEntryObjectAgent;
28  class DtEntityStateListener;
29 
30  namespace DT_PROTOCOL_NAMESPACE
31  {
32  class DtVrlinkConnection;
33  class DtAggregateExistenceListener;
34  class DtVrlinkAggregateStateListener;
35  class DtEntityExistenceListener;
37  }
38 }
39 
40 namespace makVrf
41 {
42  class DtOrbatStateObjectAgent;
43 
44  namespace VRF_PROTOCOL_NAMESPACE
45  {
46  class DtOrbatStateListenerInterface;
47 
50  {
51  public:
54 
57 
60  DtVrfRemoteController* remote);
61 
63  virtual ~DtOrbatSimDataProcessor();
64 
66  virtual void postDrainInput();
67 
69  virtual void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
70 
72  virtual void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
73 
75  virtual void aggregateDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
76 
78  virtual void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
79 
81  virtual void entityDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
82 
84  virtual void entityToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
85 
87  virtual void addOrbatListener(DtOrbatStateListenerInterface& listener);
88 
90  virtual void removeOrbatListener(DtOrbatStateListenerInterface& listener);
91 
93  virtual void createAndSendState(DtOrbatStateListenerInterface& listener,
94  DtOrbatStateObjectAgent& objectDriver);
95  virtual bool setState(DtOrbatStateListenerInterface& listener, DtOrbatState& state);
96 
97  protected:
98 
99  static void postDrainInput(void* usr);
100 
101  virtual void slot_postAggregateUpdateCallback(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener&);
102  virtual void slot_postEntityUpdateCallback(makVrv::DtEntityStateListener&);
103 
104  protected:
105 
106  //A Listener and a driver which will be updated with it.
108  {
109  public:
110 
112  DtOrbatStateObjectAgent& driver, DtOrbatSimDataProcessor& processor);
113 
115 
116  OrbatStateUpdater& operator=(const OrbatStateUpdater& orig);
117 
118  //Are the updaters equal
119  bool operator==(const OrbatStateUpdater& orig) const;
120 
122  void update(double timeT);
123 
124  protected:
125 
127  DtOrbatStateObjectAgent* myObjectAgent;
129  };
130 
131  typedef std::set<makVrv::DtUniqueID> OrbatIdList;
132 
134  {
136  DtOrbatStateObjectAgent* myAgent;
138  };
139 
140  typedef std::map<makVrv::DtUniqueID,OrbatSimDataInstance > OrbatAgentMap;
141 
143  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,OrbatUpdaterGroup>
145 
146  protected:
148 
152  DtTimedSection myTimer;
153  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
154 
159  };
160 
162  {
163  public:
166 
168 
171  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
173 
175  };
176  }
177 }
DtTimedSection myTimer
Definition: orbatSimDataProcessor.h:152
Contains makVrv::DtSimDataProcessorInterface class.
Virtual base class.
Definition: DtVirtualBaseClass.h:19
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
DtOrbatStateObjectAgent * myAgent
Definition: orbatSimDataProcessor.h:136
DtOrbatStateListenerInterface * myListener
Definition: orbatSimDataProcessor.h:126
UpdateRate
Definition: DtSimEntryUpdater.h:31
DT_DLL_VRFGUICORE bool operator==(const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &lhs, const std::vector< makArchives::DtEnvironmentRecord::DtElevationalConfigurationRecord > &rhs)
makVrv::DtSimEntryObjectAgent * mySimEntryAgent
Definition: orbatSimDataProcessor.h:153
OrbatUpdateGroupMap myRefreshRateGroups
Definition: orbatSimDataProcessor.h:156
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection & mySimulation
Definition: orbatSimDataProcessor.h:149
OrbatAgentMap myOrbatAgents
Definition: orbatSimDataProcessor.h:155
The main class for the remote control interface to VR-Forces.
Definition: vrfRemoteController.h:204
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
Definition: rwOrbatData.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
The protocol specific processor for orbat sim data.
Definition: orbatSimDataProcessor.h:49
makVrv::DT_PROTOCOL_NAMESPACE::DtAggregateExistenceListener & myAggregateListener
Definition: orbatSimDataProcessor.h:150
DtBalanacedUpdater updates updatee classes at a desired rate in a fair (each instance gets the same n...
Definition: DtBalancedUpdater.h:26
std::set< makVrv::DtUniqueID > OrbatIdList
Definition: orbatSimDataProcessor.h:131
makVrv::DT_PROTOCOL_NAMESPACE::DtEntityExistenceListener & myEntityListener
Definition: orbatSimDataProcessor.h:151
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
makVrv::DtSignalConnectionManager myConnections
Definition: orbatSimDataProcessor.h:147
#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::DtSimEntryUpdater class.
DtOrbatSimDataProcessor * myProcessor
Definition: orbatSimDataProcessor.h:128
DtAggregateExistenceListener class listens for the creation of aggregates and creates.
Definition: DtAggregateExistenceListener.h:54
Contains makVrv::DtBalancedUpdater class.
Base class to provide boost signal/slot management.
DtOrbatStateObjectAgent * myObjectAgent
Definition: orbatSimDataProcessor.h:127
This listener will implement orbat specific listener code for allowing an entity state listener to be...
Definition: orbatStateListenerInterface.h:28
std::map< makVrv::DtUniqueID, OrbatSimDataInstance > OrbatAgentMap
Definition: orbatSimDataProcessor.h:140
makVrv::DtSimEntryUpdater::UpdateRate myRate
Definition: orbatSimDataProcessor.h:137
The HLA 13 reflected entity list used by the driver to listen to reflected entities.
Definition: DtEntityExistenceListener.h:69
std::map< makVrv::DtSimEntryUpdater::UpdateRate, OrbatUpdaterGroup > OrbatUpdateGroupMap
Definition: orbatSimDataProcessor.h:144
Definition: orbatState.h:23
OrbatIdList myForceUpdateList
Definition: orbatSimDataProcessor.h:157
makVrv::DtBalancedUpdater< OrbatStateUpdater > OrbatUpdaterGroup
Definition: orbatSimDataProcessor.h:142
DtOrbatStateListenerInterface * myListener
Definition: orbatSimDataProcessor.h:135
DtVrfRemoteController * myRemoteController
Definition: orbatSimDataProcessor.h:158
DtEntityStateListener.
Definition: DtEntityStateListener.h:44

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)