VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
extendedStateDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
11 
12 #pragma once
13 
15 
16 #include <vrfGuiCore/DtExtendedStateDataObjectAgent.hpp>
17 
20 #include <vrvCore/DtSimEntryObjectAgent.hpp>
22 #include <vlutil/vlPerformanceStats.h>
23 
24 namespace makVrv
25 {
26  class DtStateListenerInterface;
27  class DtEntityStateListener;
28  class DtAggregateStateListener;
29  class DtSimpleTypedDictionary;
30 
31  namespace DT_PROTOCOL_NAMESPACE
32  {
33  class DtVrlinkEnvironmentalStateListenerInterface;
34  class DtVrlinkConnection;
35  }
36 }
37 
38 namespace makVrf
39 {
40  namespace VRF_PROTOCOL_NAMESPACE
41  {
42 
45  {
46  public:
47 
50 
53 
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  virtual void createAndSendState(makVrv::DtUniqueID id, makVrv::DtSimStateObjectAgent& objectDriver);
71 
75  virtual DtSimpleTypedDictionary& extendedStateFor(makVrv::DtUniqueID id, bool forceUpdate = true);
76 
78  virtual bool hasStateFor(makVrv::DtUniqueID) const;
79 
81  virtual DtExtendedStateData stateFor(makVrv::DtUniqueID id) const;
82 
83  boost::signals2::signal<void (makVrv::DtUniqueID, DtExtendedStateData&) > signal_stateUpdated;
84 
85  protected:
86 
88  static void postDrainInput(void* usr);
89 
91  virtual void entityToBeDestroyed(makVrv::DtEntityStateListener&);
92  virtual void aggregateToBeDestroyed(makVrv::DtAggregateStateListener&);
94  virtual void itemToBeDestroyed(makVrv::DtUniqueID);
95 
96  protected:
97 
98  //A Listener and a driver which will be updated with it.
100  {
101  public:
102 
103  ExtendedStateDataUpdater(makVrv::DtUniqueID id, DtExtendedStateDataObjectAgent& driver,
104  DtExtendedStateDataProcessor& processor);
105 
107 
108  ExtendedStateDataUpdater& operator=(const ExtendedStateDataUpdater& orig);
109 
110  //Are the updaters equal
111  bool operator==(const ExtendedStateDataUpdater& orig) const;
112 
114  void update(double timeT);
115 
116  protected:
118  DtExtendedStateDataObjectAgent* myObjectAgent;
120  };
121 
122  typedef std::vector<makVrv::DtUniqueID> ExtendedStateDataIdList;
123 
125  {
127  DtExtendedStateDataObjectAgent* myAgent;
130  };
131 
132  typedef std::map<makVrv::DtUniqueID,ExtendedStateDataInstance > ExtendedStateDataAgentMap;
133 
135  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,ExtededStateDataUpdaterGroup>
137 
138  protected:
139 
141 
143  DtTimedSection myTimer;
144  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
145 
149  };
150 
152  {
153  public:
156 
158 
161  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
163 
165  };
166  }
167 }
Contains makVrv::DtSimDataProcessorInterface class.
DtExtendedStateDataObjectAgent * myAgent
Definition: extendedStateDataProcessor.h:127
ExtendedStateDataUpdateGroupMap myRefreshRateGroups
Definition: extendedStateDataProcessor.h:147
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
UpdateRate
Definition: DtSimEntryUpdater.h:34
The DtAggregateStateListener is an abstract class.
Definition: DtAggregateStateListener.h:26
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
makVrv::DtSignalConnectionManager myConnections
Definition: extendedStateDataProcessor.h:140
makVrv::DtBalancedUpdater< ExtendedStateDataUpdater > ExtededStateDataUpdaterGroup
Definition: extendedStateDataProcessor.h:134
std::map< makVrv::DtUniqueID, ExtendedStateDataInstance > ExtendedStateDataAgentMap
Definition: extendedStateDataProcessor.h:132
DtExtendedStateDataProcessor * myProcessor
Definition: extendedStateDataProcessor.h:119
makVrv::DtSimEntryUpdater::UpdateRate myRate
Definition: extendedStateDataProcessor.h:128
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection & mySimulation
Definition: extendedStateDataProcessor.h:142
ExtendedStateDataIdList myForceUpdateList
Definition: extendedStateDataProcessor.h:148
Definition: simpleTypedDictionary.h:36
The protocol specific processor for entity sim data.
Definition: extendedStateDataProcessor.h:44
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
DtTimedSection myTimer
Definition: extendedStateDataProcessor.h:143
std::map< makVrv::DtSimEntryUpdater::UpdateRate, ExtededStateDataUpdaterGroup > ExtendedStateDataUpdateGroupMap
Definition: extendedStateDataProcessor.h:136
std::vector< makVrv::DtUniqueID > ExtendedStateDataIdList
Definition: extendedStateDataProcessor.h:122
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtExtendedStateDataObjectAgent * myObjectAgent
Definition: extendedStateDataProcessor.h:118
makVrv::DtSimEntryObjectAgent * mySimEntryAgent
Definition: extendedStateDataProcessor.h:144
DtBalanacedUpdater updates updatee classes at a desired rate in a fair (each instance gets the same n...
Definition: DtBalancedUpdater.h:29
makVrv::DtUniqueID myId
Definition: extendedStateDataProcessor.h:126
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
DtExtendedStateData myStateData
Definition: extendedStateDataProcessor.h:129
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
makVrv::DtUniqueID myId
Definition: extendedStateDataProcessor.h:117
Contains makVrv::DtBalancedUpdater class.
Base class to provide boost signal/slot management.
boost::signals2::signal< void(makVrv::DtUniqueID, DtExtendedStateData &) > signal_stateUpdated
Definition: extendedStateDataProcessor.h:83
ExtendedStateDataAgentMap myExtendedStateDataAgents
Definition: extendedStateDataProcessor.h:146
Definition: extendedStateData.h:26
DtEntityStateRepository.
Definition: DtEntityStateListener.h:39

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)