VR-Forces 4.1 Class Documentation
DtExtendedStateDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtExtendedStateDataProcessor.h,v $ $Revision: 1.2 $ $State: Exp $
7 ******************************************************************************/
8 
14 
15 #pragma once
16 
17 #include <vrfGuiCore/DtExtendedStateDataObjectAgent.hpp>
18 
19 #include <vrvVrl/vrvVrl.h>
20 
23 #include <vrvCore/DtSimEntryObjectAgent.hpp>
25 
26 namespace makVrv
27 {
28  class DtStateListenerInterface;
29  class DtEntityStateListener;
30  class DtAggregateStateListener;
31  class DtSimpleTypedDictionary;
32 
34  {
36  }
37 }
38 
39 namespace makVrf
40 {
41  namespace VRF_PROTOCOL_NAMESPACE
42  {
43 
46  {
47  public:
48 
51 
54 
57 
60 
62  void postDrainInput();
63 
66 
69 
71  virtual void createAndSendState(makVrv::DtUniqueID id, makVrv::DtSimStateObjectAgent& objectDriver);
72 
76  virtual DtSimpleTypedDictionary& extendedStateFor(makVrv::DtUniqueID id, bool forceUpdate = true);
77 
79  virtual bool hasStateFor(makVrv::DtUniqueID) const;
80 
83 
84  boost::signal<void (makVrv::DtUniqueID, DtExtendedStateData&) > signal_stateUpdated;
85 
86  protected:
87 
89  static void postDrainInput(void* usr);
90 
96 
97  protected:
98 
99  //A Listener and a driver which will be updated with it.
101  {
102  public:
103 
104  ExtendedStateDataUpdater(makVrv::DtUniqueID id, DtExtendedStateDataObjectAgent& driver,
105  DtExtendedStateDataProcessor& processor);
106 
108 
110 
111  //Are the updaters equal
112  bool operator==(const ExtendedStateDataUpdater& orig) const;
113 
115  void update(double timeT);
116 
117  protected:
119  DtExtendedStateDataObjectAgent* myObjectAgent;
121  };
122 
123  typedef std::vector<makVrv::DtUniqueID> ExtendedStateDataIdList;
124 
126  {
128  DtExtendedStateDataObjectAgent* myAgent;
131  };
132 
133  typedef std::map<makVrv::DtUniqueID,ExtendedStateDataInstance > ExtendedStateDataAgentMap;
134 
136  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,ExtededStateDataUpdaterGroup>
138 
139  protected:
140 
142 
144  DtTimedSection myTimer;
145  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
146 
150  };
151  }
152 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)