VR-Forces Developer's Guide
 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) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <vlutil/vlTime.h>
16 #include <matrix/vlVector.h>
17 #include <tbb/spin_mutex.h>
18 #include <vrfutil/vrf4XAPI.h>
20 
23 class DtPhysicalWorld;
24 class DtCommModelManager;
25 class DtThreadSocket;
26 class DtThreadMessageList;
27 class DtFrameRateMonitor;
28 class DtResourceMonitor;
31 class DtVrfObjectMessage;
33 class DtSimObjectManager;
39 
42 class DtEntityType;
43 class DtEchelonRoleName;
44 class DtString;
45 class DtList;
47 class DtEntityType;
49 
53 class DtScheduler;
54 class DtDebugDrawManager;
60 class DtScriptedObjects;
63 class DtFireManager;
69 class DtHostilityManager;
72 class DtTimer;
76 class DtVrfCallbackQueue;
79 class DtSpawnSinkManager;
82 class DtVrfParameterDb;
84 class DtOrbatManager;
85 class DtEnumDictionary;
90 
91 namespace makVrf
92 {
93  class DtStateDataManager;
94 }
95 
96 namespace makVrfEvents
97 {
98  class DtEventManager;
99  class DtEvent;
101  class DtFireInteraction;
102  class DtDataInteraction;
103  class DtCommentInteraction;
104 }
105 
107 typedef void (*DtSimTickFunction)(void* userData);
108 typedef void (*DtRunDurationCallbackFcn)(void* userData);
109 
123 #include "vrfcore/vrfcoreDefines.h"
125 {
126 public:
127 
130 
132  virtual ~DtSimManager();
133 
134 private:
135 
138  DtSimManager(const DtSimManager& orig);
139 
142  DtSimManager& operator=(const DtSimManager& orig);
143 
144 public:
145 
150  virtual bool init();
151 
153  virtual const DtVrfSimOptionsInterface* simOptions() const;
154 
156  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
157 
158  virtual bool createScheduler();
159  virtual bool createMessageInterface();
160  virtual bool createTDLMessageInterface();
161  virtual bool createFrameRateMonitor();
163  virtual bool createVrfSimSettingsManager();
164  virtual bool createParallelQueue();
165  virtual bool createDatabaseLogger();
166 
170  virtual bool beginFrame(DtCommunicationManagerPerformanceTimerInformation* info = nullptr);
171 
173  virtual void tick();
174 
176  virtual bool advanceFrame(DtCommunicationManagerPerformanceTimerInformation* timerInformation = nullptr);
177 
178  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
179 
180  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
181 
182  virtual bool createAndDeliverMessage(
183  const DtSimulationAddress& recipient,
184  const DtSimInterfaceContent & content,
185  bool overrideTimestampOrder = true,
186  bool sendImmediately = false) const;
187 
195 
196  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData) const;
197  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData) const;
199 
203  virtual void addPostTickEntry(DtSimTickFunction tickFunction, void* userData) const;
204  virtual void removePostTickEntry(DtSimTickFunction tickFunction, void* userData) const;
206 
211  virtual DtFrameRateMonitor* frameRateMonitor();
212 
215  virtual DtVrfCallbackQueue* parallelQueue();
216 
218  virtual DtScheduler* scheduler();
219 
221  virtual double simTime() const;
222  virtual double dT() const;
223  virtual double elapsedRealTime() const;
224  virtual double absRealTime() const;
225  virtual double approximateElapsedRealTime() const;
226  virtual bool isPaused() const;
227  virtual double timeMultiplier() const;
228  double simTimeScale() const { return timeMultiplier(); };
229 
230  virtual void setSimTime(double d);
231  virtual void setTimeMultiplier(double d);
232 
234  virtual void setExerciseStartTime(double);
235  virtual double exerciseTime() const;
236  virtual double exerciseStartTime() const;
237 
240 
241  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
242  virtual DtPhysicalWorld* physicalWorld();
243  virtual const DtPhysicalWorld* physicalWorld() const;
245 
247  virtual void pause();
248  virtual void run();
249 
250  virtual DtSimulationServices* simulationServices();
251  virtual const DtSimulationServices* simulationServices() const;
252 
254 
255  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
256  virtual DtCommModelManager* commModelManager();
257  virtual const DtCommModelManager* commModelManager() const;
259 
261 
262  virtual void setSimTerrainRequestManager(DtSimTerrainRequestManager* newSimTerrainRequestManager);
263  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
264  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
266 
268  virtual void setSimObjectManager (DtSimObjectManager* entityManager);
269  virtual const DtSimObjectManager* simObjectManager() const;
270  virtual DtSimObjectManager* simObjectManager();
271 
272  void setPlanAdministrator (DtVrfObjectPlanAdministrator* entityManager);
273  DtVrfObjectPlanAdministrator* planAdministrator() const;
274 
275  void setDiGuyCharacterManager (DtDiGuyCharacterDataManager* entityManager);
276  DtDiGuyCharacterDataManager* diGuyCharacterManager() const;
277 
278  virtual void setVrfNavAreaManager(DtVrfNavAreaManager* navAreaManager);
279  virtual DtVrfNavAreaManager* vrfNavAreaManager();
280  virtual const DtVrfNavAreaManager* vrfNavAreaManager() const;
281 
282  virtual void setSpawnSinkManager(DtSpawnSinkManager* spawnSinkManager);
283  virtual DtSpawnSinkManager* spawnSinkManager();
284  virtual const DtSpawnSinkManager* spawnSinkManager() const;
285 
289  virtual void setEmbeddedEntityInfoManager(DtEmbeddedEntityInfoManager* eeInfManager);
290  virtual DtEmbeddedEntityInfoManager* embeddedEntityInfoManager();
291  virtual const DtEmbeddedEntityInfoManager* embeddedEntityInfoManager() const;
292 
294  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
295  virtual DtScriptedTaskManager* scriptedTaskManager();
296  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
297 
299  virtual void setOrbatManager (DtOrbatManager*);
300  virtual DtOrbatManager* orbatManager();
301  virtual const DtOrbatManager* orbatManager() const;
302 
304  virtual void sendServerMessage(const DtString&, int severity = DtNlWarn, const DtSimulationAddress& addr = DtSimSendToAll);
305 
307  virtual void setSimInternalCommunicationManager(DtSimInternalCommunicationManager*);
308  virtual DtSimInternalCommunicationManager* simInternalCommunicationManager() const;
309 
311  virtual void setObjectListManager(DtManagedObjectListManager*);
312  virtual DtManagedObjectListManager* objectListManager() const;
313 
314  virtual void setObjectModelsManager (DtObjectGeometricModelsManager*);
315  virtual DtObjectGeometricModelsManager* objectModelsManager();
316  virtual const DtObjectGeometricModelsManager* objectModelsManager() const;
317 
319  virtual void setScenarioEventManager (DtScenarioEventManager*);
320  virtual DtScenarioEventManager* scenarioEventManager();
321  virtual const DtScenarioEventManager* scenarioEventManager() const;
322 
324  virtual void setHazardAreaManager (DtHazardAreaManager*);
325  virtual DtHazardAreaManager* hazardAreaManager();
326  virtual const DtHazardAreaManager* hazardAreaManager() const;
327 
329  virtual void setIntelCollectionAreaManager (DtIntelCollectionAreaManager*);
330  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager();
331  virtual const DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
332 
334  virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager*);
335  virtual DtScriptedObjectsMovementManager* scriptedObjectsMovementManager();
336  virtual const DtScriptedObjectsMovementManager* scriptedObjectsMovementManager() const;
337 
341  virtual void setDetonationManager(DtDetonationServiceInterface* detonationManager);
342  virtual DtDetonationServiceInterface* detonationManager();
343  virtual const DtDetonationServiceInterface* detonationManager() const;
344 
346  virtual void setAmmunitionManager(DtAmmunitionManager* ammunitionManager);
347  virtual DtAmmunitionManager* ammunitionManager();
348 
354  virtual void setFireManager(DtFireManager* fireManager);
355  virtual DtFireManager* fireManager();
356  virtual const DtFireManager* fireManager() const;
357 
361 
362  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
363  virtual const DtGlobalPlanManager* globalPlanManager() const;
364  virtual DtGlobalPlanManager* globalPlanManager();
366 
368 
369  virtual void setStealthCommandsManager(DtStealthCommandsManager* planManager);
370  virtual const DtStealthCommandsManager* stealthCommandsManager() const;
371  virtual DtStealthCommandsManager* stealthCommandsManager();
373 
375 
376  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
377  virtual const DtHostilityManager* hostilityManager() const;
378  virtual DtHostilityManager* hostilityManager();
380 
382 
383  virtual void setEngagementZonesManager(DtEngagementZonesManager* manager);
384  virtual const DtEngagementZonesManager* engagementZonesManager() const;
385  virtual DtEngagementZonesManager* engagementZonesManager();
387 
389 
390  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
391  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
392  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
394 
397  void setCommunicationManager(DtCommunicationManager*);
398  DtCommunicationManager* communicationManager() const;
399  makVrfEvents::DtEventManager* eventManager() const;
400 
402  makVrf::DtStateDataManager* stateDataManager() const;
403 
405  virtual bool runFullyThreaded() const;
406 
409  virtual void addEvent(const makVrfEvents::DtEvent&);
410 
412 
414  virtual DtString nextEventId(const DtString& entityId);
415 
418 
419  virtual void setSimCommandDistributor(DtSimCommandDistributor* distributor);
420  virtual const DtSimCommandDistributor* simCommandDistributor() const;
421  virtual DtSimCommandDistributor* simCommandDistributor();
423 
426 
427  virtual void setDebugDrawManager(DtDebugDrawManager* debugDrawManager);
428  virtual const DtDebugDrawManager* debugDrawManager() const;
429  virtual DtDebugDrawManager* debugDrawManager();
431 
433 
434  virtual void setObjectParametersDB(const DtVrfParameterDb*);
435  virtual const DtVrfParameterDb* objectParametersDB() const;
437 
439 
440  virtual void setObjectConsoleManager(DtObjectConsoleManager*);
441  virtual const DtObjectConsoleManager* objectConsoleManager() const;
442  virtual DtObjectConsoleManager* objectConsoleManager();
444 
446 
447  virtual void setAisDataManager(DtAisDataServiceInterface*);
448  virtual const DtAisDataServiceInterface* aisDataManager() const;
449  virtual DtAisDataServiceInterface* aisDataManager();
451 
453 
454  virtual void setAdsbDataManager(DtAdsbDataServiceInterface*);
455  virtual const DtAdsbDataServiceInterface* adsbDataManager() const;
456  virtual DtAdsbDataServiceInterface* adsbDataManager();
458 
461  virtual void setScenarioRunId(int);
462  virtual int scenarioRunId() const;
463 
465  virtual void setRejectMismatchedScenarioMessages(bool);
466  virtual bool rejectMismatchedScenarioMessages() const;
467 
470  virtual bool rejectMessage(const DtVrfObjectMessage*) const;
471 
473  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
474 
477  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
478  void* usrData);
479 
480  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
481  void* usrData);
482 
488 
489  virtual DtU32 scenarioCapabilities() const;
490  virtual void setScenarioCapabilities(DtU32 v);
492 
496 
497  virtual DtVrfMessageInterface* messageInterface() const;
498  virtual DtInterfaceMessageExecutive* messageExecutive();
499 
501  virtual DtVrfTDLMessageInterface* tdlMessageInterface() const;
502 
505  static void TickFunction(void* userData);
506 
510  virtual void registerInterfaceCallbacks();
511 
514  virtual const DtSimulationAddress& messageAddress() const;
515 
517  static void randSeedCallback(DtSimMessage* msg, void* usr);
518 
520  virtual unsigned long sequenceNumber();
521 
524  virtual void setSequenceNumber(unsigned long sequenceNumber);
525 
527  DtResourceMonitor* resourceMonitor();
528  void setResourceMonitor(DtResourceMonitor*);
529 
531  DtRadarCoverageMonitor* radarCoverageMonitor();
532  void setRadarCoverageMonitor(DtRadarCoverageMonitor*);
533 
535  DtTerrainProfileRequestManager* terrainProfileRequestManager();
536  void setTerrainProfileRequestManager(DtTerrainProfileRequestManager*);
537 
539  virtual int vrfSessionId() const;
540 
542  virtual int vrfMessageVersionSupported() const;
543 
546  virtual void runForDuration(double);
547  virtual double runDurationTime() const;
548 
550  virtual void stopSimulationDurationTimer();
551 
553  static void runDurationCompleteCallback(DtTimer*);
554  virtual void processRunDurationComplete();
555 
557  virtual void addSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
558  virtual void removeSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
559 
562  virtual void setMaxTasks(int);
563 
568  virtual void doNotSelfReflect(unsigned int);
569  virtual void selfReflect(unsigned int);
570 
572  const DtEnumDictionary* enumerationDictionary() const;
573 
575  virtual void clearEnumerations();
576 
578  virtual bool initializeEnumerations();
579 
581  virtual bool loadEnumerations(const DtFilename&);
582 
584  virtual DtFilename enumerationsFileDirectory() const;
585  virtual void setEnumerationsFileDirectory(const DtFilename& directory);
586 
589 
590  virtual void setSyncMatrixManager(DtSyncMatrixManager* SyncMatrixManager);
591  virtual const DtSyncMatrixManager* syncMatrixManager() const;
592  virtual DtSyncMatrixManager* syncMatrixManager();
594 
596  virtual DtVrfDatabaseLoggerInterface* databaseLogger();
598  virtual void setDatabaseLogger(DtVrfDatabaseLoggerInterface*);
600 
601 protected:
602  virtual void setupMessagesToNotSelfReflect();
603 
604 protected:
606  double myDT;
607 
624 
662 
664 
670 
674 
677 
678  tbb::spin_mutex myMutex;
679  double mySimTime;
680  tbb::atomic<int> myNextEventNumber;
681 
682 public:
685  VRF4API_METHOD const DtSimulationServices* exerciseClock() const;
687 };
688 
690 {
691  return myResourceMonitor;
692 }
693 
695 {
696  return myRadarCoverageMonitor;
697 }
698 
700 {
702 }
703 
705 {
706  myResourceMonitor = m;
707 }
708 
710 {
712 }
713 
715 {
717 }
718 
720 {
722 }
723 
725 {
726  return myPlanAdministrator;
727 }
728 
730 {
732 }
733 
735 {
737 }
738 
740 {
741  return myCommunicationManager;
742 }
743 
745 {
747 }
748 
750 {
751  return myObjectParametersDB;
752 }
753 
755 {
757 }
758 
760 {
761  return myObjectConsoleManager;
762 }
763 
765 {
766  return myObjectConsoleManager;
767 }
768 
769 inline void DtSimManager::setOrbatManager (DtOrbatManager* entityManager)
770 {
771  myOrbatManager = entityManager;
772 }
773 
775 {
776  return myOrbatManager;
777 }
778 
780 {
782 }
783 
785 {
786  return myObjectListManager;
787 }
788 
790 {
791  return myOrbatManager;
792 }
793 
795 {
796  myObjectModelsManager = entityManager;
797 }
798 
800 {
801  return myObjectModelsManager;
802 }
803 
805 {
806  return myObjectModelsManager;
807 }
808 
810 {
812 }
813 
815 {
817 }
818 
820 {
821  return myDatabaseLogger;
822 }
virtual DtSimInternalCommunicationManager * simInternalCommunicationManager() const
Definition: simManager.h:814
DtObjectConsoleManager * myObjectConsoleManager
Definition: simManager.h:656
DtTerrainProfileRequestManager * terrainProfileRequestManager()
Get/set terrain profile request manager.
Definition: simManager.h:699
Definition: simTerrainRequestManager.h:132
This class will be responsible for handling requests to return resources for a particular entity (or ...
Definition: resourceMonitor.h:54
Instances of class DtScheduler maintain a list of DtTimer objects. It ticks all timer objects each ti...
Definition: scheduler.h:22
DtFireManager * myFireManager
Definition: simManager.h:632
DtObjectGeometricModelsManager * myObjectModelsManager
Definition: simManager.h:648
The DtAmmunitionManager is a clas that will maintain ammunition (that which is not published...
Definition: ammunitionManager.h:17
DtDiGuyCharacterDataManager * diGuyCharacterManager() const
Definition: simManager.h:734
The DtVrfTDLMessageInterface is a transporter for sending TDL messages as data interactions using a V...
Definition: vrfTDLMessageInterface.h:37
Instances of DtTimer are used to maintain the information needed to represent some kind of scheduled ...
Definition: timer.h:38
DtGlobalPlanManager * myGlobalPlanManager
Definition: simManager.h:633
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:40
void setTerrainProfileRequestManager(DtTerrainProfileRequestManager *)
Definition: simManager.h:714
DtVrfDatabaseLoggerInterface * myDatabaseLogger
Definition: simManager.h:661
DtVrfMessageInterface * myMessageInterface
out message interface
Definition: simManager.h:620
void setResourceMonitor(DtResourceMonitor *)
Definition: simManager.h:704
Abstract interface class to the AIS data service. This service provides access to Automatic Identific...
Definition: aisDataServiceInterface.h:28
DtVrfSimSettingsManager * myVrfSimSettingsManager
Definition: simManager.h:617
Manage scripted tasks (primarily Lua tasks) known by VR-Forces.
Definition: scriptedTaskManager.h:76
Holds all radio networks (comm models, implemented by DtCommModel) for the current exercise...
Definition: commModelManager.h:26
The DtEventManager handles the sending and receipt of system events (fire, detonate, command, etc). It provides a thread-safe way for the sim engine to send and receive such events, between both components within this sim engine and other remote applications.
Definition: eventManager.h:33
DtSpawnSinkManager * mySpawnSinkManager
Definition: simManager.h:651
DtNoArgumentCallbackList mySimulationDurationCallbackList
Definition: simManager.h:668
DtU32 myScenarioCapabilities
Definition: simManager.h:673
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
Manages all of the spawn points, sink points, and spawn templates in the current scenario.
Definition: spawnSinkManager.h:24
The manager for SimInternal messages on a single simulation engine. This class manages the passing of...
Definition: simInternalCommunicationManager.h:28
DtEnumDictionary * myEnumDictionary
Definition: simManager.h:675
Maintains a list of enumerations read in from files. The dictionary supports two different types of e...
Definition: enumDictionary.h:98
The DtEngagementZonesManager will keep track of all the engagement zones and their state...
Definition: engagementZonesManager.h:20
DtManagedObjectListManager * myObjectListManager
Definition: simManager.h:647
DtVrfObjectPlanAdministrator * planAdministrator() const
Definition: simManager.h:724
Definition: radarCoverageMonitor.h:32
DtVrfSimOptionsInterface * mySimOptions
Definition: simManager.h:605
DtVrfCallbackQueue * myParallelQueue
Definition: simManager.h:649
Definition: terrainProfileRequestManager.h:31
DtDetonationServiceInterface * myDetonationManager
Definition: simManager.h:630
double myDT
Definition: simManager.h:606
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:32
DtSimInterfaceMessage is used to send a message to the front end or the back end. It derives from a s...
Definition: simInterfaceMessage.h:23
DtVrfNavAreaManager * myVrfNavAreaManager
Definition: simManager.h:650
DtSimCommandDistributor * mySimCommandDistributor
Definition: simManager.h:652
virtual DtOrbatManager * orbatManager()
Definition: simManager.h:774
This class handles all requests as they pertain to viewing or modifying the ORBAT.
Definition: orbatManager.h:30
The DtHazardAreaManager will keep track of all hazard area objects and their state. Hazard areas are predefined as part of this class. Call the add/remove methods to add or remove areas to watch.
Definition: hazardAreaManager.h:22
const DtVrfParameterDb * myObjectParametersDB
Definition: simManager.h:655
virtual void setObjectListManager(DtManagedObjectListManager *)
objectListManager() gives a pointer to the manager of object lists
Definition: simManager.h:779
DtEngagementZonesManager * myEngagementZonesManager
Definition: simManager.h:636
DtSimTerrainRequestManager * mySimTerrainRequestManager
Definition: simManager.h:628
The DtFireManager class exists to centralize the process of sending and receiving of fire interaction...
Definition: fireManager.h:42
The base class for database loggers. A database logger is responsible for logging database events int...
Definition: vrfDatabaseLoggerInterface.h:27
The synchronization matrix manager maintains the list of synchronization matrices. These are locally simulated objects that manage a list of phases where during each phase, scenario entities can be assigned with plans.
Definition: syncMatrixManager.h:40
virtual DtManagedObjectListManager * objectListManager() const
Definition: simManager.h:784
DtFrameRateMonitor * myFrameRateMonitor
Definition: simManager.h:616
This class keeps track of which forces are hostile to which other forces in the simulation. It maintains state for each force type, and which other forces types are considered hostile by that force. It can be queried for this data any time during the simulation. Supports force enumerations from 0 to 255.
Definition: hostilityManager.h:34
Debug Draw Manager (back end) that receive (DIS/HLA) messages from a VRF GUI and then connect to the ...
Definition: debugDrawManager.h:37
DtStealthCommandsManager * myStealthCommandsManager
Definition: simManager.h:634
DtScriptedTaskManager * myScriptedTaskManager
Definition: simManager.h:641
This class represents a collection of object consoles that will be used to manage streams for individ...
Definition: objectConsoleManager.h:31
virtual void setObjectConsoleManager(DtObjectConsoleManager *)
The object console manager.
Definition: simManager.h:754
tbb::spin_mutex myMutex
Definition: simManager.h:678
DtOrbatManager * myOrbatManager
Definition: simManager.h:646
DtNoArgumentCallbackList myTickList
The simulation back-end&#39;s clock. Note that this clock is different from the clock associated with the...
Definition: simManager.h:614
double mySimTime
Definition: simManager.h:679
virtual const DtObjectConsoleManager * objectConsoleManager() const
The object console manager.
Definition: simManager.h:759
Manages loading and destruction of the geometric models for objects. Will reference the object parame...
Definition: objectGeometricModelsManager.h:30
DtScenarioExtrasMgr * myScenarioExtrasMgr
Definition: simManager.h:637
DtCommunicationManager * myCommunicationManager
Definition: simManager.h:653
Definition: communicationManager.h:35
Abstract interface class to the ADSB data service. This service provides access to Automatic Dependen...
Definition: adsbDataServiceInterface.h:121
The scenario event manager will keep track of all scenario event objects and their state...
Definition: scenarioEventManager.h:36
DtCommModelManager * myCommModelManager
Definition: simManager.h:627
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:102
DtSimInternalCommunicationManager * mySimInternalCommunicationManager
Definition: simManager.h:657
DtSyncMatrixManager * mySyncMatrixManager
Definition: simManager.h:658
tbb::atomic< int > myNextEventNumber
Definition: simManager.h:680
Definition: event.h:13
DtEmbeddedEntityInfoManager is the central point for information about embedded entities and their ca...
Definition: embeddedEntityInfoManager.h:36
The DtVrfNavAreaManager manages all of the nav areas currently created in the sim.
Definition: vrfNavAreaManager.h:52
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
DtNoArgumentCallbackList myPostTickList
Definition: simManager.h:615
File: simMsg.h.
Definition: simMessage.h:35
Contains data describing the available attributes and animations for each DI-Guy character type...
Definition: diGuyCharacterDataManager.h:33
virtual void setObjectModelsManager(DtObjectGeometricModelsManager *)
Definition: simManager.h:794
This class works just as DtCalllbackTable, but manages callbacks that have no arguments, and therefore don&#39;t fit in the template defined by DtCallbackList.
Definition: noArgumentCallbackList.h:151
DtIntelCollectionAreaManager * myIntelCollectionAreaManager
Definition: simManager.h:644
DtScenarioEventManager * myScenarioEventManager
Definition: simManager.h:642
DtScriptedObjectsMovementManager * myScriptedObjectsMovementManager
Definition: simManager.h:645
DtAisDataServiceInterface * myAisDataManager
Definition: simManager.h:659
DtDetonationPdu DtDetonationInteraction
Definition: DistributedSimulationDriver3A.h:14
DtSimObjectManager * mySimObjectManager
Definition: simManager.h:618
void(* DtSimTickFunction)(void *userData)
Function signature for tick functions registered with the DtSimManager.
Definition: simManager.h:107
DtVrfSimSettingsManager is a subclass of DtVrfSettingsManager. Please see the documentation on that c...
Definition: vrfSimSettingsManager.h:33
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
virtual DtVrfDatabaseLoggerInterface * databaseLogger()
The interface to the VRF database logger.
Definition: simManager.h:819
Contains the DtInterfaceMessageExecutive class declaration.
Definition: interfaceMessageExecutive.h:20
DtCommunicationManager * communicationManager() const
Communication manager accessor.
Definition: simManager.h:739
DtPhysicalWorld * myPhysicalWorld
Objects we hold pointers onto for others.
Definition: simManager.h:626
The intel collection area manager will keep track of all Intel Collection area objects and their stat...
Definition: intelCollectionAreaManager.h:20
The DtVrfObjectPlanAdministrator performs plan-related tasks that must be done in a centralized manne...
Definition: vrfObjectPlanAdministrator.h:44
virtual void setSimInternalCommunicationManager(DtSimInternalCommunicationManager *)
simInternalCommunicationManager() gives pointer to the internal communication manager ...
Definition: simManager.h:809
bool myRejectMismatchedScenarioMessages
Definition: simManager.h:672
This class defines a manager whose job it is to read the extra scenario data in the ...
Definition: scenarioExtrasMgr.h:26
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
This class is the central access point for all current-frame state of all objects in the simulation i...
Definition: simObjectManager.h:42
virtual const DtVrfParameterDb * objectParametersDB() const
The object parameters database.
Definition: simManager.h:749
void setPlanAdministrator(DtVrfObjectPlanAdministrator *entityManager)
Definition: simManager.h:719
DtRadarCoverageMonitor * myRadarCoverageMonitor
Definition: simManager.h:639
Responsible for maintaining and executing stealth commands. The stealth commands are of the format (i...
Definition: stealthCommandsManager.h:35
DtDiGuyCharacterDataManager * myDiGuyCharacterManager
Definition: simManager.h:623
Note that this class is not thread safe. Only call from the main thread.
Definition: frameRateMonitor.h:29
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
double simTimeScale() const
Definition: simManager.h:228
virtual void setObjectParametersDB(const DtVrfParameterDb *)
The object parameters database.
Definition: simManager.h:744
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:124
DtAdsbDataServiceInterface * myAdsbDataManager
Definition: simManager.h:660
virtual DtObjectGeometricModelsManager * objectModelsManager()
Definition: simManager.h:799
Service which provides managed lists of simulation objects that are filtered based on a given predica...
Definition: managedObjectListManager.h:22
double myRunDurationTime
Definition: simManager.h:669
Definition: simInterfaceContent.h:45
DtVrfObjectPlanAdministrator * myPlanAdministrator
Definition: simManager.h:622
DtRadarCoverageMonitor * radarCoverageMonitor()
Get/set radarCoverage monitor.
Definition: simManager.h:694
DtVrfTDLMessageInterface * myTDLMessageInterface
Definition: simManager.h:621
DtHazardAreaManager * myHazardAreaManager
Definition: simManager.h:643
void setRadarCoverageMonitor(DtRadarCoverageMonitor *)
Definition: simManager.h:709
The global plan manager maintains the list of &quot;Global Plans.&quot; These are plans that are not specific t...
Definition: globalPlanManager.h:45
int myScenarioRunId
Definition: simManager.h:671
DtFilename myEnumsFileDirectory
Definition: simManager.h:676
void setDiGuyCharacterManager(DtDiGuyCharacterDataManager *entityManager)
Definition: simManager.h:729
DtSimulationServices * mySimulationServices
Definition: simManager.h:663
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:22
Abstract interface class to the detonation service. This service provides information about detonatio...
Definition: detonationServiceInterface.h:34
DtResourceMonitor * myResourceMonitor
Definition: simManager.h:638
DtTerrainProfileRequestManager * myTerrainProfileRequestManager
Definition: simManager.h:640
DtResourceMonitor * resourceMonitor()
Get/set resource monitor.
Definition: simManager.h:689
DtAmmunitionManager * myAmmunitionManager
Definition: simManager.h:631
Contains the DtSimCommandDistributor class declaration.
Definition: simCommandDistributor.h:24
DtEmbeddedEntityInfoManager * myEmbeddedEntityInfoManager
Definition: simManager.h:629
#define DT_DLL_vrfcore
This file is used to determine how to build.
Definition: vrfcoreDefines.h:25
void(* DtRunDurationCallbackFcn)(void *userData)
Definition: simManager.h:108
The scripted objects movement manager contains a list of all scripted movement objects that can be us...
Definition: scriptedObjectsMovementManager.h:22
DtCallbackList< DtSimMessage * >::DtCallbackFunctionType DtMessageCallbackFcn
Message callback function signature.
Definition: messageExecutive.h:21
virtual void setOrbatManager(DtOrbatManager *)
orbatManager() provides access to all the orbat items in the system
Definition: simManager.h:769
DtDebugDrawManager * myDebugDrawManager
Definition: simManager.h:654
Definition: vrfMessageInterface.h:40
DtTimer * mySimulationDurationTimer
If non-null this scenario is only scheduled to run for the given amount of time delta from the curren...
Definition: simManager.h:667
DtHostilityManager * myHostilityManager
Definition: simManager.h:635
DtScheduler * myScheduler
Objects we create.
Definition: simManager.h:609
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)