VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
DtSimManager Class Reference

The simulation engine is controlled by a single,top-level class called the Simulation Manager. All the objects in the simulation backend are owned by the Simulation Manager. The Simulation Manager will be called via a tick() member function once each simulation frame, at which time it will process incoming messages and provide execution control to all the other objects it manages.

Examples using DtSimManager include

Public Member Functions

 DtSimManager (DtCommunicationManager *)
 
virtual ~DtSimManager ()
 
virtual bool init ()
 
virtual const
DtVrfSimOptionsInterface
simOptions () const
 
virtual void setSimOptions (const DtVrfSimOptionsInterface &)
 
virtual bool createScheduler ()
 
virtual bool createMessageInterface ()
 
virtual bool createTDLMessageInterface ()
 
virtual bool createFrameRateMonitor ()
 
virtual bool createVrfSimSettingsManager ()
 
virtual bool createParallelQueue ()
 
virtual bool beginFrame ()
 
virtual void tick ()
 
virtual bool advanceFrame (DtCommunicationManagerPerformanceTimerInformation *timerInformation=nullptr)
 
virtual bool deliverMessage (const DtSimInterfaceMessage &msg)
 
virtual bool receiveMessage (const DtSimInterfaceMessage &msg)
 
virtual bool createAndDeliverMessage (const DtSimulationAddress &recipient, const DtSimInterfaceContent &content, bool overrideTimestampOrder=true) const
 
virtual DtFrameRateMonitorframeRateMonitor ()
 
virtual DtVrfCallbackQueueparallelQueue ()
 
virtual DtSchedulerscheduler ()
 
virtual double simTime () const
 
virtual double dT () const
 
virtual double elapsedRealTime () const
 
virtual double absRealTime () const
 
virtual double approximateElapsedRealTime () const
 
virtual bool isPaused () const
 
virtual double timeMultiplier () const
 
double simTimeScale () const
 
virtual void setSimTime (double d)
 
virtual void setTimeMultiplier (double d)
 
virtual void setExerciseStartTime (double)
 
virtual double exerciseTime () const
 
virtual double exerciseStartTime () const
 
virtual void pause ()
 
virtual void run ()
 
virtual DtSimulationServicessimulationServices ()
 
virtual const
DtSimulationServices
simulationServices () const
 
virtual void setSimObjectManager (DtSimObjectManager *entityManager)
 
virtual const DtSimObjectManagersimObjectManager () const
 
virtual DtSimObjectManagersimObjectManager ()
 
void setPlanAdministrator (DtVrfObjectPlanAdministrator *entityManager)
 
DtVrfObjectPlanAdministratorplanAdministrator () const
 
void setDiGuyCharacterManager (DtDiGuyCharacterDataManager *entityManager)
 
DtDiGuyCharacterDataManagerdiGuyCharacterManager () const
 
virtual void setVrfNavAreaManager (DtVrfNavAreaManager *navAreaManager)
 
virtual DtVrfNavAreaManagervrfNavAreaManager ()
 
virtual const DtVrfNavAreaManagervrfNavAreaManager () const
 
virtual void setSpawnSinkManager (DtSpawnSinkManager *spawnSinkManager)
 
virtual DtSpawnSinkManagerspawnSinkManager ()
 
virtual const DtSpawnSinkManagerspawnSinkManager () const
 
virtual void setEmbeddedEntityInfoManager (DtEmbeddedEntityInfoManager *eeInfManager)
 
virtual
DtEmbeddedEntityInfoManager
embeddedEntityInfoManager ()
 
virtual const
DtEmbeddedEntityInfoManager
embeddedEntityInfoManager () const
 
virtual void setScriptedTaskManager (DtScriptedTaskManager *)
 
virtual DtScriptedTaskManagerscriptedTaskManager ()
 
virtual const
DtScriptedTaskManager
scriptedTaskManager () const
 
virtual void setOrbatManager (DtOrbatManager *)
 
virtual DtOrbatManagerorbatManager ()
 
virtual const DtOrbatManagerorbatManager () const
 
virtual void setSimInternalCommunicationManager (DtSimInternalCommunicationManager *)
 
virtual
DtSimInternalCommunicationManager
simInternalCommunicationManager () const
 
virtual void setObjectListManager (DtManagedObjectListManager *)
 
virtual
DtManagedObjectListManager
objectListManager () const
 
virtual void setObjectModelsManager (DtObjectGeometricModelsManager *)
 
virtual
DtObjectGeometricModelsManager
objectModelsManager ()
 
virtual const
DtObjectGeometricModelsManager
objectModelsManager () const
 
virtual void setScenarioEventManager (DtScenarioEventManager *)
 
virtual DtScenarioEventManagerscenarioEventManager ()
 
virtual const
DtScenarioEventManager
scenarioEventManager () const
 
virtual void setHazardAreaManager (DtHazardAreaManager *)
 
virtual DtHazardAreaManagerhazardAreaManager ()
 
virtual const DtHazardAreaManagerhazardAreaManager () const
 
virtual void setIntelCollectionAreaManager (DtIntelCollectionAreaManager *)
 
virtual
DtIntelCollectionAreaManager
intelCollectionAreaManager ()
 
virtual const
DtIntelCollectionAreaManager
intelCollectionAreaManager () const
 
virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager *)
 
virtual
DtScriptedObjectsMovementManager
scriptedObjectsMovementManager ()
 
virtual const
DtScriptedObjectsMovementManager
scriptedObjectsMovementManager () const
 
virtual void setDetonationManager (DtDetonationServiceInterface *detonationManager)
 
virtual
DtDetonationServiceInterface
detonationManager ()
 
virtual const
DtDetonationServiceInterface
detonationManager () const
 
virtual void setAmmunitionManager (DtAmmunitionManager *ammunitionManager)
 
