VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfAggregateObjectDataStateProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vrfGuiCore/DtVrfObjectDataStateObjectAgent.hpp>
17 
18 #include <vrvVrl/vrvVrl.h>
19 //#include <vrvCore/DtSimDataProcessor.h>
20 
23 #include <vrvCore/DtSimEntryObjectAgent.hpp>
24 #include <vlutil/vlPerformanceStats.h>
25 
27 
28 namespace makVrv
29 {
30  namespace DT_PROTOCOL_NAMESPACE
31  {
32  class DtStateListenerInterface;
33  }
34 }
35 
36 namespace makVrf
37 {
38  class DtNetworkMessageInterfaceHandlerAgent;
39 
40  namespace VRF_PROTOCOL_NAMESPACE
41  {
44  {
45  public:
46 
49 
52 
55  int sessionId, int messageVersion);
56 
59 
61  void postDrainInput();
62 
64  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
65 
67  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
68 
70  void aggregateDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
71 
73  void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
74 
76  virtual void createAndSendState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener,
77  makVrv::DtSimStateObjectAgent& objectDriver);
78  virtual void updateExtendedState(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
79  virtual void rangeItemsFrom(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener,
80  std::vector<DtRangeItem>&);
81 
82  virtual void setupState(
84 
87  virtual void addRangeRingItemToVisuals(const makVrf::DtRangeItem& item);
88 
89  boost::signals2::signal<void (makVrv::DtUniqueID, DtVrfNetworkUpdateObjectDataState&) > signal_stateUpdated;
90 
93  boost::signals2::signal<void (const DtExtAggregateStateRepository&, std::vector<makVrf::DtRangeItem>&) > signal_addAdditionalRangeRingItems;
94 
95  protected:
96 
98  static void postDrainInput(void* usr);
99 
100  protected:
101 
102  virtual void slot_modelSetChanged();
103 
104  //A Listener and a driver which will be updated with it.
106  {
107  public:
108 
110  DtVrfObjectDataStateObjectAgent& driver,
112 
114 
116 
117  //Are the updaters equal
118  bool operator==(const VrfAggregateObjectDataStateUpdater& orig) const;
119 
121  void update(double timeT);
122 
123  protected:
124 
126  DtVrfObjectDataStateObjectAgent* myObjectAgent;
128  };
129 
130  typedef std::set<makVrv::DtUniqueID> AggregateIdList;
131 
133  {
135  DtVrfObjectDataStateObjectAgent* myAgent;
137  };
138 
139  typedef std::map<makVrv::DtUniqueID,AggregateSimDataInstance > AggregateAgentMap;
140 
142  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,AggregateUpdaterGroup>
144 
145  protected:
146 
148 
151  DtTimedSection myTimer;
152  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
153 
157 
160 
161  mutable std::set<std::string> myRangeLabels;
162  std::map<makVrv::DtUniqueID, DtString> myExtendedLabels;
163  DtNetworkMessageInterfaceHandlerAgent* myNetworkMessageInterfaceHandlerAgent;
164 
165  typedef std::map<makVrv::DtUniqueID, DtVrfNetworkUpdateObjectDataState> StateMap;
167  };
168 
170  {
171  public:
174 
176 
179  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
181 
182  virtual DtVrfAggregateObjectDataStateProcessor* create(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn, int sessionId, int messageVersion);
183  };
184  }
185 }
makVrv::DT_PROTOCOL_NAMESPACE::DtAggregateExistenceListener & myListener
Definition: vrfAggregateObjectDataStateProcessor.h:150
Contains makVrv::DtSimDataProcessorInterface class.
DtVrfAggregateObjectDataStateProcessor * myProcessor
Definition: vrfAggregateObjectDataStateProcessor.h:127
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
DtTimedSection myTimer
Definition: vrfAggregateObjectDataStateProcessor.h:151
StateMap myStateMap
Definition: vrfAggregateObjectDataStateProcessor.h:166
UpdateRate
Definition: DtSimEntryUpdater.h:34
makVrv::DtBalancedUpdater< VrfAggregateObjectDataStateUpdater > AggregateUpdaterGroup
Definition: vrfAggregateObjectDataStateProcessor.h:141
std::map< makVrv::DtUniqueID, DtString > myExtendedLabels
Definition: vrfAggregateObjectDataStateProcessor.h:162
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
The class that is the interface between the GUI and the back-end.
Definition: vrfObjectDataState.h:64
std::set< std::string > myRangeLabels
Definition: vrfAggregateObjectDataStateProcessor.h:161
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener * myListener
Definition: vrfAggregateObjectDataStateProcessor.h:125
std::map< makVrv::DtUniqueID, AggregateSimDataInstance > AggregateAgentMap
Definition: vrfAggregateObjectDataStateProcessor.h:139
makVrv::DtSignalConnectionManager myConnections
Definition: vrfAggregateObjectDataStateProcessor.h:147
AggregateIdList myForceUpdateList
Definition: vrfAggregateObjectDataStateProcessor.h:156
std::map< makVrv::DtSimEntryUpdater::UpdateRate, AggregateUpdaterGroup > AggregateUpdateGroupMap
Definition: vrfAggregateObjectDataStateProcessor.h:143
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
boost::signals2::signal< void(makVrv::DtUniqueID, DtVrfNetworkUpdateObjectDataState &) > signal_stateUpdated
Definition: vrfAggregateObjectDataStateProcessor.h:89
std::set< makVrv::DtUniqueID > AggregateIdList
Definition: vrfAggregateObjectDataStateProcessor.h:130
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtBalanacedUpdater updates updatee classes at a desired rate in a fair (each instance gets the same n...
Definition: DtBalancedUpdater.h:29
AggregateUpdateGroupMap myRefreshRateGroups
Definition: vrfAggregateObjectDataStateProcessor.h:155
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener * myListener
Definition: vrfAggregateObjectDataStateProcessor.h:134
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Methods a data processor needs to implement to be considered a data processor.
Definition: DtSimDataProcessorInterface.h:24
AggregateAgentMap myAggregateAgents
Definition: vrfAggregateObjectDataStateProcessor.h:154
DtVrfObjectDataStateObjectAgent * myAgent
Definition: vrfAggregateObjectDataStateProcessor.h:135
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
DtAggregateExistenceListener class listens for the creation of aggregates and creates.
Definition: DtAggregateExistenceListener.h:57
Contains makVrv::DtBalancedUpdater class.
Base class to provide boost signal/slot management.
DtNetworkMessageInterfaceHandlerAgent * myNetworkMessageInterfaceHandlerAgent
Definition: vrfAggregateObjectDataStateProcessor.h:163
int myMessageVersion
Definition: vrfAggregateObjectDataStateProcessor.h:159
Definition: vrfObjectDataState.h:35
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection & mySimulation
Definition: vrfAggregateObjectDataStateProcessor.h:149
DtVrfObjectDataStateObjectAgent * myObjectAgent
Definition: vrfAggregateObjectDataStateProcessor.h:126
std::map< makVrv::DtUniqueID, DtVrfNetworkUpdateObjectDataState > StateMap
Definition: vrfAggregateObjectDataStateProcessor.h:165
int mySessionId
Definition: vrfAggregateObjectDataStateProcessor.h:158
The protocol specific processor for entity sim data.
Definition: vrfAggregateObjectDataStateProcessor.h:43
makVrv::DtSimEntryObjectAgent * mySimEntryAgent
Definition: vrfAggregateObjectDataStateProcessor.h:152
Contains DLL export macros.
makVrv::DtSimEntryUpdater::UpdateRate myRate
Definition: vrfAggregateObjectDataStateProcessor.h:136
Definition: vrfAggregateObjectDataStateProcessor.h:169
DtExtAggregateStateRepository class extends the DtExtAggregateBaseStateRepository to be able to handl...
Definition: extAggregateStateRepository.h:26

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)