VR-Forces 4.7 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 "vrfutil/itt.h"
18 #include <vl/hostStructs.h>
19 #include <vlutil/vlMachineTypes.h>
21 #include <matrix/vlVector.h>
22 
25 class DtExerciseConn;
26 class DtPhysicalWorld;
27 class DtCommModelManager;
29 class DtThreadSocket;
30 class DtThreadMessageList;
31 class DtFrameRateMonitor;
32 class DtResourceMonitor;
34 class DtVrfObjectMessage;
35 
38 class DtEntityType;
39 class DtEchelonRoleName;
40 class DtString;
41 class DtList;
43 class DtEntityType;
45 
49 class DtScheduler;
50 class DtExerciseClock;
51 class DtVrfObjectManager;
57 class DtScriptedObjects;
61 class DtFireManager;
67 class DtHostilityManager;
70 class DtTimer;
77 class DtSpawnSinkManager;
79 
81 typedef void (*DtSimTickFunction)(void* userData);
82 typedef void (*DtRunDurationCallbackFcn)(void* userData);
83 
97 #include "vrfcore/vrfcoreDefines.h"
99 {
100 public:
101 
103  DtSimManager(DtExerciseConn* connection);
104 
106  virtual ~DtSimManager();
107 
108 private:
109 
112  DtSimManager(const DtSimManager& orig);
113 
116  DtSimManager& operator=(const DtSimManager& orig);
117 
118 public:
119 
124  virtual bool init();
125 
127  virtual const DtVrfSimOptionsInterface* simOptions() const;
128 
130  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
131 
141  virtual bool createExerciseClock();
142 
143  virtual bool createScheduler();
144  virtual bool createMessageInterface();
145  virtual bool createTDLMessageInterface();
146  virtual bool createFrameRateMonitor();
148  virtual bool createVrfSimSettingsManager();
149  virtual bool createParallelTickManager();
150 
152  virtual void tick();
153 
154  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
155 
156  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
157 
158  virtual bool createAndDeliverMessage(
159  const DtSimulationAddress& recipient,
160  const DtSimInterfaceContent & content,
161  bool overrideTimestampOrder = true);
162 
163 #if XXX
164 
165  virtual bool createAndDeliverMessage(const DtSimulationAddress& sender,
166  const DtSimulationAddress& recipient,
167  const DtSimInterfaceContent & content);
168 #endif
169 
177 
178  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData);
179  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData);
181 
185  virtual void addPostTickEntry(DtSimTickFunction tickFunction, void* userData);
186  virtual void removePostTickEntry(DtSimTickFunction tickFunction, void* userData);
188 
192  virtual DtExerciseConn* exerciseConn();
193 
196  virtual DtExerciseClock* exerciseClock();
197 
202  virtual DtFrameRateMonitor* frameRateMonitor();
203 
206  virtual DtParallelTickManager* parallelTickManager();
207 
209  virtual DtScheduler* scheduler();
210 
213 
214  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
215  virtual DtPhysicalWorld* physicalWorld();
216  virtual const DtPhysicalWorld* physicalWorld() const;
218 
220 
221  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
222  virtual DtCommModelManager* commModelManager();
223  virtual const DtCommModelManager* commModelManager() const;
225 
227 
228  virtual void setSimTerrainRequestManager(DtSimTerrainRequestManager* newSimTerrainRequestManager);
229  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
230  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
232 
235  virtual void setVrfObjectManager (DtVrfObjectManager* entityManager);
236  virtual DtVrfObjectManager* vrfObjectManager();
237  virtual const DtVrfObjectManager* vrfObjectManager() const;
238 
239  virtual void setVrfNavAreaManager(DtVrfNavAreaManager* navAreaManager);
240  virtual DtVrfNavAreaManager* vrfNavAreaManager();
241  virtual const DtVrfNavAreaManager* vrfNavAreaManager() const;
242 
243  virtual void setSpawnSinkManager(DtSpawnSinkManager* spawnSinkManager);
244  virtual DtSpawnSinkManager* spawnSinkManager();
245  virtual const DtSpawnSinkManager* spawnSinkManager() const;
246 
250  virtual void setEmbeddedEntityInfoManager(DtEmbeddedEntityInfoManager* eeInfManager);
251  virtual DtEmbeddedEntityInfoManager* embeddedEntityInfoManager();
252  virtual const DtEmbeddedEntityInfoManager* embeddedEntityInfoManager() const;
253 
255  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
256  virtual DtScriptedTaskManager* scriptedTaskManager();
257  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
258 
260  virtual void setScenarioEventManager (DtScenarioEventManager*);
261  virtual DtScenarioEventManager* scenarioEventManager();
262  virtual const DtScenarioEventManager* scenarioEventManager() const;
263 
265  virtual void setHazardAreaManager (DtHazardAreaManager*);
266  virtual DtHazardAreaManager* hazardAreaManager();
267  virtual const DtHazardAreaManager* hazardAreaManager() const;
268 
270  virtual void setIntelCollectionAreaManager (DtIntelCollectionAreaManager*);
271  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager();
272  virtual const DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
273 
275  virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager*);
276  virtual DtScriptedObjectsMovementManager* scriptedObjectsMovementManager();
277  virtual const DtScriptedObjectsMovementManager* scriptedObjectsMovementManager() const;
278 
281  virtual void setAggregateSpatialModel (DtAggregateSpatialModel* aggregateSpatialModel);
282  virtual DtAggregateSpatialModel* aggregateSpatialModel();
283  virtual const DtAggregateSpatialModel* aggregateSpatialModel() const;
284 
288  virtual void setDetonationManager(DtDetonationManager* detonationManager);
289  virtual DtDetonationManager* detonationManager();
290  virtual const DtDetonationManager* detonationManager() const;
291 
293  virtual void setAmmunitionManager(DtVrfAmmunitionManager* ammunitionManager);
294  virtual DtVrfAmmunitionManager* ammunitionManager();
295 
301  virtual void setFireManager(DtFireManager* fireManager);
302  virtual DtFireManager* fireManager();
303 
307 
308  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
309  virtual const DtGlobalPlanManager* globalPlanManager() const;
310  virtual DtGlobalPlanManager* globalPlanManager();
312 
314 
315  virtual void setStealthCommandsManager(DtStealthCommandsManager* planManager);
316  virtual const DtStealthCommandsManager* stealthCommandsManager() const;
317  virtual DtStealthCommandsManager* stealthCommandsManager();
319 
321 
322  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
323  virtual const DtHostilityManager* hostilityManager() const;
324  virtual DtHostilityManager* hostilityManager();
326 
328 
329  virtual void setEngagementZonesManager(DtEngagementZonesManager* manager);
330  virtual const DtEngagementZonesManager* engagementZonesManager() const;
331  virtual DtEngagementZonesManager* engagementZonesManager();
333 
335 
336  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
337  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
338  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
340 
343 
344  virtual void setSimCommandDistributor(DtSimCommandDistributor* distributor);
345  virtual const DtSimCommandDistributor* simCommandDistributor() const;
346  virtual DtSimCommandDistributor* simCommandDistributor();
348 
351  virtual void setScenarioRunId(int);
352  virtual int scenarioRunId() const;
353 
355  virtual void setRejectMismatchedScenarioMessages(bool);
356  virtual bool rejectMismatchedScenarioMessages() const;
357 
360  virtual bool rejectMessage(const DtVrfObjectMessage*) const;
361 
363  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
364 
367  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
368  void* usrData);
369 
370  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
371  void* usrData);
372 
378 
379  virtual DtU32 scenarioCapabilities() const;
380  virtual void setScenarioCapabilities(DtU32 v);
382 
386 
387  virtual DtVrfMessageInterface* messageInterface() const;
388  virtual DtInterfaceMessageExecutive* messageExecutive();
389 
391  virtual DtVrfTDLMessageInterface* tdlMessageInterface() const;
392 
395  static void TickFunction(void* userData);
396 
400  virtual void registerInterfaceCallbacks();
401 
404  virtual bool registerExtendedProperties();
405 
408  virtual const DtSimulationAddress& messageAddress() const;
409 
411  static void randSeedCallback(DtSimMessage* msg, void* usr);
412 
414  virtual unsigned long sequenceNumber();
415 
418  virtual void setSequenceNumber(unsigned long sequenceNumber);
419 
421  DtResourceMonitor* resourceMonitor();
422  void setResourceMonitor(DtResourceMonitor*);
423 
425  DtRadarCoverageMonitor* radarCoverageMonitor();
426  void setRadarCoverageMonitor(DtRadarCoverageMonitor*);
427 
429  virtual int vrfSessionId() const;
430 
432  virtual int vrfMessageVersionSupported() const;
433 
436  virtual void runForDuration(double);
437  virtual double runDurationTime() const;
438 
440  virtual void stopSimulationDurationTimer();
441 
443  static void runDurationCompleteCallback(DtTimer*);
444  virtual void processRunDurationComplete();
445 
447  virtual void addSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
448  virtual void removeSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
449 
451  __itt_domain* componentTickITTDomain();
452 
453 protected:
455 
470 
472  DtExerciseConn* myExerciseConn;
498 
504 
508 
510 };
511 
513 {
514  return myResourceMonitor;
515 }
516 
518 {
519  return myRadarCoverageMonitor;
520 }
521 
523 {
524  myResourceMonitor = m;
525 }
526 
528 {
530 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)