virtual DtAmmunitionManagerammunitionManager ()
 
virtual void setFireManager (DtFireManager *fireManager)
 
virtual DtFireManagerfireManager ()
 
virtual const DtFireManagerfireManager () const
 
virtual DtString nextEventId ()
 
virtual void setScenarioRunId (int)
 
virtual int scenarioRunId () const
 
virtual void setRejectMismatchedScenarioMessages (bool)
 
virtual bool rejectMismatchedScenarioMessages () const
 
virtual bool rejectMessage (const DtVrfObjectMessage *) const
 
virtual DtVrfSimSettingsManagervrfSimSettingsManager ()
 
virtual void addMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData)
 
virtual void removeMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData)
 
virtual DtVrfMessageInterfacemessageInterface () const
 
virtual
DtInterfaceMessageExecutive
messageExecutive ()
 
virtual DtVrfTDLMessageInterfacetdlMessageInterface () const
 
virtual void registerInterfaceCallbacks ()
 
virtual const DtSimulationAddress & messageAddress () const
 
virtual unsigned long sequenceNumber ()
 
virtual void setSequenceNumber (unsigned long sequenceNumber)
 
DtResourceMonitorresourceMonitor ()
 
void setResourceMonitor (DtResourceMonitor *)
 
DtRadarCoverageMonitorradarCoverageMonitor ()
 
void setRadarCoverageMonitor (DtRadarCoverageMonitor *)
 
DtTerrainProfileRequestManagerterrainProfileRequestManager ()
 
void setTerrainProfileRequestManager (DtTerrainProfileRequestManager *)
 
virtual int vrfSessionId () const
 
virtual int vrfMessageVersionSupported () const
 
virtual void runForDuration (double)
 
virtual double runDurationTime () const
 
virtual void stopSimulationDurationTimer ()
 
virtual void processRunDurationComplete ()
 
virtual void addSimulationRunDurationCallback (DtRunDurationCallbackFcn tickFunction, void *userData)
 
virtual void removeSimulationRunDurationCallback (DtRunDurationCallbackFcn tickFunction, void *userData)
 
virtual void setMaxTasks (int)
 
virtual void doNotSelfReflect (unsigned int)
 
virtual void selfReflect (unsigned int)
 
const DtEnumDictionaryenumerationDictionary () const
 
virtual DtFilename enumerationsFileDirectory () const
 
virtual void setEnumerationsFileDirectory (const DtFilename &directory)
 
virtual void addTickEntry (DtSimTickFunction tickFunction, void *userData) const
 
virtual void removeTickEntry (DtSimTickFunction tickFunction, void *userData) const
 
virtual void addPostTickEntry (DtSimTickFunction tickFunction, void *userData) const
 
virtual void removePostTickEntry (DtSimTickFunction tickFunction, void *userData) const
 
virtual void setPhysicalWorld (DtPhysicalWorld *newPhysicalWorld)
 
virtual DtPhysicalWorldphysicalWorld ()
 
virtual const DtPhysicalWorldphysicalWorld () const
 
virtual void setCommModelManager (DtCommModelManager *newCommModelManager)
 
virtual DtCommModelManagercommModelManager ()
 
virtual const DtCommModelManagercommModelManager () const
 
virtual void setSimTerrainRequestManager (DtSimTerrainRequestManager *newSimTerrainRequestManager)
 
virtual
DtSimTerrainRequestManager
simTerrainRequestManager ()
 
virtual const
DtSimTerrainRequestManager
simTerrainRequestManager () const
 
virtual void setGlobalPlanManager (DtGlobalPlanManager *planManager)
 
virtual const DtGlobalPlanManagerglobalPlanManager () const
 
virtual DtGlobalPlanManagerglobalPlanManager ()
 
virtual void setStealthCommandsManager (DtStealthCommandsManager *planManager)
 
virtual const
DtStealthCommandsManager
stealthCommandsManager () const
 
virtual DtStealthCommandsManagerstealthCommandsManager ()
 
virtual void setHostilityManager (DtHostilityManager *hostilityManager)
 
virtual const DtHostilityManagerhostilityManager () const
 
virtual DtHostilityManagerhostilityManager ()
 
virtual void setEngagementZonesManager (DtEngagementZonesManager *manager)
 
virtual const
DtEngagementZonesManager
engagementZonesManager () const
 
virtual DtEngagementZonesManagerengagementZonesManager ()
 
virtual void setScenarioExtrasMgr (DtScenarioExtrasMgr *scenarioExtrasMgr)
 
virtual const DtScenarioExtrasMgrscenarioExtrasMgr () const
 
virtual DtScenarioExtrasMgrscenarioExtrasMgr ()
 
void setCommunicationManager (DtCommunicationManager *)
 
DtCommunicationManagercommunicationManager () const
 
makVrfEvents::DtEventManagereventManager () const
 
makVrf::DtStateDataManagerstateDataManager () const
 
virtual bool runFullyThreaded () const
 
virtual void addEvent (const makVrfEvents::DtEvent &)
 
virtual void setSimCommandDistributor (DtSimCommandDistributor *distributor)
 
virtual const
DtSimCommandDistributor
simCommandDistributor () const
 
virtual DtSimCommandDistributorsimCommandDistributor ()
 
virtual void setDebugDrawManager (DtDebugDrawManager *debugDrawManager)
 
virtual const DtDebugDrawManagerdebugDrawManager () const
 
virtual DtDebugDrawManagerdebugDrawManager ()
 
virtual void setObjectParametersDB (const DtVrfParameterDb *)
 
virtual const DtVrfParameterDbobjectParametersDB () const
 
virtual void setObjectConsoleManager (DtObjectConsoleManager *)
 
virtual const
DtObjectConsoleManager
objectConsoleManager () const
 
virtual DtObjectConsoleManagerobjectConsoleManager ()
 
