VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
environmentSimDataProcessor.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 
14 
18 
21 
22 namespace makVrv
23 {
24  class DtSimEntryObjectAgent;
25 
26  namespace DT_PROTOCOL_NAMESPACE
27  {
28  class DtVrlinkEnvironmentalStateListenerInterface;
29  class DtEnvironmentalExistenceListener;
30  }
31 }
32 
33 namespace makVrf
34 {
35  class DtEnvironmentStateObjectAgent;
36 
37  namespace VRF_PROTOCOL_NAMESPACE
38  {
41  {
42  public:
43 
46 
49 
50  static DtEnvironmentSimDataProcessor* findInstance(
52  {
53  return dynamic_cast<DtEnvironmentSimDataProcessor*>(
54  sim.findInstance("DtEnvironmentSimDataProcessor"));
55  }
56 
57  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim,
59  {
60  sim.registerInstance("DtEnvironmentSimDataProcessor",proc);
61  }
62 
64  void postDrainInput();
65 
67  void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
68 
70  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
71 
74 
77 
80  DtEnvironmentStateObjectAgent& objectDriver);
82  DtVrlinkSimulatedEnvironmentProcess& state, bool forceStatePropertyUpdate = false);
85 
86  protected:
87 
88  static void postDrainInput(void* usr);
89 
90  virtual void slot_modelSetChanged();
91 
92  virtual void slot_postUpdateCallback(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface& listener);
93 
94 
96  virtual bool updateExtendedState(
98 
102 
103  protected:
104 
105  //A Listener and a driver which will be updated with it.
107  {
108  public:
109 
111  DtEnvironmentStateObjectAgent& driver, DtEnvironmentSimDataProcessor& processor);
112 
114 
115  EnvironmentStateUpdater& operator=(const EnvironmentStateUpdater& orig);
116 
117  //Are the updaters equal
118  bool operator==(const EnvironmentStateUpdater& orig) const;
119 
121  void update(double timeT);
122 
123  protected:
124 
126  DtEnvironmentStateObjectAgent* myObjectAgent;
128  };
129 
130  typedef std::set<makVrv::DtUniqueID> EnvironmentIdList;
131 
133  {
135  DtEnvironmentStateObjectAgent* myAgent;
137  };
138 
139  typedef std::map<makVrv::DtUniqueID,EnvironmentSimDataInstance > EnvironmentAgentMap;
140 
142  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,EnvironmentUpdaterGroup>
144 
145  protected:
146 
148 
151  DtTimedSection myTimer;
152  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
153 
157 
158  typedef boost::unordered_map<makVrv::DtUniqueID, DtVrlinkSimulatedEnvironmentProcess> StateMap;
160  std::map<makVrv::DtUniqueID, DtString> myExtendedLabels;
161 
163  typedef std::map<std::string, std::pair<DtVrlinkSimulatedEnvironmentProcess, int> > BaseStateMap;
165  };
166  }
167 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)