13 #include <vlutil/vlTime.h>
16 #include <matrix/vlVector.h>
17 #include <tbb/spin_mutex.h>
26 class DtThreadMessageList;
43 class DtEchelonRoleName;
60 class DtScriptedObjects;
93 class DtStateDataManager;
96 namespace makVrfEvents
101 class DtFireInteraction;
102 class DtDataInteraction;
103 class DtCommentInteraction;
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();
182 virtual bool createAndDeliverMessage(
183 const DtSimulationAddress& recipient,
185 bool overrideTimestampOrder =
true,
186 bool sendImmediately =
false)
const;
197 virtual void removeTickEntry(
DtSimTickFunction tickFunction,
void* userData)
const;
203 virtual void addPostTickEntry(
DtSimTickFunction tickFunction,
void* userData)
const;
204 virtual void removePostTickEntry(
DtSimTickFunction tickFunction,
void* userData)
const;
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;
230 virtual void setSimTime(
double d);
231 virtual void setTimeMultiplier(
double d);
234 virtual void setExerciseStartTime(
double);
235 virtual double exerciseTime()
const;
236 virtual double exerciseStartTime()
const;
247 virtual void pause();
304 virtual void sendServerMessage(
const DtString&,
int severity = DtNlWarn,
const DtSimulationAddress& addr = DtSimSendToAll);
405 virtual bool runFullyThreaded()
const;
461 virtual void setScenarioRunId(
int);
462 virtual int scenarioRunId()
const;
465 virtual void setRejectMismatchedScenarioMessages(
bool);
466 virtual bool rejectMismatchedScenarioMessages()
const;
489 virtual DtU32 scenarioCapabilities()
const;
490 virtual void setScenarioCapabilities(DtU32 v);
505 static void TickFunction(
void* userData);
510 virtual void registerInterfaceCallbacks();
514 virtual const DtSimulationAddress& messageAddress()
const;
517 static void randSeedCallback(
DtSimMessage* msg,
void* usr);
520 virtual unsigned long sequenceNumber();
524 virtual void setSequenceNumber(
unsigned long sequenceNumber);
539 virtual int vrfSessionId()
const;
542 virtual int vrfMessageVersionSupported()
const;
546 virtual void runForDuration(
double);
547 virtual double runDurationTime()
const;
550 virtual void stopSimulationDurationTimer();
553 static void runDurationCompleteCallback(
DtTimer*);
554 virtual void processRunDurationComplete();
562 virtual void setMaxTasks(
int);
568 virtual void doNotSelfReflect(
unsigned int);
569 virtual void selfReflect(
unsigned int);
575 virtual void clearEnumerations();
578 virtual bool initializeEnumerations();
581 virtual bool loadEnumerations(
const DtFilename&);
584 virtual DtFilename enumerationsFileDirectory()
const;
585 virtual void setEnumerationsFileDirectory(
const DtFilename& directory);
602 virtual void setupMessagesToNotSelfReflect();
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'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
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 "physical" 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
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'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
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 "Global Plans." 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