virtual DtU32 scenarioCapabilities () const
 
virtual void setScenarioCapabilities (DtU32 v)
 
virtual void setSyncMatrixManager (DtSyncMatrixManager *SyncMatrixManager)
 
virtual const DtSyncMatrixManagersyncMatrixManager () const
 
virtual DtSyncMatrixManagersyncMatrixManager ()
 
VRF4API_METHOD const
DtSimulationServices
exerciseClock () const
 

Static Public Member Functions

static void TickFunction (void *userData)
 
static void randSeedCallback (DtSimMessage *msg, void *usr)
 
static void runDurationCompleteCallback (DtTimer *)
 

Protected Member Functions

virtual void setupMessagesToNotSelfReflect ()
 

Protected Attributes

DtVrfSimOptionsInterfacemySimOptions
 
double myDT
 
DtSchedulermyScheduler
 
DtNoArgumentCallbackList myTickList
 
DtNoArgumentCallbackList myPostTickList
 
DtFrameRateMonitormyFrameRateMonitor
 
DtVrfSimSettingsManagermyVrfSimSettingsManager
 
DtSimObjectManagermySimObjectManager
 
DtVrfMessageInterfacemyMessageInterface
 
DtVrfTDLMessageInterfacemyTDLMessageInterface
 
DtVrfObjectPlanAdministratormyPlanAdministrator
 
DtDiGuyCharacterDataManagermyDiGuyCharacterManager
 
DtPhysicalWorldmyPhysicalWorld
 
DtCommModelManagermyCommModelManager
 
DtSimTerrainRequestManagermySimTerrainRequestManager
 
DtEmbeddedEntityInfoManagermyEmbeddedEntityInfoManager
 
DtDetonationServiceInterfacemyDetonationManager
 
DtAmmunitionManagermyAmmunitionManager
 
DtFireManagermyFireManager
 
DtGlobalPlanManagermyGlobalPlanManager
 
DtStealthCommandsManagermyStealthCommandsManager
 
DtHostilityManagermyHostilityManager
 
DtEngagementZonesManagermyEngagementZonesManager
 
DtScenarioExtrasMgrmyScenarioExtrasMgr
 
DtResourceMonitormyResourceMonitor
 
DtRadarCoverageMonitormyRadarCoverageMonitor
 
DtTerrainProfileRequestManagermyTerrainProfileRequestManager
 
DtScriptedTaskManagermyScriptedTaskManager
 
DtScenarioEventManagermyScenarioEventManager
 
DtHazardAreaManagermyHazardAreaManager
 
DtIntelCollectionAreaManagermyIntelCollectionAreaManager
 
DtScriptedObjectsMovementManagermyScriptedObjectsMovementManager
 
DtOrbatManagermyOrbatManager
 
DtManagedObjectListManagermyObjectListManager
 
DtObjectGeometricModelsManagermyObjectModelsManager
 
DtVrfCallbackQueuemyParallelQueue
 
DtVrfNavAreaManagermyVrfNavAreaManager
 
DtSpawnSinkManagermySpawnSinkManager
 
DtSimCommandDistributormySimCommandDistributor
 
DtCommunicationManagermyCommunicationManager
 
DtDebugDrawManagermyDebugDrawManager
 
const DtVrfParameterDbmyObjectParametersDB
 
DtObjectConsoleManagermyObjectConsoleManager
 
DtSimInternalCommunicationManagermySimInternalCommunicationManager
 
DtSyncMatrixManagermySyncMatrixManager
 
DtSimulationServicesmySimulationServices
 
DtTimermySimulationDurationTimer
 
DtNoArgumentCallbackList mySimulationDurationCallbackList
 
double myRunDurationTime
 
int myScenarioRunId
 
bool myRejectMismatchedScenarioMessages
 
DtU32 myScenarioCapabilities
 
DtEnumDictionarymyEnumDictionary
 
DtFilename myEnumsFileDirectory
 
tbb::spin_mutex myMutex
 
double mySimTime
 
tbb::atomic< intmyNextEventNumber
 

Private Member Functions

 DtSimManager (const DtSimManager &orig)
 
DtSimManageroperator= (const DtSimManager &orig)
 

Constructor & Destructor Documentation

DtSimManager::DtSimManager ( DtCommunicationManager )

constructor

virtual DtSimManager::~DtSimManager ( )
virtual

destructor

DtSimManager::DtSimManager ( const DtSimManager orig)
private

Copy constructor - not implemented.

Note
This class is not copyable.

Member Function Documentation

DtSimManager& DtSimManager::operator= ( const DtSimManager orig)
private

Assignment operator - not implemented.

Note
This class is not assignable.
virtual bool DtSimManager::init ( )
virtual

creates all the other pieces. Note that the object id generator is created and set in the DtVrfObjectIdGenerator class as the default generator to use. If yo have not set a new creator in the factory, reset in the DtVrfObjectIdGenerator class after init() is called

virtual const DtVrfSimOptionsInterface* DtSimManager::simOptions ( ) const
virtual

Access sim options object.

virtual void DtSimManager::setSimOptions ( const DtVrfSimOptionsInterface )
virtual

Takes ownership.

virtual bool DtSimManager::createScheduler ( )
virtual
virtual bool DtSimManager::createMessageInterface ( )
virtual
virtual bool DtSimManager::createTDLMessageInterface ( )
virtual
virtual bool DtSimManager::createFrameRateMonitor ( )
virtual
virtual bool DtSimManager::createVrfSimSettingsManager ( )
virtual
virtual bool DtSimManager::createParallelQueue ( )
virtual
virtual bool DtSimManager::beginFrame ( )
virtual

Beings a frame of simulation execution. Must be called before tick Returns true if not already in frame. If returns false do not call advance frame when wanting to advance the frame. It will get called, and, calling advance frame will cause an exception on the next advanceFrame call.

