VR-Forces 4.2 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;
26 class DtReflectedExtEntityList;
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;
60 class DtStealthRemoteController;
61 class DtHostilityManager;
64 
66 typedef void (*DtSimTickFunction)(void* userData);
67 
81 #include "vrfcore/vrfcoreDefines.h"
83 {
84 public:
85 
87  DtSimManager(DtExerciseConn* connection);
88 
90  virtual ~DtSimManager();
91 
92 private:
93 
96  DtSimManager(const DtSimManager& orig);
97 
100  DtSimManager& operator=(const DtSimManager& orig);
101 
102 public:
103 
108  virtual bool init();
109 
119  virtual bool createExerciseClock();
120 
121  virtual bool createScheduler();
122  virtual bool createMessageInterface();
123  virtual bool createFrameRateMonitor();
125  virtual bool createVrfSimSettingsManager();
126 
129  virtual void tick();
130 
131 
137  virtual void setTargetFrameRate(int rate);
138  virtual int targetFrameRate() const;
140 
143  virtual void sleep() const;
144 
145  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
146  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
147 
148  virtual bool createAndDeliverMessage(
149  const DtSimulationAddress& recipient,
150  const DtSimInterfaceContent & content,
151  bool overrideTimestampOrder = true);
152 
153 #if XXX
154 
155  virtual bool createAndDeliverMessage(const DtSimulationAddress& sender,
156  const DtSimulationAddress& recipient,
157  const DtSimInterfaceContent & content);
158 #endif
159 
167 
168  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData);
169  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData);
171 
175  virtual DtExerciseConn* exerciseConn();
176 
179  virtual DtExerciseClock* exerciseClock();
180 
185  virtual DtFrameRateMonitor* frameRateMonitor();
186 
188  virtual DtScheduler* scheduler();
189 
192 
193  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
194  virtual DtPhysicalWorld* physicalWorld();
195  virtual const DtPhysicalWorld* physicalWorld() const;
197 
199 
200  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
201  virtual DtCommModelManager* commModelManager();
202  virtual const DtCommModelManager* commModelManager() const;
204 
207  virtual void setVrfObjectManager (DtVrfObjectManager* entityManager);
208  virtual DtVrfObjectManager* vrfObjectManager();
209  virtual const DtVrfObjectManager* vrfObjectManager() const;
210 
213  virtual void setModelSet(const DtModelSet&);
214  const DtModelSet* modelSet() const;
215 
217  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
218  virtual DtScriptedTaskManager* scriptedTaskManager();
219  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
220 
222  virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager*);
223  virtual DtScriptedObjectsMovementManager* scriptedObjectsMovementManager();
224  virtual const DtScriptedObjectsMovementManager* scriptedObjectsMovementManager() const;
225 
228  virtual void setAggregateSpatialModel (DtAggregateSpatialModel* aggregateSpatialModel);
229  virtual DtAggregateSpatialModel* aggregateSpatialModel();
230  virtual const DtAggregateSpatialModel* aggregateSpatialModel() const;
231 
235  virtual void setDetonationManager(DtDetonationManager* detonationManager);
236  virtual DtDetonationManager* detonationManager();
237 
243  virtual void setFireManager(DtFireManager* fireManager);
244  virtual DtFireManager* fireManager();
245 
249 
250  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
251  virtual const DtGlobalPlanManager* globalPlanManager() const;
252  virtual DtGlobalPlanManager* globalPlanManager();
254 
256  virtual void setJoyDeviceManager(DtJoyDeviceManager* joyDeviceManager);
257  virtual const DtJoyDeviceManager* joyDeviceManager() const;
258  virtual DtJoyDeviceManager* joyDeviceManager();
259 
261 
262  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
263  virtual const DtHostilityManager* hostilityManager() const;
264  virtual DtHostilityManager* hostilityManager();
266 
268 
269  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
270  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
271  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
273 
275  virtual void setStealthRemoteController(DtStealthRemoteController* controller);
276  virtual DtStealthRemoteController* stealthRemoteController();
277 
279  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
280 
283  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
284  void* usrData);
285 
286  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
287  void* usrData);
288 
292 
293  virtual DtVrfMessageInterface* messageInterface() const;
294  virtual DtInterfaceMessageExecutive* messageExecutive();
295 
298  static void TickFunction(void* userData);
299 
303  virtual void registerInterfaceCallbacks();
304 
307  virtual const DtSimulationAddress& messageAddress() const;
308 
310  static void randSeedCallback(DtSimMessage* msg, void* usr);
311 
313  virtual unsigned long sequenceNumber();
314 
317  virtual void setSequenceNumber(unsigned long sequenceNumber);
318 
320  DtResourceMonitor* resourceMonitor();
321  void setResourceMonitor(DtResourceMonitor*);
322 
324  virtual int vrfSessionId() const;
325 
327  virtual int vrfMessageVersionSupported() const;
328 
329 protected:
330 
343 
345  DtExerciseConn* myExerciseConn;
357  DtStealthRemoteController* myStealthRemoteController;
361 
363 };
364 
366 {
367  return myResourceMonitor;
368 }
369 
371 {
372  myResourceMonitor = m;
373 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)