VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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::signal<void (makVrv::DtUniqueID, DtVrfObjectDataState&) > signal_stateUpdated;
90 
93  boost::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, DtVrfObjectDataState> 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 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)