virtual void DtSimManager::tick ( )
virtual

Ticks the scheduler and then all registered tick callbacks.

virtual bool DtSimManager::advanceFrame ( DtCommunicationManagerPerformanceTimerInformation timerInformation = nullptr)
virtual

Ends a simulation frame of execution. Must be called before the next begin frame. Return true if frame was advanced.

virtual bool DtSimManager::deliverMessage ( const DtSimInterfaceMessage msg)
virtual
virtual bool DtSimManager::receiveMessage ( const DtSimInterfaceMessage msg)
virtual
virtual bool DtSimManager::createAndDeliverMessage ( const DtSimulationAddress &  recipient,
const DtSimInterfaceContent content,
bool  overrideTimestampOrder = true 
) const
virtual
virtual void DtSimManager::addTickEntry ( DtSimTickFunction  tickFunction,
void *  userData 
) const
virtual

Callback that will be called every simulation tick of the system.

Note
DtSimTickFunction was previously (VRF 3.10) a method that took an argument of DtSimTickArguments*, but now takes a void*. This has been changed to make it more consistent with other callbacks in VR-Forces. A special subclass of DtSimTickArguments is no longer required. Simply pass any pointer in when registering the callback, and this same pointer will be passed back to the callback method when it is invoked.
virtual void DtSimManager::removeTickEntry ( DtSimTickFunction  tickFunction,
void *  userData 
) const
virtual

Callback that will be called every simulation tick of the system.

Note
DtSimTickFunction was previously (VRF 3.10) a method that took an argument of DtSimTickArguments*, but now takes a void*. This has been changed to make it more consistent with other callbacks in VR-Forces. A special subclass of DtSimTickArguments is no longer required. Simply pass any pointer in when registering the callback, and this same pointer will be passed back to the callback method when it is invoked.
virtual void DtSimManager::addPostTickEntry ( DtSimTickFunction  tickFunction,
void *  userData 
) const
virtual

Callbacks invoked at the end of the tick function. The callback function signature is: void callback(void* usr)

virtual void DtSimManager::removePostTickEntry ( DtSimTickFunction  tickFunction,
void *  userData 
) const
virtual

Callbacks invoked at the end of the tick function. The callback function signature is: void callback(void* usr)

virtual DtFrameRateMonitor* DtSimManager::frameRateMonitor ( )
virtual

provides access to the frameRateMonitor, which is responsible for providing frame rate statistics as requested.

Note
The frame rate monitor registers for and responds to frame rate request messages.
virtual DtVrfCallbackQueue* DtSimManager::parallelQueue ( )
virtual

Access DtVrfCallbackQueue which can be used to execute code concurrently in the main thread.

virtual DtScheduler* DtSimManager::scheduler ( )
virtual

scheduler() is used to schedule, control, and delete internal events.

virtual double DtSimManager::simTime ( ) const
virtual

Sim time as part of the simulation.

virtual double DtSimManager::dT ( ) const
virtual
virtual double DtSimManager::elapsedRealTime ( ) const
virtual
virtual double DtSimManager::absRealTime ( ) const
virtual
virtual double DtSimManager::approximateElapsedRealTime ( ) const
virtual
virtual bool DtSimManager::isPaused ( ) const
virtual
virtual double DtSimManager::timeMultiplier ( ) const
virtual
double DtSimManager::simTimeScale ( ) const
inline
virtual void DtSimManager::setSimTime ( double  d)
virtual
virtual void DtSimManager::setTimeMultiplier ( double  d)
virtual
virtual void DtSimManager::setExerciseStartTime ( double  )
virtual

Sets the start time of the exercise. This time does not change.

virtual double DtSimManager::exerciseTime ( ) const
virtual
virtual double DtSimManager::exerciseStartTime ( ) const
virtual
virtual void DtSimManager::setPhysicalWorld ( DtPhysicalWorld newPhysicalWorld)
virtual
Returns
A pointer to the physical world.
Note
This function should never return false.
virtual DtPhysicalWorld* DtSimManager::physicalWorld ( )
virtual
Returns
A pointer to the physical world.
Note
This function should never return false.
virtual const DtPhysicalWorld* DtSimManager::physicalWorld ( ) const
virtual
Returns
A pointer to the physical world.
Note
This function should never return false.
virtual void DtSimManager::pause ( )
virtual

play/pause the scenario

virtual void DtSimManager::run ( )
virtual
virtual DtSimulationServices* DtSimManager::simulationServices ( )
virtual
virtual const DtSimulationServices* DtSimManager::simulationServices ( ) const
virtual
virtual void DtSimManager::setCommModelManager ( DtCommModelManager newCommModelManager)
virtual
Returns
A pointer to the DtCommModelManager.
virtual DtCommModelManager* DtSimManager::commModelManager ( )
virtual
Returns
A pointer to the DtCommModelManager.
virtual const DtCommModelManager* DtSimManager::commModelManager ( ) const
virtual
Returns
A pointer to the DtCommModelManager.
virtual void DtSimManager::setSimTerrainRequestManager ( DtSimTerrainRequestManager newSimTerrainRequestManager)
virtual
Returns
A pointer to the DtSimTerrainRequestManager.
virtual DtSimTerrainRequestManager* DtSimManager::simTerrainRequestManager ( )
virtual
Returns
A pointer to the DtSimTerrainRequestManager.
virtual const DtSimTerrainRequestManager* DtSimManager::simTerrainRequestManager ( ) const
virtual
Returns
A pointer to the DtSimTerrainRequestManager.
virtual void DtSimManager::setSimObjectManager ( DtSimObjectManager entityManager)
virtual

simObjectManager() provides access to all the sim objects in the system.

