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 
14 
16 
17 #include <vrfutil/vrf4XAPI.h>
18 
20 #include <matrix/vlVector.h>
21 
22 #include <vlutil/vlTime.h>
23 
26 
28 #include <tbb/spin_mutex.h>
31 
32 
35 class DtPhysicalWorld;
36 class DtCommModelManager;
37 class DtThreadSocket;
38 class DtThreadMessageList;
39 class DtFrameRateMonitor;
40 class DtResourceMonitor;
43 class DtVrfObjectMessage;
45 class DtSimObjectManager;
51 
54 class DtEntityType;
55 class DtEchelonRoleName;
56 class DtString;
57 class DtList;
59 class DtEntityType;
61 
65 class DtScheduler;
66 class DtDebugDrawManager;
72 class DtScriptedObjects;
75 class DtFireManager;
81 class DtHostilityManager;
84 class DtTimer;
88 class DtVrfCallbackQueue;
91 class DtSpawnSinkManager;
94 class DtSimImguiThread;
95 class DtVrfParameterDb;
97 class DtOrbatManager;
98 class DtEnumDictionary;
103 
104 namespace makVrf
105 {
106  class DtStateDataManager;
107 }
108 
109 namespace makVrfEvents
110 {
111  class DtEventManager;
112  class DtEvent;
114  class DtFireInteraction;
115  class DtDataInteraction;
116  class DtCommentInteraction;
117 }
118 
120 typedef void (*DtSimTickFunction)(void* userData);
121 typedef void (*DtRunDurationCallbackFcn)(void* userData);
122 
136 #include "vrfcore/vrfcoreDefines.h"
138 {
139 public:
140 
143 
145  virtual ~DtSimManager();
146 
147 private:
148 
151  DtSimManager(const DtSimManager& orig);
152 
155  DtSimManager& operator=(const DtSimManager& orig);
156 
157 public:
158 
163  virtual bool init();
164 
166  virtual const DtVrfSimOptionsInterface* simOptions() const;
167 
169  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
170 
171  virtual bool createScheduler();
172  virtual bool createMessageInterface();
173  virtual bool createTDLMessageInterface();
174  virtual bool createFrameRateMonitor();
176  virtual bool createVrfSimSettingsManager();
177  virtual bool createParallelQueue();
178  virtual bool createDatabaseLogger();
179 
183  virtual bool beginFrame(DtCommunicationManagerPerformanceTimerInformation* info = nullptr);
184 
186  virtual void tick();
187 
189  virtual bool advanceFrame(DtCommunicationManagerPerformanceTimerInformation* timerInformation = nullptr);
190 
191  virtual bool deliverMessage(const DtSimInterfaceMessage& msg);
192 
193  virtual bool receiveMessage(const DtSimInterfaceMessage& msg);
194 
195  virtual bool createAndDeliverMessage(
196  const DtSimulationAddress& recipient,
197  const DtSimInterfaceContent & content,
198  bool overrideTimestampOrder = true,
199  bool sendImmediately = false) const;
200 
202  virtual bool allowInfiniteObjects() const;
203 
211 
212  virtual void addTickEntry(DtSimTickFunction tickFunction, void* userData) const;
213  virtual void removeTickEntry(DtSimTickFunction tickFunction, void* userData) const;
215 
219  virtual void addPostTickEntry(DtSimTickFunction tickFunction, void* userData) const;
220  virtual void removePostTickEntry(DtSimTickFunction tickFunction, void* userData) const;
222 
227  virtual DtFrameRateMonitor* frameRateMonitor();
228 
231  virtual DtVrfCallbackQueue* parallelQueue();
232 
234  virtual DtScheduler* scheduler();
235 
237  virtual bool canTransferObjects() const;
238 
240  virtual double simTime() const;
241  virtual double dT() const;
242  virtual double elapsedRealTime() const;
243  virtual double absRealTime() const;
244  virtual double approximateElapsedRealTime() const;
245  virtual bool isPaused() const;
246  virtual double timeMultiplier() const;
247  double simTimeScale() const { return timeMultiplier(); };
248 
249  virtual void setObjectNavDataPaths(const DtReaderWriter::SearchPaths&);
250  virtual const DtReaderWriter::SearchPaths& objectNavDataPaths() const;
251 
252  virtual void setSimTime(double d);
253  virtual void setTimeMultiplier(double d);
254 
256  virtual void setExerciseStartTime(double);
257  virtual double exerciseTime() const;
258  virtual double exerciseStartTime() const;
259 
262 
263  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
264  virtual DtPhysicalWorld* physicalWorld();
265  virtual const DtPhysicalWorld* physicalWorld() const;
267 
269  virtual void pause();
270  virtual void run();
271 
272  virtual DtSimulationServices* simulationServices();
273  virtual const DtSimulationServices* simulationServices() const;
274 
275  virtual DtSimImguiThread* simImguiManager();
276  virtual const DtSimImguiThread* simImguiManager() const;
277 
279 
280  virtual void setCommModelManager(DtCommModelManager* newCommModelManager);
281  virtual DtCommModelManager* commModelManager();
282  virtual const DtCommModelManager* commModelManager() const;
284 
286 
287  virtual void setSimTerrainRequestManager(DtSimTerrainRequestManager* newSimTerrainRequestManager);
288  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
289  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
291 
293  virtual void setSimObjectManager (DtSimObjectManager* entityManager);
294  virtual const DtSimObjectManager* simObjectManager() const;
295  virtual DtSimObjectManager* simObjectManager();
296 
297  void setPlanAdministrator (DtVrfObjectPlanAdministrator* entityManager);
298  DtVrfObjectPlanAdministrator* planAdministrator() const;
299 
300  void setDiGuyCharacterManager (DtDiGuyCharacterDataManager* entityManager);
301  DtDiGuyCharacterDataManager* diGuyCharacterManager() const;
302 
303  virtual void setVrfNavAreaManager(DtVrfNavAreaManager* navAreaManager);
304  virtual DtVrfNavAreaManager* vrfNavAreaManager();
305  virtual const DtVrfNavAreaManager* vrfNavAreaManager() const;
306 
307  virtual void setSpawnSinkManager(DtSpawnSinkManager* spawnSinkManager);
308  virtual DtSpawnSinkManager* spawnSinkManager();
309  virtual const DtSpawnSinkManager* spawnSinkManager() const;
310 
314  virtual void setEmbeddedEntityInfoManager(DtEmbeddedEntityInfoManager* eeInfManager);
315  virtual DtEmbeddedEntityInfoManager* embeddedEntityInfoManager();
316  virtual const DtEmbeddedEntityInfoManager* embeddedEntityInfoManager() const;
317 
319  virtual void setScriptedTaskManager (DtScriptedTaskManager*);
320  virtual DtScriptedTaskManager* scriptedTaskManager();
321  virtual const DtScriptedTaskManager* scriptedTaskManager() const;
322 
324  virtual void setOrbatManager (DtOrbatManager*);
325  virtual DtOrbatManager* orbatManager();
326  virtual const DtOrbatManager* orbatManager() const;
327 
329  virtual void sendServerMessage(const DtString&, int severity = DtNlWarn, const DtSimulationAddress& addr = DtSimSendToAll);
330 
332  virtual void setSimInternalCommunicationManager(DtSimInternalCommunicationManager*);
333  virtual DtSimInternalCommunicationManager* simInternalCommunicationManager() const;
334 
336  virtual void setObjectListManager(DtManagedObjectListManager*);
337  virtual DtManagedObjectListManager* objectListManager() const;
338 
339  virtual void setObjectModelsManager (DtObjectGeometricModelsManager*);
340  virtual DtObjectGeometricModelsManager* objectModelsManager();
341  virtual const DtObjectGeometricModelsManager* objectModelsManager() const;
342 
344  virtual void setScenarioEventManager (DtScenarioEventManager*);
345  virtual DtScenarioEventManager* scenarioEventManager();
346  virtual const DtScenarioEventManager* scenarioEventManager() const;
347 
349  virtual void setHazardAreaManager (DtHazardAreaManager*);
350  virtual DtHazardAreaManager* hazardAreaManager();
351  virtual const DtHazardAreaManager* hazardAreaManager() const;
352 
354  virtual void setIntelCollectionAreaManager (DtIntelCollectionAreaManager*);
355  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager();
356  virtual const DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
357 
359  virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager*);
360  virtual DtScriptedObjectsMovementManager* scriptedObjectsMovementManager();
361  virtual const DtScriptedObjectsMovementManager* scriptedObjectsMovementManager() const;
362 
366  virtual void setDetonationManager(DtDetonationServiceInterface* detonationManager);
367  virtual DtDetonationServiceInterface* detonationManager();
368  virtual const DtDetonationServiceInterface* detonationManager() const;
369 
371  virtual void setAmmunitionManager(DtAmmunitionManager* ammunitionManager);
372  virtual DtAmmunitionManager* ammunitionManager();
373 
379  virtual void setFireManager(DtFireManager* fireManager);
380  virtual DtFireManager* fireManager();
381  virtual const DtFireManager* fireManager() const;
382 
386 
387  virtual void setGlobalPlanManager(DtGlobalPlanManager* planManager);
388  virtual const DtGlobalPlanManager* globalPlanManager() const;
389  virtual DtGlobalPlanManager* globalPlanManager();
391 
393 
394  virtual void setStealthCommandsManager(DtStealthCommandsManager* planManager);
395  virtual const DtStealthCommandsManager* stealthCommandsManager() const;
396  virtual DtStealthCommandsManager* stealthCommandsManager();
398 
400 
401  virtual void setHostilityManager(DtHostilityManager* hostilityManager);
402  virtual const DtHostilityManager* hostilityManager() const;
403  virtual DtHostilityManager* hostilityManager();
405 
407 
408  virtual void setEngagementZonesManager(DtEngagementZonesManager* manager);
409  virtual const DtEngagementZonesManager* engagementZonesManager() const;
410  virtual DtEngagementZonesManager* engagementZonesManager();
412 
414 
415  virtual void setScenarioExtrasMgr(DtScenarioExtrasMgr* scenarioExtrasMgr);
416  virtual const DtScenarioExtrasMgr* scenarioExtrasMgr() const;
417  virtual DtScenarioExtrasMgr* scenarioExtrasMgr();
419 
422  void setCommunicationManager(DtCommunicationManager*);
423  DtCommunicationManager* communicationManager() const;
424  makVrfEvents::DtEventManager* eventManager() const;
425 
427  makVrf::DtStateDataManager* stateDataManager() const;
428 
430  virtual bool runFullyThreaded() const;
431 
434  virtual void addEvent(const makVrfEvents::DtEvent&);
435 
437 
439  virtual DtString nextEventId(const DtString& entityId);
440 
443 
444  virtual void setSimCommandDistributor(DtSimCommandDistributor* distributor);
445  virtual const DtSimCommandDistributor* simCommandDistributor() const;
446  virtual DtSimCommandDistributor* simCommandDistributor();
448 
451 
452  virtual void setDebugDrawManager(DtDebugDrawManager* debugDrawManager);
453  virtual const DtDebugDrawManager* debugDrawManager() const;
454  virtual DtDebugDrawManager* debugDrawManager();
456 
458 
459  virtual void setObjectParametersDB(const DtVrfParameterDb*);
460  virtual const DtVrfParameterDb* objectParametersDB() const;
462 
464 
465  virtual void setObjectConsoleManager(DtObjectConsoleManager*);
466  virtual const DtObjectConsoleManager* objectConsoleManager() const;
467  virtual DtObjectConsoleManager* objectConsoleManager();
469 
471 
472  virtual void setAisDataManager(DtAisDataServiceInterface*);
473  virtual const DtAisDataServiceInterface* aisDataManager() const;
474  virtual DtAisDataServiceInterface* aisDataManager();
476 
478 
479  virtual void setAdsbDataManager(DtAdsbDataServiceInterface*);
480  virtual const DtAdsbDataServiceInterface* adsbDataManager() const;
481  virtual DtAdsbDataServiceInterface* adsbDataManager();
483 
486  virtual void setScenarioRunId(int);
487  virtual int scenarioRunId() const;
488 
490  virtual void setRejectMismatchedScenarioMessages(bool);
491  virtual bool rejectMismatchedScenarioMessages() const;
492 
495  virtual bool rejectMessage(const DtVrfObjectMessage*) const;
496 
498  virtual DtVrfSimSettingsManager* vrfSimSettingsManager();
499 
502  virtual void addMessageCallback(int type, DtMessageCallbackFcn fcn,
503  void* usrData);
504 
505  virtual void removeMessageCallback(int type, DtMessageCallbackFcn fcn,
506  void* usrData);
507 
513 
514  virtual DtU32 scenarioCapabilities() const;
515  virtual void setScenarioCapabilities(DtU32 v);
517 
521 
522  virtual DtVrfMessageInterface* messageInterface() const;
523  virtual DtInterfaceMessageExecutive* messageExecutive();
524 
526  virtual DtVrfTDLMessageInterface* tdlMessageInterface() const;
527 
530  static void TickFunction(void* userData);
531 
535  virtual void registerInterfaceCallbacks();
536 
539  virtual const DtSimulationAddress& messageAddress() const;
540 
542  static void randSeedCallback(DtSimMessage* msg, void* usr);
543 
545  virtual unsigned long sequenceNumber();
546 
549  virtual void setSequenceNumber(unsigned long sequenceNumber);
550 
552  DtResourceMonitor* resourceMonitor();
553  void setResourceMonitor(DtResourceMonitor*);
554 
556  DtRadarCoverageMonitor* radarCoverageMonitor();
557  void setRadarCoverageMonitor(DtRadarCoverageMonitor*);
558 
560  DtTerrainProfileRequestManager* terrainProfileRequestManager();
561  void setTerrainProfileRequestManager(DtTerrainProfileRequestManager*);
562 
564  virtual int vrfSessionId() const;
565 
567  virtual int vrfMessageVersionSupported() const;
568 
571  virtual void runForDuration(double);
572  virtual double runDurationTime() const;
573 
575  virtual void stopSimulationDurationTimer();
576 
578  static void runDurationCompleteCallback(DtTimer*);
579  virtual void processRunDurationComplete();
580 
582  virtual void addSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
583  virtual void removeSimulationRunDurationCallback(DtRunDurationCallbackFcn tickFunction, void* userData);
584 
587  virtual void setMaxTasks(int);
588 
593  virtual void doNotSelfReflect(unsigned int);
594  virtual void selfReflect(unsigned int);
595 
597  const DtEnumDictionary* enumerationDictionary() const;
598 
600  virtual void clearEnumerations();
601 
603  virtual bool initializeEnumerations();
604 
606  virtual bool loadEnumerations(const DtFilename&);
607 
609  virtual DtFilename enumerationsFileDirectory() const;
610  virtual void setEnumerationsFileDirectory(const DtFilename& directory);
611 
614 
615  virtual void setSyncMatrixManager(DtSyncMatrixManager* SyncMatrixManager);
616  virtual const DtSyncMatrixManager* syncMatrixManager() const;
617  virtual DtSyncMatrixManager* syncMatrixManager();
619 
621  virtual DtVrfDatabaseLoggerInterface* databaseLogger();
623  virtual void setDatabaseLogger(DtVrfDatabaseLoggerInterface*);
625 
626  static void setBlockOnAsynchronousOperations(bool shouldBlock);
627  static bool blockOnAsynchronousOperations();
628 protected:
629  virtual void setupMessagesToNotSelfReflect();
630 
631 protected:
633  double myDT;
634 
651 
689 
691 
693 
700 
704 
705  DtEnumDictionary* myEnumDictionary;
707 
708  tbb::spin_mutex myMutex;
709  double mySimTime;
710  std::atomic<int> myNextEventNumber;
711 
713 
714 public:
717  VRF4API_METHOD const DtSimulationServices* exerciseClock() const;
719 };
720 
722 {
723  return myResourceMonitor;
724 }
725 
727 {
728  return myRadarCoverageMonitor;
729 }
730 
732 {
734 }
735 
737 {
738  myResourceMonitor = m;
739 }
740 
742 {
744 }
745 
747 {
749 }
750 
752 {
754 }
755 
757 {
758  return myPlanAdministrator;
759 }
760 
762 {
764 }
765 
767 {
769 }
770 
772 {
773  return myCommunicationManager;
774 }
775 
777 {
779 }
780 
782 {
783  return myObjectParametersDB;
784 }
785 
787 {
789 }
790 
792 {
793  return myObjectConsoleManager;
794 }
795 
797 {
798  return myObjectConsoleManager;
799 }
800 
801 inline void DtSimManager::setOrbatManager (DtOrbatManager* entityManager)
802 {
803  myOrbatManager = entityManager;
804 }
805 
807 {
808  return myOrbatManager;
809 }
810 
812 {
814 }
815 
817 {
818  return myObjectListManager;
819 }
820 
822 {
823  return myOrbatManager;
824 }
825 
827 {
828  myObjectModelsManager = entityManager;
829 }
830 
832 {
833  return myObjectModelsManager;
834 }
835 
837 {
838  return myObjectModelsManager;
839 }
840 
842 {
844 }
845 
847 {
849 }
850 
852 {
853  return myDatabaseLogger;
854 }
855 
857 {
858  return myObjectNavDataPaths;
859 }
860 
862 {
864 }
virtual DtSimInternalCommunicationManager * simInternalCommunicationManager() const
Definition: simManager.h:846
DtObjectConsoleManager * myObjectConsoleManager
Definition: simManager.h:683
DtTerrainProfileRequestManager * terrainProfileRequestManager()
Get/set terrain profile request manager.
Definition: simManager.h:731
Definition: simTerrainRequestManager.h:137
This class will be responsible for handling requests to return resources for a particular entity (or ...
Definition: resourceMonitor.h:60
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:659
DtSimImguiThread * mySimImguiManager
Definition: simManager.h:692
DtObjectGeometricModelsManager * myObjectModelsManager
Definition: simManager.h:675
The DtAmmunitionManager is a clas that will maintain ammunition (that which is not published...
Definition: ammunitionManager.h:17
DtDiGuyCharacterDataManager * diGuyCharacterManager() const
Definition: simManager.h:766
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:660
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:41
void setTerrainProfileRequestManager(DtTerrainProfileRequestManager *)
Definition: simManager.h:746
DtVrfDatabaseLoggerInterface * myDatabaseLogger
Definition: simManager.h:688
DtVrfMessageInterface * myMessageInterface
out message interface
Definition: simManager.h:647
void setResourceMonitor(DtResourceMonitor *)
Definition: simManager.h:736
DtReaderWriter::SearchPaths myObjectNavDataPaths
Definition: simManager.h:699
Abstract interface class to the AIS data service. This service provides access to Automatic Identific...
Definition: aisDataServiceInterface.h:28
DtVrfSimSettingsManager * myVrfSimSettingsManager
Definition: simManager.h:644
Manage scripted tasks (primarily Lua tasks) known by VR-Forces.
Definition: scriptedTaskManager.h:76
virtual const DtReaderWriter::SearchPaths & objectNavDataPaths() const
Definition: simManager.h:856
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:678
DtNoArgumentCallbackList mySimulationDurationCallbackList
Definition: simManager.h:697
DtU32 myScenarioCapabilities
Definition: simManager.h:703
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:705
The DtEngagementZonesManager will keep track of all the engagement zones and their state...
Definition: engagementZonesManager.h:20
static bool theBlockOnAsynchronousOperations
Definition: simManager.h:712
DtManagedObjectListManager * myObjectListManager
Definition: simManager.h:674
DtVrfObjectPlanAdministrator * planAdministrator() const
Definition: simManager.h:756
Definition: radarCoverageMonitor.h:30
DtVrfSimOptionsInterface * mySimOptions
Definition: simManager.h:632
DtVrfCallbackQueue * myParallelQueue
Definition: simManager.h:676
Definition: terrainProfileRequestManager.h:31
DtDetonationServiceInterface * myDetonationManager
Definition: simManager.h:657
double myDT
Definition: simManager.h:633
Simple asynchronous callback queue.
Definition: vrfCallbackQueue.h:29
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:677
DtSimCommandDistributor * mySimCommandDistributor
Definition: simManager.h:679
virtual DtOrbatManager * orbatManager()
Definition: simManager.h:806
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:682
virtual void setObjectListManager(DtManagedObjectListManager *)
objectListManager() gives a pointer to the manager of object lists
Definition: simManager.h:811
DtEngagementZonesManager * myEngagementZonesManager
Definition: simManager.h:663
DtSimTerrainRequestManager * mySimTerrainRequestManager
Definition: simManager.h:655
The DtFireManager class exists to centralize the process of sending and receiving of fire interaction...
Definition: fireManager.h:43
The base class for database loggers. A database logger is responsible for logging database events int...
Definition: vrfDatabaseLoggerInterface.h:29
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:816
DtFrameRateMonitor * myFrameRateMonitor
Definition: simManager.h:643
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:39
DtStealthCommandsManager * myStealthCommandsManager
Definition: simManager.h:661
DtScriptedTaskManager * myScriptedTaskManager
Definition: simManager.h:668
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:786
tbb::spin_mutex myMutex
Definition: simManager.h:708
DtOrbatManager * myOrbatManager
Definition: simManager.h:673
DtNoArgumentCallbackList myTickList
The simulation back-end&#39;s clock. Note that this clock is different from the clock associated with the...
Definition: simManager.h:641
double mySimTime
Definition: simManager.h:709
virtual const DtObjectConsoleManager * objectConsoleManager() const
The object console manager.
Definition: simManager.h:791
Manages loading and destruction of the geometric models for objects. Will reference the object parame...
Definition: objectGeometricModelsManager.h:34
DtScenarioExtrasMgr * myScenarioExtrasMgr
Definition: simManager.h:664
DtCommunicationManager * myCommunicationManager
Definition: simManager.h:680
Definition: communicationManager.h:38
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:654
The DtPhysicalWorld is the primary interface to and manager of all of the &quot;physical&quot; aspects of the s...
Definition: physicalWorld.h:112
DtSimInternalCommunicationManager * mySimInternalCommunicationManager
Definition: simManager.h:684
DtSyncMatrixManager * mySyncMatrixManager
Definition: simManager.h:685
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:65
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
DtNoArgumentCallbackList myPostTickList
Definition: simManager.h:642
std::atomic< int > myNextEventNumber
Definition: simManager.h:710
File: simMsg.h.
Definition: simMessage.h:35
virtual void setObjectNavDataPaths(const DtReaderWriter::SearchPaths &)
Definition: simManager.h:861
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:826
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
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtIntelCollectionAreaManager * myIntelCollectionAreaManager
Definition: simManager.h:671
DtScenarioEventManager * myScenarioEventManager
Definition: simManager.h:669
DtScriptedObjectsMovementManager * myScriptedObjectsMovementManager
Definition: simManager.h:672
DtAisDataServiceInterface * myAisDataManager
Definition: simManager.h:686
DtDetonationPdu DtDetonationInteraction
Definition: DistributedSimulationDriver3A.h:14
DtSimObjectManager * mySimObjectManager
Definition: simManager.h:645
void(* DtSimTickFunction)(void *userData)
Function signature for tick functions registered with the DtSimManager.
Definition: simManager.h:120
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:851
Contains the DtInterfaceMessageExecutive class declaration.
Definition: interfaceMessageExecutive.h:20
DtCommunicationManager * communicationManager() const
Communication manager accessor.
Definition: simManager.h:771
DtPhysicalWorld * myPhysicalWorld
Objects we hold pointers onto for others.
Definition: simManager.h:653
The top level IM GUI interface for a single thread of IM GUI rendering.
Definition: simImguiThread.h:20
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:841
bool myRejectMismatchedScenarioMessages
Definition: simManager.h:702
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:96
This class is the central access point for all current-frame state of all objects in the simulation i...
Definition: simObjectManager.h:32
virtual const DtVrfParameterDb * objectParametersDB() const
The object parameters database.
Definition: simManager.h:781
void setPlanAdministrator(DtVrfObjectPlanAdministrator *entityManager)
Definition: simManager.h:751
DtRadarCoverageMonitor * myRadarCoverageMonitor
Definition: simManager.h:666
Responsible for maintaining and executing stealth commands. The stealth commands are of the format (i...
Definition: stealthCommandsManager.h:35
DtDiGuyCharacterDataManager * myDiGuyCharacterManager
Definition: simManager.h:650
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:247
virtual void setObjectParametersDB(const DtVrfParameterDb *)
The object parameters database.
Definition: simManager.h:776
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:137
DtAdsbDataServiceInterface * myAdsbDataManager
Definition: simManager.h:687
virtual DtObjectGeometricModelsManager * objectModelsManager()
Definition: simManager.h:831
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:698
Definition: simInterfaceContent.h:45
DtVrfObjectPlanAdministrator * myPlanAdministrator
Definition: simManager.h:649
DtRadarCoverageMonitor * radarCoverageMonitor()
Get/set radarCoverage monitor.
Definition: simManager.h:726
DtVrfTDLMessageInterface * myTDLMessageInterface
Definition: simManager.h:648
DtHazardAreaManager * myHazardAreaManager
Definition: simManager.h:670
void setRadarCoverageMonitor(DtRadarCoverageMonitor *)
Definition: simManager.h:741
The global plan manager maintains the list of &quot;Global Plans.&quot; These are plans that are not specific t...
Definition: globalPlanManager.h:53
int myScenarioRunId
Definition: simManager.h:701
DtFilename myEnumsFileDirectory
Definition: simManager.h:706
void setDiGuyCharacterManager(DtDiGuyCharacterDataManager *entityManager)
Definition: simManager.h:761
DtSimulationServices * mySimulationServices
Definition: simManager.h:690
#define VRF4API_METHOD
Include this header file to allow for the definition/usage of the ability to mark something as deprec...
Definition: vrf4XAPI.h:23
Abstract interface class to the detonation service. This service provides information about detonatio...
Definition: detonationServiceInterface.h:34
DtResourceMonitor * myResourceMonitor
Definition: simManager.h:665
DtTerrainProfileRequestManager * myTerrainProfileRequestManager
Definition: simManager.h:667
DtResourceMonitor * resourceMonitor()
Get/set resource monitor.
Definition: simManager.h:721
DtAmmunitionManager * myAmmunitionManager
Definition: simManager.h:658
Contains the DtSimCommandDistributor class declaration.
Definition: simCommandDistributor.h:24
DtEmbeddedEntityInfoManager * myEmbeddedEntityInfoManager
Definition: simManager.h:656
#define DT_DLL_vrfcore
This file is used to determine how to build.
Definition: vrfcoreDefines.h:25
void(* DtRunDurationCallbackFcn)(void *userData)
Definition: simManager.h:121
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:801
DtDebugDrawManager * myDebugDrawManager
Definition: simManager.h:681
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:696
DtHostilityManager * myHostilityManager
Definition: simManager.h:662
DtScheduler * myScheduler
Objects we create.
Definition: simManager.h:636
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)