VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEnvironmentObjectDataStateProcessor.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 
14 #include <vrfGuiCore/DtVrfObjectDataStateObjectAgent.hpp>
15 
20 #include <vrvCore/DtSimEntryObjectAgent.hpp>
21 #include <vlutil/vlPerformanceStats.h>
22 
23 namespace makVrv
24 {
25  namespace DT_PROTOCOL_NAMESPACE
26  {
27  class DtStateListenerInterface;
28  }
29 }
30 
31 namespace makVrf
32 {
33  namespace VRF_PROTOCOL_NAMESPACE
34  {
37  {
38  public:
39 
42 
45 
48  int sessionId, int messageVersion);
49 
52 
54  void postDrainInput();
55 
57  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
58 
60  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
61 
64 
67 
70  makVrv::DtSimStateObjectAgent& objectDriver);
71 
72  virtual void setupState(
74 
75  boost::signal<void (makVrv::DtUniqueID, DtVrfNetworkUpdateObjectDataState&) > signal_stateUpdated;
76 
77  protected:
78 
80  static void postDrainInput(void* usr);
81 
82  virtual void slot_postUpdateCallback(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener);
83 
85  listener) const;
86 
87  protected:
88 
89  //A Listener and a driver which will be updated with it.
91  {
92  public:
93 
95  DtVrfObjectDataStateObjectAgent& driver,
97 
99 
101 
102  //Are the updaters equal
103  bool operator==(const VrfEnvironmentObjectDataStateUpdater& orig) const;
104 
106  void update(double timeT);
107 
108  protected:
109 
111  DtVrfObjectDataStateObjectAgent* myObjectAgent;
113  };
114 
115  typedef std::vector<makVrv::DtUniqueID> EnvironmentIdList;
116 
118  {
120  DtVrfObjectDataStateObjectAgent* myAgent;
122  };
123 
124  typedef std::map<makVrv::DtUniqueID,EnvironmentSimDataInstance > EnvironmentAgentMap;
125 
127  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,EnvironmentUpdaterGroup>
129 
130  protected:
131 
133 
136  DtTimedSection myTimer;
137  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
138 
142 
145 
146  typedef std::map<makVrv::DtUniqueID, DtVrfNetworkUpdateObjectDataState> StateMap;
148  };
149 
151  {
152  public:
155 
157 
160  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
162 
163  virtual DtVrfEnvironmentObjectDataStateProcessor* create(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn, int sessionId, int messageVersion);
164  };
165  }
166 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)