virtual const DtSimObjectManager* DtSimManager::simObjectManager ( ) const
virtual
virtual DtSimObjectManager* DtSimManager::simObjectManager ( )
virtual
void DtSimManager::setPlanAdministrator ( DtVrfObjectPlanAdministrator entityManager)
inline

References myPlanAdministrator.

DtVrfObjectPlanAdministrator * DtSimManager::planAdministrator ( ) const
inline

References myPlanAdministrator.

void DtSimManager::setDiGuyCharacterManager ( DtDiGuyCharacterDataManager entityManager)
inline
DtDiGuyCharacterDataManager * DtSimManager::diGuyCharacterManager ( ) const
inline
virtual void DtSimManager::setVrfNavAreaManager ( DtVrfNavAreaManager navAreaManager)
virtual
virtual DtVrfNavAreaManager* DtSimManager::vrfNavAreaManager ( )
virtual
virtual const DtVrfNavAreaManager* DtSimManager::vrfNavAreaManager ( ) const
virtual
virtual void DtSimManager::setSpawnSinkManager ( DtSpawnSinkManager spawnSinkManager)
virtual
virtual DtSpawnSinkManager* DtSimManager::spawnSinkManager ( )
virtual
virtual const DtSpawnSinkManager* DtSimManager::spawnSinkManager ( ) const
virtual
virtual void DtSimManager::setEmbeddedEntityInfoManager ( DtEmbeddedEntityInfoManager eeInfManager)
virtual

embeddedEntityInfoManager() manages and provides information caches that concern Embedded Entities, including whether a particular type has embedded entities, and the available tasks/sets that those entities are capable of.

virtual DtEmbeddedEntityInfoManager* DtSimManager::embeddedEntityInfoManager ( )
virtual
virtual const DtEmbeddedEntityInfoManager* DtSimManager::embeddedEntityInfoManager ( ) const
virtual
virtual void DtSimManager::setScriptedTaskManager ( DtScriptedTaskManager )
virtual

scriptedTaskManager() provides access to all the scripted tasks in the system.

virtual DtScriptedTaskManager* DtSimManager::scriptedTaskManager ( )
virtual
virtual const DtScriptedTaskManager* DtSimManager::scriptedTaskManager ( ) const
virtual
void DtSimManager::setOrbatManager ( DtOrbatManager entityManager)
inlinevirtual

orbatManager() provides access to all the orbat items in the system

References myOrbatManager.

DtOrbatManager * DtSimManager::orbatManager ( )
inlinevirtual

References myOrbatManager.

const DtOrbatManager * DtSimManager::orbatManager ( ) const
inlinevirtual

References myOrbatManager.

void DtSimManager::setSimInternalCommunicationManager ( DtSimInternalCommunicationManager m)
inlinevirtual

simInternalCommunicationManager() gives pointer to the internal communication manager

References mySimInternalCommunicationManager.

DtSimInternalCommunicationManager * DtSimManager::simInternalCommunicationManager ( ) const
inlinevirtual
void DtSimManager::setObjectListManager ( DtManagedObjectListManager m)
inlinevirtual

objectListManager() gives a pointer to the manager of object lists

References myObjectListManager.

DtManagedObjectListManager * DtSimManager::objectListManager ( ) const
inlinevirtual

References myObjectListManager.

void DtSimManager::setObjectModelsManager ( DtObjectGeometricModelsManager entityManager)
inlinevirtual

References myObjectModelsManager.

DtObjectGeometricModelsManager * DtSimManager::objectModelsManager ( )
inlinevirtual

References myObjectModelsManager.

const DtObjectGeometricModelsManager * DtSimManager::objectModelsManager ( ) const
inlinevirtual

References myObjectModelsManager.

virtual void DtSimManager::setScenarioEventManager ( DtScenarioEventManager )
virtual

scenarioEventManager() provides access to all the scenario events in the system.

virtual DtScenarioEventManager* DtSimManager::scenarioEventManager ( )
virtual
virtual const DtScenarioEventManager* DtSimManager::scenarioEventManager ( ) const
virtual
virtual void DtSimManager::setHazardAreaManager ( DtHazardAreaManager )
virtual

hazardAreaManager() provides access to all the hazard areas in the system.

virtual DtHazardAreaManager* DtSimManager::hazardAreaManager ( )
virtual
virtual const DtHazardAreaManager* DtSimManager::hazardAreaManager ( ) const
virtual
virtual void DtSimManager::setIntelCollectionAreaManager ( DtIntelCollectionAreaManager )
virtual

intelCollectionAreaManager() provides access to all the intel collection areas in the system.

virtual DtIntelCollectionAreaManager* DtSimManager::intelCollectionAreaManager ( )
virtual
virtual const DtIntelCollectionAreaManager* DtSimManager::intelCollectionAreaManager ( ) const
virtual
virtual void DtSimManager::setScriptedObjectsMovementManager ( DtScriptedObjectsMovementManager )
virtual

scriptedObjectsMovementManager() provides access to all the scripted movement objects in the system.

virtual DtScriptedObjectsMovementManager* DtSimManager::scriptedObjectsMovementManager ( )
virtual
virtual const DtScriptedObjectsMovementManager* DtSimManager::scriptedObjectsMovementManager ( ) const
virtual
virtual void DtSimManager::setDetonationManager ( DtDetonationServiceInterface detonationManager)
virtual

Manages the detonation callbacks generated by the simulation. Notifies the appropriate registered DtSimObjects (entities) of detonations they should process.

virtual DtDetonationServiceInterface* DtSimManager::detonationManager ( )
virtual
virtual const DtDetonationServiceInterface* DtSimManager::detonationManager ( ) const
virtual
virtual void DtSimManager::setAmmunitionManager ( DtAmmunitionManager ammunitionManager)
virtual

Gives access to ammunition available and the targets they can target.

virtual DtAmmunitionManager* DtSimManager::ammunitionManager ( )
virtual
virtual void DtSimManager::setFireManager ( DtFireManager fireManager)
virtual

