VR-Forces 4.1 Class Documentation
simMgr.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 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;
53 class DtFireManager;
56 class DtJoyDeviceManager;
59 class DtHostilityManager;
62 
64 typedef void (*DtSimTickFunction)(void* userData);
65 
73 #include "vrfcore/vrfcoreDefines.h"
75 {
76 public:
77 
79  DtSimManager(DtExerciseConn* connection);
80 
82  virtual ~DtSimManager();
83 
84 private:
85 
88  DtSimManager(const DtSimManager& orig);
89 
92  DtSimManager& operator=(const DtSimManager& orig);
93 
94 public:
95 
100  virtual bool init();
101 
111  virtual bool createExerciseClock();
112 
113  virtual bool createScheduler();
114  virtual bool createMessageInterface();
115  virtual bool createFrameRateMonitor();
117  virtual bool createVrfSimSettingsManager();
118 
121  virtual void tick();
122 
123 
129  virtual void setTargetFrameRate(int rate);
130  virtual int targetFrameRate() const;
132 
135  virtual void sleep() const;
136 
137  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
138  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
139 
140  virtual bool createAndDeliverMessage(
141  const DtSimulationAddress& recipient,
142  const DtSimInterfaceContent & content,
143  bool overrideTimestampOrder = true);
144 
145 #if XXX
146 
147  virtual bool createAndDeliverMessage(const DtSimulationAddress& sender,
148  const DtSimulationAddress& recipient,
149  const DtSimInterfaceContent & content);
150 #endif
151 
159 
160  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData);
161  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData);
163 
167  virtual DtExerciseConn* exerciseConn();
168 
171  virtual DtExerciseClock* exerciseClock();
172 
177  virtual DtFrameRateMonitor* frameRateMonitor();
178 
180  virtual DtScheduler* scheduler();
181 
184 
185  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
186  virtual DtPhysicalWorld* physicalWorld();
187  virtual const DtPhysicalWorld* physicalWorld() const;
189 
191 
192  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
193  virtual DtCommModelManager* commModelManager();
194  virtual const DtCommModelManager* commModelManager() const;
196 
199  virtual void setVrfObjectManager (DtVrfObjectManager* entityManager);
200  virtual DtVrfObjectManager* vrfObjectManager();
201  virtual const DtVrfObjectManager* vrfObjectManager() const;
202 
205  virtual void setModelSet(const DtModelSet&);
206  const DtModelSet* modelSet() const;
207 
209  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
210  virtual DtScriptedTaskManager* scriptedTaskManager();
211  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
212 
215  virtual void setAggregateSpatialModel (DtAggregateSpatialModel* aggregateSpatialModel);
216  virtual DtAggregateSpatialModel* aggregateSpatialModel();
217  virtual const DtAggregateSpatialModel* aggregateSpatialModel() const;
218 
222  virtual void setDetonationManager(DtDetonationManager* detonationManager);
223  virtual DtDetonationManager* detonationManager();
224 
230  virtual void setFireManager(DtFireManager* fireManager);
231  virtual DtFireManager* fireManager();
232 
236 
237  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
238  virtual const DtGlobalPlanManager* globalPlanManager() const;
239  virtual DtGlobalPlanManager* globalPlanManager();
241 
243  virtual void setJoyDeviceManager(DtJoyDeviceManager* joyDeviceManager);
244  virtual const DtJoyDeviceManager* joyDeviceManager() const;
245  virtual DtJoyDeviceManager* joyDeviceManager();
246 
248 
249  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
250  virtual const DtHostilityManager* hostilityManager() const;
251  virtual DtHostilityManager* hostilityManager();
253 
255 
256  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
257  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
258  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
260 
262  virtual void setStealthRemoteController(DtStealthRemoteController* controller);
263  virtual DtStealthRemoteController* stealthRemoteController();
264 
266  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
267 
270  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
271  void* usrData);
272 
273  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
274  void* usrData);
275 
279 
280  virtual DtVrfMessageInterface* messageInterface() const;
281  virtual DtInterfaceMessageExecutive* messageExecutive();
282 
285  static void TickFunction(void* userData);
286 
290  virtual void registerInterfaceCallbacks();
291 
294  virtual const DtSimulationAddress& messageAddress() const;
295 
297  static void randSeedCallback(DtSimMessage* msg, void* usr);
298 
300  virtual unsigned long sequenceNumber();
301 
304  virtual void setSequenceNumber(unsigned long sequenceNumber);
305 
307  DtResourceMonitor* resourceMonitor();
308  void setResourceMonitor(DtResourceMonitor*);
309 
311  virtual int vrfSessionId() const;
312 
314  virtual int vrfMessageVersionSupported() const;
315 
316 protected:
317 
330 
332  DtExerciseConn* myExerciseConn;
347 
349 };
350 
352 {
353  return myResourceMonitor;
354 }
355 
357 {
358  myResourceMonitor = m;
359 }

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)