VR-Forces 4.1.1 Class Documentation
simMgr.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
14 
15 
16 #include "vrfutil/callbackList.h"
17 #include <vl/hostStructs.h>
18 #include <vlutil/vlMachineTypes.h>
19 #include <vrfmsgs/msgExec.h>
20 
23 class DtExerciseConn;
24 class DtPhysicalWorld;
25 class DtCommModelManager;
27 class DtThreadSocket;
28 class DtThreadMessageList;
29 class DtFrameRateMonitor;
30 class DtResourceMonitor;
31 class DtModelSet;
32 
35 class DtEntityType;
36 class DtVector;
37 class DtEchelonRoleName;
38 class DtString;
39 class DtList;
41 class DtEntityType;
43 
47 class DtScheduler;
48 class DtExerciseClock;
49 class DtVrfObjectManager;
52 class DtScriptedObjects;
55 class DtFireManager;
58 class DtJoyDeviceManager;
61 class DtHostilityManager;
64 
66 typedef void (*DtSimTickFunction)(void* userData);
67 
75 #include "vrfcore/vrfcoreDefines.h"
77 {
78 public:
79 
81  DtSimManager(DtExerciseConn* connection);
82 
84  virtual ~DtSimManager();
85 
86 private:
87 
90  DtSimManager(const DtSimManager& orig);
91 
94  DtSimManager& operator=(const DtSimManager& orig);
95 
96 public:
97 
102  virtual bool init();
103 
113  virtual bool createExerciseClock();
114 
115  virtual bool createScheduler();
116  virtual bool createMessageInterface();
117  virtual bool createFrameRateMonitor();
119  virtual bool createVrfSimSettingsManager();
120 
123  virtual void tick();
124 
125 
131  virtual void setTargetFrameRate(int rate);
132  virtual int targetFrameRate() const;
134 
137  virtual void sleep() const;
138 
139  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
140  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
141 
142  virtual bool createAndDeliverMessage(
143  const DtSimulationAddress& recipient,
144  const DtSimInterfaceContent & content,
145  bool overrideTimestampOrder = true);
146 
147 #if XXX
148 
149  virtual bool createAndDeliverMessage(const DtSimulationAddress& sender,
150  const DtSimulationAddress& recipient,
151  const DtSimInterfaceContent & content);
152 #endif
153 
161 
162  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData);
163  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData);
165 
169  virtual DtExerciseConn* exerciseConn();
170 
173  virtual DtExerciseClock* exerciseClock();
174 
179  virtual DtFrameRateMonitor* frameRateMonitor();
180 
182  virtual DtScheduler* scheduler();
183 
186 
187  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
188  virtual DtPhysicalWorld* physicalWorld();
189  virtual const DtPhysicalWorld* physicalWorld() const;
191 
193 
194  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
195  virtual DtCommModelManager* commModelManager();
196  virtual const DtCommModelManager* commModelManager() const;
198 
201  virtual void setVrfObjectManager (DtVrfObjectManager* entityManager);
202  virtual DtVrfObjectManager* vrfObjectManager();
203  virtual const DtVrfObjectManager* vrfObjectManager() const;
204 
207  virtual void setModelSet(const DtModelSet&);
208  const DtModelSet* modelSet() const;
209 
211  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
212  virtual DtScriptedTaskManager* scriptedTaskManager();
213  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
214 
216  virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager*);
217  virtual DtScriptedObjectsMovementManager* scriptedObjectsMovementManager();
218  virtual const DtScriptedObjectsMovementManager* scriptedObjectsMovementManager() const;
219 
222  virtual void setAggregateSpatialModel (DtAggregateSpatialModel* aggregateSpatialModel);
223  virtual DtAggregateSpatialModel* aggregateSpatialModel();
224  virtual const DtAggregateSpatialModel* aggregateSpatialModel() const;
225 
229  virtual void setDetonationManager(DtDetonationManager* detonationManager);
230  virtual DtDetonationManager* detonationManager();
231 
237  virtual void setFireManager(DtFireManager* fireManager);
238  virtual DtFireManager* fireManager();
239 
243 
244  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
245  virtual const DtGlobalPlanManager* globalPlanManager() const;
246  virtual DtGlobalPlanManager* globalPlanManager();
248 
250  virtual void setJoyDeviceManager(DtJoyDeviceManager* joyDeviceManager);
251  virtual const DtJoyDeviceManager* joyDeviceManager() const;
252  virtual DtJoyDeviceManager* joyDeviceManager();
253 
255 
256  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
257  virtual const DtHostilityManager* hostilityManager() const;
258  virtual DtHostilityManager* hostilityManager();
260 
262 
263  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
264  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
265  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
267 
269  virtual void setStealthRemoteController(DtStealthRemoteController* controller);
270  virtual DtStealthRemoteController* stealthRemoteController();
271 
273  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
274 
277  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
278  void* usrData);
279 
280  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
281  void* usrData);
282 
286 
287  virtual DtVrfMessageInterface* messageInterface() const;
288  virtual DtInterfaceMessageExecutive* messageExecutive();
289 
292  static void TickFunction(void* userData);
293 
297  virtual void registerInterfaceCallbacks();
298 
301  virtual const DtSimulationAddress& messageAddress() const;
302 
304  static void randSeedCallback(DtSimMessage* msg, void* usr);
305 
307  virtual unsigned long sequenceNumber();
308 
311  virtual void setSequenceNumber(unsigned long sequenceNumber);
312 
314  DtResourceMonitor* resourceMonitor();
315  void setResourceMonitor(DtResourceMonitor*);
316 
318  virtual int vrfSessionId() const;
319 
321  virtual int vrfMessageVersionSupported() const;
322 
323 protected:
324 
337 
339  DtExerciseConn* myExerciseConn;
355 
357 };
358 
360 {
361  return myResourceMonitor;
362 }
363 
365 {
366  myResourceMonitor = m;
367 }

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)