Manages the fire callbacks (fire/detonation interactions) generated by the simulation. Notifies the appropriate registered DtSimObjects (entities) of fire interactions and detonation interactions they should process for under-fire determination.

virtual DtFireManager* DtSimManager::fireManager ( )
virtual
virtual const DtFireManager* DtSimManager::fireManager ( ) const
virtual
virtual void DtSimManager::setGlobalPlanManager ( DtGlobalPlanManager planManager)
virtual

The global plan manager tracks and executes all "global plans" which are plans that are not associated with a particular entity, but rather with the simulation as a whole.

virtual const DtGlobalPlanManager* DtSimManager::globalPlanManager ( ) const
virtual

The global plan manager tracks and executes all "global plans" which are plans that are not associated with a particular entity, but rather with the simulation as a whole.

virtual DtGlobalPlanManager* DtSimManager::globalPlanManager ( )
virtual

The global plan manager tracks and executes all "global plans" which are plans that are not associated with a particular entity, but rather with the simulation as a whole.

virtual void DtSimManager::setStealthCommandsManager ( DtStealthCommandsManager planManager)
virtual

The stealth commands manager maintains and executes stealth commands.

virtual const DtStealthCommandsManager* DtSimManager::stealthCommandsManager ( ) const
virtual

The stealth commands manager maintains and executes stealth commands.

virtual DtStealthCommandsManager* DtSimManager::stealthCommandsManager ( )
virtual

The stealth commands manager maintains and executes stealth commands.

virtual void DtSimManager::setHostilityManager ( DtHostilityManager hostilityManager)
virtual

The hostility manager keeps track of which forces are hostile to each other.

virtual const DtHostilityManager* DtSimManager::hostilityManager ( ) const
virtual

The hostility manager keeps track of which forces are hostile to each other.

virtual DtHostilityManager* DtSimManager::hostilityManager ( )
virtual

The hostility manager keeps track of which forces are hostile to each other.

virtual void DtSimManager::setEngagementZonesManager ( DtEngagementZonesManager manager)
virtual

The engagement zones manager which keeps track of engagement zones.

virtual const DtEngagementZonesManager* DtSimManager::engagementZonesManager ( ) const
virtual

The engagement zones manager which keeps track of engagement zones.

virtual DtEngagementZonesManager* DtSimManager::engagementZonesManager ( )
virtual

The engagement zones manager which keeps track of engagement zones.

virtual void DtSimManager::setScenarioExtrasMgr ( DtScenarioExtrasMgr scenarioExtrasMgr)
virtual

The hostility manager keeps track of which forces are hostile to each other.

virtual const DtScenarioExtrasMgr* DtSimManager::scenarioExtrasMgr ( ) const
virtual

The hostility manager keeps track of which forces are hostile to each other.

virtual DtScenarioExtrasMgr* DtSimManager::scenarioExtrasMgr ( )
virtual

The hostility manager keeps track of which forces are hostile to each other.

void DtSimManager::setCommunicationManager ( DtCommunicationManager )

Communication manager accessor.

DtCommunicationManager * DtSimManager::communicationManager ( ) const
inline

Communication manager accessor.

References myCommunicationManager.

makVrfEvents::DtEventManager* DtSimManager::eventManager ( ) const

Communication manager accessor.

makVrf::DtStateDataManager* DtSimManager::stateDataManager ( ) const

Sets state data manager.

virtual bool DtSimManager::runFullyThreaded ( ) const
virtual

Whether or not to run the simulation fully threaded or single threaded.

virtual void DtSimManager::addEvent ( const makVrfEvents::DtEvent )
virtual

Connect to the eventAdded signal sent by this class in order to get an indication of an event that has been added. Connect to the individual event signal to only get notified for a particular event.

virtual DtString DtSimManager::nextEventId ( )
virtual

Simple counter based on message address.

virtual void DtSimManager::setSimCommandDistributor ( DtSimCommandDistributor distributor)
virtual

The sim command distributor managed callbacks to be notified when sim command are received.

virtual const DtSimCommandDistributor* DtSimManager::simCommandDistributor ( ) const
virtual

The sim command distributor managed callbacks to be notified when sim command are received.

virtual DtSimCommandDistributor* DtSimManager::simCommandDistributor ( )
virtual

The sim command distributor managed callbacks to be notified when sim command are received.

virtual void DtSimManager::setDebugDrawManager ( DtDebugDrawManager debugDrawManager)
virtual

The debugDrawManager is responsible to send draw request to the debugDrawRenderer.

virtual const DtDebugDrawManager* DtSimManager::debugDrawManager ( ) const
virtual

The debugDrawManager is responsible to send draw request to the debugDrawRenderer.

virtual DtDebugDrawManager* DtSimManager::debugDrawManager ( )
virtual

The debugDrawManager is responsible to send draw request to the debugDrawRenderer.

void DtSimManager::setObjectParametersDB ( const DtVrfParameterDb db)
inlinevirtual

The object parameters database.

References myObjectParametersDB.

const DtVrfParameterDb * DtSimManager::objectParametersDB ( ) const
inlinevirtual

The object parameters database.

References myObjectParametersDB.

void DtSimManager::setObjectConsoleManager ( DtObjectConsoleManager db)
inlinevirtual

The object console manager.

References myObjectConsoleManager.

const DtObjectConsoleManager * DtSimManager::objectConsoleManager ( ) const
inlinevirtual

The object console manager.

References myObjectConsoleManager.

DtObjectConsoleManager * DtSimManager::objectConsoleManager ( )
inlinevirtual

The object console manager.

References myObjectConsoleManager.

virtual void DtSimManager::setScenarioRunId ( int  )
virtual

If used, a unique id that signifies this scenario run. Is used in messages to filter out messages from a previous scenario run that should not be processed in this run.

