VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
simManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
11 
14 
15 
17 #include <vl/hostStructs.h>
18 #include <vlutil/vlMachineTypes.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;
55 class DtScriptedObjects;
58 class DtFireManager;
62 class DtJoyDeviceManager;
64 class DtHostilityManager;
66 class DtTimer;
73 
75 typedef void (*DtSimTickFunction)(void* userData);
76 typedef void (*DtRunDurationCallbackFcn)(void* userData);
77 
91 #include "vrfcore/vrfcoreDefines.h"
93 {
94 public:
95 
97  DtSimManager(DtExerciseConn* connection);
98 
100  virtual ~DtSimManager();
101 
102 private:
103 
106  DtSimManager(const DtSimManager& orig);
107 
110  DtSimManager& operator=(const DtSimManager& orig);
111 
112 public:
113 
118  virtual bool init();
119 
121  virtual const DtVrfSimOptionsInterface* simOptions() const;
122 
124  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
125 
135  virtual bool createExerciseClock();
136 
137  virtual bool createScheduler();
138  virtual bool createMessageInterface();
139  virtual bool createFrameRateMonitor();
141  virtual bool createVrfSimSettingsManager();
142  virtual bool createParallelTickManager();
143 
146  virtual void tick();
147 
148 
154  virtual void setTargetFrameRate(int rate);
155  virtual int targetFrameRate() const;
157 
160  virtual void sleep() const;
161 
162  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
163 
164  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
165 
166  virtual bool createAndDeliverMessage(
167  const DtSimulationAddress& recipient,
168  const DtSimInterfaceContent & content,
169  bool overrideTimestampOrder = true);
170 
171 #if XXX
172 
173  virtual bool createAndDeliverMessage(const DtSimulationAddress& sender,
174  const DtSimulationAddress& recipient,
175  const DtSimInterfaceContent & content);
176 #endif
177 
185 
186  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData);
187  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData);
189 
193  static void setAppDataDir(const DtString&);
194  static const DtString& appDataDir();
196 
200  virtual void addPostTickEntry(DtSimTickFunction tickFunction, void* userData);
201  virtual void removePostTickEntry(DtSimTickFunction tickFunction, void* userData);
203 
207  virtual DtExerciseConn* exerciseConn();
208 
211  virtual DtExerciseClock* exerciseClock();
212 
217  virtual DtFrameRateMonitor* frameRateMonitor();
218 
221  virtual DtParallelTickManager* parallelTickManager();
222 
224  virtual DtScheduler* scheduler();
225 
228 
229  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
230  virtual DtPhysicalWorld* physicalWorld();
231  virtual const DtPhysicalWorld* physicalWorld() const;
233 
235 
236  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
237  virtual DtCommModelManager* commModelManager();
238  virtual const DtCommModelManager* commModelManager() const;
240 
242 
243  virtual void setSimTerrainRequestManager(DtSimTerrainRequestManager* newSimTerrainRequestManager);
244  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
245  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
247 
250  virtual void setVrfObjectManager (DtVrfObjectManager* entityManager);
251  virtual DtVrfObjectManager* vrfObjectManager();
252  virtual const DtVrfObjectManager* vrfObjectManager() const;
253 
257  virtual void setEmbeddedEntityInfoManager(DtEmbeddedEntityInfoManager* eeInfManager);
258  virtual DtEmbeddedEntityInfoManager* embeddedEntityInfoManager();
259  virtual const DtEmbeddedEntityInfoManager* embeddedEntityInfoManager() const;
260 
263  virtual void setModelSet(const DtModelSet&);
264  const DtModelSet* modelSet() const;
265 
267  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
268  virtual DtScriptedTaskManager* scriptedTaskManager();
269  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
270 
272  virtual void setScenarioEventManager (DtScenarioEventManager*);
273  virtual DtScenarioEventManager* scenarioEventManager();
274  virtual const DtScenarioEventManager* scenarioEventManager() const;
275 
277  virtual void setHazardAreaManager (DtHazardAreaManager*);
278  virtual DtHazardAreaManager* hazardAreaManager();
279  virtual const DtHazardAreaManager* hazardAreaManager() const;
280 
282  virtual void setIntelCollectionAreaManager (DtIntelCollectionAreaManager*);
283  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager();
284  virtual const DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
285 
287  virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager*);
288  virtual DtScriptedObjectsMovementManager* scriptedObjectsMovementManager();
289  virtual const DtScriptedObjectsMovementManager* scriptedObjectsMovementManager() const;
290 
293  virtual void setAggregateSpatialModel (DtAggregateSpatialModel* aggregateSpatialModel);
294  virtual DtAggregateSpatialModel* aggregateSpatialModel();
295  virtual const DtAggregateSpatialModel* aggregateSpatialModel() const;
296 
300  virtual void setDetonationManager(DtDetonationManager* detonationManager);
301  virtual DtDetonationManager* detonationManager();
302 
308  virtual void setFireManager(DtFireManager* fireManager);
309  virtual DtFireManager* fireManager();
310 
314 
315  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
316  virtual const DtGlobalPlanManager* globalPlanManager() const;
317  virtual DtGlobalPlanManager* globalPlanManager();
319 
321 
322  virtual void setStealthCommandsManager(DtStealthCommandsManager* planManager);
323  virtual const DtStealthCommandsManager* stealthCommandsManager() const;
324  virtual DtStealthCommandsManager* stealthCommandsManager();
326 
328  virtual void setJoyDeviceManager(DtJoyDeviceManager* joyDeviceManager);
329  virtual const DtJoyDeviceManager* joyDeviceManager() const;
330  virtual DtJoyDeviceManager* joyDeviceManager();
331 
333 
334  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
335  virtual const DtHostilityManager* hostilityManager() const;
336  virtual DtHostilityManager* hostilityManager();
338 
340 
341  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
342  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
343  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
345 
347 
348  virtual void setDynamicFeaturesManager(DtDynamicFeaturesManager* mgr);
349  virtual const DtDynamicFeaturesManager* dynamicFeaturesManager() const;
350  virtual DtDynamicFeaturesManager* dynamicFeaturesManager();
352 
354  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
355 
358  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
359  void* usrData);
360 
361  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
362  void* usrData);
363 
367 
368  virtual DtVrfMessageInterface* messageInterface() const;
369  virtual DtInterfaceMessageExecutive* messageExecutive();
370 
373  static void TickFunction(void* userData);
374 
378  virtual void registerInterfaceCallbacks();
379 
382  virtual bool processExtendedPropertySettings();
383 
386  virtual const DtSimulationAddress& messageAddress() const;
387 
389  static void randSeedCallback(DtSimMessage* msg, void* usr);
390 
392  virtual unsigned long sequenceNumber();
393 
396  virtual void setSequenceNumber(unsigned long sequenceNumber);
397 
399  DtResourceMonitor* resourceMonitor();
400  void setResourceMonitor(DtResourceMonitor*);
401 
403  virtual int vrfSessionId() const;
404 
406  virtual int vrfMessageVersionSupported() const;
407 
410  virtual void runForDuration(double);
411  virtual double runDurationTime() const;
412 
414  virtual void stopSimulationDurationTimer();
415 
417  static void runDurationCompleteCallback(DtTimer*);
418  virtual void processRunDurationComplete();
419 
421  virtual void addSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
422  virtual void removeSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
423 
426  virtual void setSetScenarioStartTimeAtLocalOnFirstObjectCreation(bool, int defaultTime = 36000);
427  virtual bool shouldSetScenarioStartTimeAtLocalOnFirstObjectCreation() const;
428  virtual int setScenarioStartTimeAtLocalOnFirstObjectCreation() const;
429 
430 protected:
432 
446 
448  DtExerciseConn* myExerciseConn;
471 
473 
479 
482 };
483 
485 {
486  return myResourceMonitor;
487 }
488 
490 {
491  myResourceMonitor = m;
492 }

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)