VR-Forces 4.1.1 Class Documentation
DtVrlinkEmitterSystemSimDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtVrlinkEmitterSystemSimDataProcessor.h,v $ $Revision: 1.2 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #pragma once
14 
17 
20 
23 
25 
26 namespace makVrv
27 {
28  class DtSimEntryObjectAgent;
29  class DtEntityStateListener;
30 
31  namespace DT_PROTOCOL_NAMESPACE
32  {
33  class DtVrlinkConnection;
34  class DtVrlinkEmitterStateListener;
35  class DtEmitterSystemExistenceListener;
36  class DtEntityElementProcessor;
37  }
38 }
39 
40 namespace makVrf
41 {
42  class DtVrlinkEmitterSystemStateObjectAgent;
43 
44  namespace VRF_PROTOCOL_NAMESPACE
45  {
48  {
49  public:
50 
52  {
53  std::vector<makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEmitterStateListener*> myListeners;
54  DtVrlinkEmitterSystemStateObjectAgent* myAgent;
57  };
58 
61 
64 
66  void postDrainInput();
67 
69  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
70 
72  virtual void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
73 
75  virtual void emitterSystemDiscovered(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEmitterStateListener* listener);
76 
78  virtual void emitterSystemToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEmitterStateListener* listener);
79 
80  virtual void entityToBeDeleted(makVrv::DtEntityStateListener& listener);
81 
83  virtual void createAndSendState(std::vector<makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEmitterStateListener*>& listeners,
84  makVrv::DtUniqueID entityId, DtVrlinkEmitterSystemStateObjectAgent& objectAgent);
87  virtual void setState(DtVrlinkEmitterBeamState&, DtEmitterBeamRepository*);
88 
90  virtual makVrv::DtUniqueID mapHostIdToEntityUniqueId(const DtGlobalObjectDesignator& host,
91  const DtGlobalObjectDesignator& systemId, makVrv::DtUniqueID systemUniqueId) const;
92 
94  virtual bool setupCallbackAgentFor(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEmitterStateListener* listener);
95 
96  virtual void removeUpdaterAgent(makVrv::DtUniqueID id);
97 
98  protected:
99 
100  static void postDrainInput(void* usr);
101 
102  virtual void slot_postUpdateCallback(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEmitterStateListener& listener);
103 
104  protected:
105 
106  //A Listener and a driver which will be updated with it.
108  {
109  public:
110 
112 
114 
116 
117  //Are the updaters equal
118  bool operator==(const EmitterSystemStateUpdater& orig) const;
119 
121  void update(double timeT);
122 
123  protected:
126  };
127 
128  typedef std::vector<makVrv::DtUniqueID> EmitterSystemIdList;
129 
130  typedef std::map<makVrv::DtUniqueID,EmitterSystemSimDataInstance > EmitterSystemAgentMap;
131 
133  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,EmitterSystemUpdaterGroup>
135 
136  protected:
137 
139 
142  DtTimedSection myTimer;
143  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
144 
148 
149  typedef std::map<makVrv::DtUniqueID, DtVrlinkEmitterSystems> StateMapBySystem;
151 
152  typedef std::map<makVrv::DtUniqueID, DtVrlinkEmitterSystems> StateMapByEntity;
154 
156  };
157  }
158 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)