virtual int DtSimManager::scenarioRunId ( ) const
virtual
virtual void DtSimManager::setRejectMismatchedScenarioMessages ( bool  )
virtual

Sets whether or not to reject mismatched scenario run messages (default is true)

virtual bool DtSimManager::rejectMismatchedScenarioMessages ( ) const
virtual
virtual bool DtSimManager::rejectMessage ( const DtVrfObjectMessage ) const
virtual

If set to reject messages based on scenario run id, reject the message if the internal simulation id is not zero and the supplied id is not zero.

virtual DtVrfSimSettingsManager* DtSimManager::vrfSimSettingsManager ( )
virtual
virtual void DtSimManager::addMessageCallback ( int  type,
DtMessageCallbackFcn  fcn,
void *  usrData 
)
virtual

Add/Remove a function to be called when a particular message type is received.

virtual void DtSimManager::removeMessageCallback ( int  type,
DtMessageCallbackFcn  fcn,
void *  usrData 
)
virtual
virtual DtU32 DtSimManager::scenarioCapabilities ( ) const
virtual

Indicates the capabilities this VRF based application. This doesn't specifically limit the capabilities of this class, but publishes this capabilities as part of the status, changing the way a VRF GUI or remote control application interacts with this application.

See Also
DtScenarioCapabilities
virtual void DtSimManager::setScenarioCapabilities ( DtU32  v)
virtual

Indicates the capabilities this VRF based application. This doesn't specifically limit the capabilities of this class, but publishes this capabilities as part of the status, changing the way a VRF GUI or remote control application interacts with this application.

See Also
DtScenarioCapabilities
virtual DtVrfMessageInterface* DtSimManager::messageInterface ( ) const
virtual

messageInterface() provides access to the interface used to send messages between the simulation back-end and a (logically or physically) remote front-end command interface.

virtual DtInterfaceMessageExecutive* DtSimManager::messageExecutive ( )
virtual
virtual DtVrfTDLMessageInterface* DtSimManager::tdlMessageInterface ( ) const
virtual

tdlMessageInterface() provides access to the interface used to send TDL messages.

static void DtSimManager::TickFunction ( void *  userData)
static

This function is registered on the execution list for the sim thread (called pvPacketThread, currently). It actually calls the simManager->tick().

virtual void DtSimManager::registerInterfaceCallbacks ( )
virtual

Register callbacks on the sim manager's interface message executive. If you override this make sure you call the base function, or the entity manager will stop responding to those messages.

virtual const DtSimulationAddress& DtSimManager::messageAddress ( ) const
virtual

This is the address that should be used as the sender for all messages originating from the backend.

static void DtSimManager::randSeedCallback ( DtSimMessage msg,
void *  usr 
)
static

Callbacks registered on the simManagers Message executive.

virtual unsigned long DtSimManager::sequenceNumber ( )
virtual

Gets the sequence number of the current scenario.

virtual void DtSimManager::setSequenceNumber ( unsigned long  sequenceNumber)
virtual

Sets the sequence number – should only be called from classes which actually create and send out the number in a load scenario message.

DtResourceMonitor * DtSimManager::resourceMonitor ( )
inline

Get/set resource monitor.

References myResourceMonitor.

void DtSimManager::setResourceMonitor ( DtResourceMonitor m)
inline

References myResourceMonitor.

DtRadarCoverageMonitor * DtSimManager::radarCoverageMonitor ( )
inline

Get/set radarCoverage monitor.

References myRadarCoverageMonitor.

void DtSimManager::setRadarCoverageMonitor ( DtRadarCoverageMonitor m)
inline
DtTerrainProfileRequestManager * DtSimManager::terrainProfileRequestManager ( )
inline

Get/set terrain profile request manager.

References myTerrainProfileRequestManager.

void DtSimManager::setTerrainProfileRequestManager ( DtTerrainProfileRequestManager m)
inline
virtual int DtSimManager::vrfSessionId ( ) const
virtual

Returns the session id from the message interface.

virtual int DtSimManager::vrfMessageVersionSupported ( ) const
virtual

Returns the vrf message version from the message interface.

virtual void DtSimManager::runForDuration ( double  )
virtual

Starts a run duration. If there is an existing run duration cancels that duration and creates a new one. When the run duration is complete the timer is removed and the scenario is paused.

virtual double DtSimManager::runDurationTime ( ) const
virtual
virtual void DtSimManager::stopSimulationDurationTimer ( )
virtual

Stops the current duration run timer.

static void DtSimManager::runDurationCompleteCallback ( DtTimer )
static

Callback for when duration run timer has completed.

virtual void DtSimManager::processRunDurationComplete ( )
virtual
virtual void DtSimManager::addSimulationRunDurationCallback ( DtRunDurationCallbackFcn  tickFunction,
void *  userData 
)
virtual

Adds callbacks for simulation completion from duration timeout.

virtual void DtSimManager::removeSimulationRunDurationCallback ( DtRunDurationCallbackFcn  tickFunction,
void *  userData 
)
virtual
virtual void DtSimManager::setMaxTasks ( int  )
virtual

Sets the number of tasks to use in the callback queue. If linux, will also set the CPU affinity to use the number of CPUs to the number of tasks.

virtual void DtSimManager::doNotSelfReflect ( unsigned  int)
virtual

If we are not self reflecting, add this to the list of messages that do not want to be self reflected Not reflected:

DtIfStatus

virtual void DtSimManager::selfReflect ( unsigned  int)
virtual
const DtEnumDictionary* DtSimManager::enumerationDictionary ( ) const

Returns a pointer to the enumerations dictionary.

virtual DtFilename DtSimManager::enumerationsFileDirectory ( ) const
virtual

The directory from which enumerations files will be loaded.

