VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 #include <matrix/vlVector.h>
21 
24 class DtExerciseConn;
25 class DtPhysicalWorld;
26 class DtCommModelManager;
28 class DtThreadSocket;
29 class DtThreadMessageList;
30 class DtFrameRateMonitor;
31 class DtResourceMonitor;
32 class DtVrfObjectMessage;
33 
36 class DtEntityType;
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;
64 class DtHostilityManager;
66 class DtTimer;
73 class DtSpawnSinkManager;
75 
77 typedef void (*DtSimTickFunction)(void* userData);
78 typedef void (*DtRunDurationCallbackFcn)(void* userData);
79 
93 #include "vrfcore/vrfcoreDefines.h"
95 {
96 public:
97 
99  DtSimManager(DtExerciseConn* connection);
100 
102  virtual ~DtSimManager();
103 
104 private:
105 
108  DtSimManager(const DtSimManager& orig);
109 
112  DtSimManager& operator=(const DtSimManager& orig);
113 
114 public:
115 
120  virtual bool init();
121 
123  virtual const DtVrfSimOptionsInterface* simOptions() const;
124 
126  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
127 
137  virtual bool createExerciseClock();
138 
139  virtual bool createScheduler();
140  virtual bool createMessageInterface();
141  virtual bool createTDLMessageInterface();
142  virtual bool createFrameRateMonitor();
144  virtual bool createVrfSimSettingsManager();
145  virtual bool createParallelTickManager();
146 
148  virtual void tick();
149 
150  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
151 
152  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
153 
154  virtual bool createAndDeliverMessage(
155  const DtSimulationAddress& recipient,
156  const DtSimInterfaceContent & content,
157  bool overrideTimestampOrder = true);
158 
159 #if XXX
160 
161  virtual bool createAndDeliverMessage(const DtSimulationAddress& sender,
162  const DtSimulationAddress& recipient,
163  const DtSimInterfaceContent & content);
164 #endif
165 
173 
174  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData);
175  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData);
177 
181  virtual void addPostTickEntry(DtSimTickFunction tickFunction, void* userData);
182  virtual void removePostTickEntry(DtSimTickFunction tickFunction, void* userData);
184 
188  virtual DtExerciseConn* exerciseConn();
189 
192  virtual DtExerciseClock* exerciseClock();
193 
198  virtual DtFrameRateMonitor* frameRateMonitor();
199 
202  virtual DtParallelTickManager* parallelTickManager();
203 
205  {
206  public:
208  {
209  myMgr->setEnableParallelTickManager(true);
210  }
211 
213  {
214  myMgr->setEnableParallelTickManager(false);
215  }
216 
217  private:
219 
222  void operator=(const EnableParallelTickManagerScopeGuard&);
223  };
224 
229  virtual void setEnableParallelTickManager(bool enabled);
230 
232  virtual DtScheduler* scheduler();
233 
236 
237  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
238  virtual DtPhysicalWorld* physicalWorld();
239  virtual const DtPhysicalWorld* physicalWorld() const;
241 
243 
244  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
245  virtual DtCommModelManager* commModelManager();
246  virtual const DtCommModelManager* commModelManager() const;
248 
250 
251  virtual void setSimTerrainRequestManager(DtSimTerrainRequestManager* newSimTerrainRequestManager);
252  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
253  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
255 
258  virtual void setVrfObjectManager (DtVrfObjectManager* entityManager);
259  virtual DtVrfObjectManager* vrfObjectManager();
260  virtual const DtVrfObjectManager* vrfObjectManager() const;
261 
262  virtual void setVrfNavAreaManager(DtVrfNavAreaManager* navAreaManager);
263  virtual DtVrfNavAreaManager* vrfNavAreaManager();
264  virtual const DtVrfNavAreaManager* vrfNavAreaManager() const;
265 
266  virtual void setSpawnSinkManager(DtSpawnSinkManager* spawnSinkManager);
267  virtual DtSpawnSinkManager* spawnSinkManager();
268  virtual const DtSpawnSinkManager* spawnSinkManager() const;
269 
273  virtual void setEmbeddedEntityInfoManager(DtEmbeddedEntityInfoManager* eeInfManager);
274  virtual DtEmbeddedEntityInfoManager* embeddedEntityInfoManager();
275  virtual const DtEmbeddedEntityInfoManager* embeddedEntityInfoManager() const;
276 
278  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
279  virtual DtScriptedTaskManager* scriptedTaskManager();
280  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
281 
283  virtual void setScenarioEventManager (DtScenarioEventManager*);
284  virtual DtScenarioEventManager* scenarioEventManager();
285  virtual const DtScenarioEventManager* scenarioEventManager() const;
286 
288  virtual void setHazardAreaManager (DtHazardAreaManager*);
289  virtual DtHazardAreaManager* hazardAreaManager();
290  virtual const DtHazardAreaManager* hazardAreaManager() const;
291 
293  virtual void setIntelCollectionAreaManager (DtIntelCollectionAreaManager*);
294  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager();
295  virtual const DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
296 
298  virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager*);
299  virtual DtScriptedObjectsMovementManager* scriptedObjectsMovementManager();
300  virtual const DtScriptedObjectsMovementManager* scriptedObjectsMovementManager() const;
301 
304  virtual void setAggregateSpatialModel (DtAggregateSpatialModel* aggregateSpatialModel);
305  virtual DtAggregateSpatialModel* aggregateSpatialModel();
306  virtual const DtAggregateSpatialModel* aggregateSpatialModel() const;
307 
311  virtual void setDetonationManager(DtDetonationManager* detonationManager);
312  virtual DtDetonationManager* detonationManager();
313 
319  virtual void setFireManager(DtFireManager* fireManager);
320  virtual DtFireManager* fireManager();
321 
325 
326  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
327  virtual const DtGlobalPlanManager* globalPlanManager() const;
328  virtual DtGlobalPlanManager* globalPlanManager();
330 
332 
333  virtual void setStealthCommandsManager(DtStealthCommandsManager* planManager);
334  virtual const DtStealthCommandsManager* stealthCommandsManager() const;
335  virtual DtStealthCommandsManager* stealthCommandsManager();
337 
339 
340  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
341  virtual const DtHostilityManager* hostilityManager() const;
342  virtual DtHostilityManager* hostilityManager();
344 
346 
347  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
348  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
349  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
351 
354 
355  virtual void setSimCommandDistributor(DtSimCommandDistributor* distributor);
356  virtual const DtSimCommandDistributor* simCommandDistributor() const;
357  virtual DtSimCommandDistributor* simCommandDistributor();
359 
362  virtual void setScenarioRunId(int);
363  virtual int scenarioRunId() const;
364 
366  virtual void setRejectMismatchedScenarioMessages(bool);
367  virtual bool rejectMismatchedScenarioMessages() const;
368 
371  virtual bool rejectMessage(const DtVrfObjectMessage*) const;
372 
374  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
375 
378  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
379  void* usrData);
380 
381  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
382  void* usrData);
383 
389 
390  virtual DtU32 scenarioCapabilities() const;
391  virtual void setScenarioCapabilities(DtU32 v);
393 
397 
398  virtual DtVrfMessageInterface* messageInterface() const;
399  virtual DtInterfaceMessageExecutive* messageExecutive();
400 
402  virtual DtVrfTDLMessageInterface* tdlMessageInterface() const;
403 
406  static void TickFunction(void* userData);
407 
411  virtual void registerInterfaceCallbacks();
412 
415  virtual bool registerExtendedProperties();
416 
419  virtual const DtSimulationAddress& messageAddress() const;
420 
422  static void randSeedCallback(DtSimMessage* msg, void* usr);
423 
425  virtual unsigned long sequenceNumber();
426 
429  virtual void setSequenceNumber(unsigned long sequenceNumber);
430 
432  DtResourceMonitor* resourceMonitor();
433  void setResourceMonitor(DtResourceMonitor*);
434 
436  virtual int vrfSessionId() const;
437 
439  virtual int vrfMessageVersionSupported() const;
440 
443  virtual void runForDuration(double);
444  virtual double runDurationTime() const;
445 
447  virtual void stopSimulationDurationTimer();
448 
450  static void runDurationCompleteCallback(DtTimer*);
451  virtual void processRunDurationComplete();
452 
454  virtual void addSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
455  virtual void removeSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
456 
457 protected:
459 
474 
476  DtExerciseConn* myExerciseConn;
500 
506 
510 };
511 
513 {
514  return myResourceMonitor;
515 }
516 
518 {
519  myResourceMonitor = m;
520 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)