virtual void DtSimManager::setEnumerationsFileDirectory ( const DtFilename &  directory)
virtual
virtual void DtSimManager::setSyncMatrixManager ( DtSyncMatrixManager SyncMatrixManager)
virtual

The synchronization matrix manager tracks all synchronization matrices which are objects that assigns plans to scenario entities during phases.

virtual const DtSyncMatrixManager* DtSimManager::syncMatrixManager ( ) const
virtual

The synchronization matrix manager tracks all synchronization matrices which are objects that assigns plans to scenario entities during phases.

virtual DtSyncMatrixManager* DtSimManager::syncMatrixManager ( )
virtual

The synchronization matrix manager tracks all synchronization matrices which are objects that assigns plans to scenario entities during phases.

virtual void DtSimManager::setupMessagesToNotSelfReflect ( )
protectedvirtual
VRF4API_METHOD const DtSimulationServices* DtSimManager::exerciseClock ( ) const

Backwards compatible API to allow for older code to be compiled/used.

Member Data Documentation

DtVrfSimOptionsInterface* DtSimManager::mySimOptions
protected
double DtSimManager::myDT
protected
DtScheduler* DtSimManager::myScheduler
protected

Objects we create.

DtNoArgumentCallbackList DtSimManager::myTickList
mutableprotected

The simulation back-end's clock. Note that this clock is different from the clock associated with the exercise connection. The simulation time maintained by the exercise clock may be offset relative to the exercise connection's clock.

DtNoArgumentCallbackList DtSimManager::myPostTickList
mutableprotected
DtFrameRateMonitor* DtSimManager::myFrameRateMonitor
protected
DtVrfSimSettingsManager* DtSimManager::myVrfSimSettingsManager
protected
DtSimObjectManager* DtSimManager::mySimObjectManager
protected
DtVrfMessageInterface* DtSimManager::myMessageInterface
protected

out message interface

DtVrfTDLMessageInterface* DtSimManager::myTDLMessageInterface
protected
DtVrfObjectPlanAdministrator* DtSimManager::myPlanAdministrator
protected
DtDiGuyCharacterDataManager* DtSimManager::myDiGuyCharacterManager
protected
DtPhysicalWorld* DtSimManager::myPhysicalWorld
protected

Objects we hold pointers onto for others.

DtCommModelManager* DtSimManager::myCommModelManager
protected
DtSimTerrainRequestManager* DtSimManager::mySimTerrainRequestManager
protected
DtEmbeddedEntityInfoManager* DtSimManager::myEmbeddedEntityInfoManager
protected
DtDetonationServiceInterface* DtSimManager::myDetonationManager
protected
DtAmmunitionManager* DtSimManager::myAmmunitionManager
protected
DtFireManager* DtSimManager::myFireManager
protected
DtGlobalPlanManager* DtSimManager::myGlobalPlanManager
protected
DtStealthCommandsManager* DtSimManager::myStealthCommandsManager
protected
DtHostilityManager* DtSimManager::myHostilityManager
protected
DtEngagementZonesManager* DtSimManager::myEngagementZonesManager
protected
DtScenarioExtrasMgr* DtSimManager::myScenarioExtrasMgr
protected
DtResourceMonitor* DtSimManager::myResourceMonitor
protected
DtRadarCoverageMonitor* DtSimManager::myRadarCoverageMonitor
protected
DtTerrainProfileRequestManager* DtSimManager::myTerrainProfileRequestManager
protected
DtScriptedTaskManager* DtSimManager::myScriptedTaskManager
protected
DtScenarioEventManager* DtSimManager::myScenarioEventManager
protected
DtHazardAreaManager* DtSimManager::myHazardAreaManager
protected
DtIntelCollectionAreaManager* DtSimManager::myIntelCollectionAreaManager
protected
DtScriptedObjectsMovementManager* DtSimManager::myScriptedObjectsMovementManager
protected
DtOrbatManager* DtSimManager::myOrbatManager
protected

Referenced by orbatManager(), and setOrbatManager().

DtManagedObjectListManager* DtSimManager::myObjectListManager
protected
DtObjectGeometricModelsManager* DtSimManager::myObjectModelsManager
protected
DtVrfCallbackQueue* DtSimManager::myParallelQueue
protected
DtVrfNavAreaManager* DtSimManager::myVrfNavAreaManager
protected
DtSpawnSinkManager* DtSimManager::mySpawnSinkManager
protected
DtSimCommandDistributor* DtSimManager::mySimCommandDistributor
protected
DtCommunicationManager* DtSimManager::myCommunicationManager
protected

Referenced by communicationManager().

DtDebugDrawManager* DtSimManager::myDebugDrawManager
protected
const DtVrfParameterDb* DtSimManager::myObjectParametersDB
protected
DtObjectConsoleManager* DtSimManager::myObjectConsoleManager
protected
DtSimInternalCommunicationManager* DtSimManager::mySimInternalCommunicationManager
protected
DtSyncMatrixManager* DtSimManager::mySyncMatrixManager
protected
DtSimulationServices* DtSimManager::mySimulationServices
protected
DtTimer* DtSimManager::mySimulationDurationTimer
protected

If non-null this scenario is only scheduled to run for the given amount of time delta from the current simulation time.

DtNoArgumentCallbackList DtSimManager::mySimulationDurationCallbackList
protected
double DtSimManager::myRunDurationTime
protected
int DtSimManager::myScenarioRunId
protected
bool DtSimManager::myRejectMismatchedScenarioMessages
protected
DtU32 DtSimManager::myScenarioCapabilities
protected
DtEnumDictionary* DtSimManager::myEnumDictionary
protected
DtFilename DtSimManager::myEnumsFileDirectory
protected
tbb::spin_mutex DtSimManager::myMutex
protected
double DtSimManager::mySimTime
protected
tbb::atomic<int> DtSimManager::myNextEventNumber
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)