VR-Forces 4.8 Class Documentation
 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 Attributes | Private Member Functions
DtSimManager Class Reference

The simulation engine is controlled by a single,top-level class called the Simulation Manager. More...

Public Member Functions

 DtSimManager (DtExerciseConn *connection)
 constructor More...
 
virtual ~DtSimManager ()
 destructor More...
 
virtual bool init ()
 creates all the other pieces. More...
 
virtual const
DtVrfSimOptionsInterface
simOptions () const
 Access sim options object. More...
 
virtual void setSimOptions (const DtVrfSimOptionsInterface &)
 Takes ownership. More...
 
virtual bool createExerciseClock ()
 Exercise clock for back-end. More...
 
virtual bool createScheduler ()
 
virtual bool createMessageInterface ()
 
virtual bool createTDLMessageInterface ()
 
virtual bool createFrameRateMonitor ()
 
virtual bool createVrfSimSettingsManager ()
 Creates the DtVrfSimSettingsManager. More...
 
virtual bool createParallelTickManager ()
 
virtual void tick ()
 Ticks the scheduler and then all registered tick callbacks. More...
 
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
 
DtExerciseConn * exerciseConn ()
 exerciseConn() provides access to the virtual network. More...
 
const DtExerciseClockexerciseClock () const
 exerciseClock() provides access to the current dT, current exercise time and current elapsed time. More...
 
virtual DtFrameRateMonitorframeRateMonitor ()
 provides access to the frameRateMonitor, which is responsible for providing frame rate statistics as requested. More...
 
virtual DtParallelTickManagerparallelTickManager ()
 Access parallelTickManager which can be used to execute code concurrently in the main thread. More...
 
virtual DtSchedulerscheduler ()
 scheduler() is used to schedule, control, and delete internal events. More...
 
virtual void setVrfObjectManager (DtVrfObjectManager *entityManager)
 vrfObjectManager() provides access to all the objects in the system; both local and remote. More...
 
virtual DtVrfObjectManagervrfObjectManager ()
 
virtual const DtVrfObjectManagervrfObjectManager () 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)
 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. More...
 
virtual
DtEmbeddedEntityInfoManager
embeddedEntityInfoManager ()
 
virtual const
DtEmbeddedEntityInfoManager
embeddedEntityInfoManager () const
 
virtual void setScriptedTaskManager (DtScriptedTaskManager *)
 scriptedTaskManager() provides access to all the scripted tasks in the system. More...
 
virtual DtScriptedTaskManagerscriptedTaskManager ()
 
virtual const
DtScriptedTaskManager
scriptedTaskManager () const
 
virtual void setScenarioEventManager (DtScenarioEventManager *)
 scenarioEventManager() provides access to all the scenario events in the system. More...
 
virtual DtScenarioEventManagerscenarioEventManager ()
 
virtual const
DtScenarioEventManager
scenarioEventManager () const
 
virtual void setHazardAreaManager (DtHazardAreaManager *)
 hazardAreaManager() provides access to all the hazard areas in the system. More...
 
virtual DtHazardAreaManagerhazardAreaManager ()
 
virtual const DtHazardAreaManagerhazardAreaManager () const
 
virtual void setIntelCollectionAreaManager (DtIntelCollectionAreaManager *)
 intelCollectionAreaManager() provides access to all the intel collection areas in the system. More...
 
virtual
DtIntelCollectionAreaManager
intelCollectionAreaManager ()
 
virtual const
DtIntelCollectionAreaManager
intelCollectionAreaManager () const
 
virtual void setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager *)
 scriptedObjectsMovementManager() provides access to all the scripted movement objects in the system. More...
 
virtual
DtScriptedObjectsMovementManager
scriptedObjectsMovementManager ()
 
virtual const
DtScriptedObjectsMovementManager
scriptedObjectsMovementManager () const
 
virtual DtEventId nextEventId (const DtGlobalObjectDesignator &entId)
 Call to get an event id to use in an interaction. More...
 
virtual void setAggregateSpatialModel (DtAggregateSpatialModel *aggregateSpatialModel)
 aggregateSpatialModel() provides an up to date view of all aggregates' location (location, velocity, orientation, and bounding geometry). More...
 
virtual DtAggregateSpatialModelaggregateSpatialModel ()
 
virtual const
DtAggregateSpatialModel
aggregateSpatialModel () const
 
virtual void setDetonationManager (DtDetonationManager *detonationManager)
 Manages the detonation callbacks generated by the simulation. More...
 
virtual DtDetonationManagerdetonationManager ()
 
virtual const DtDetonationManagerdetonationManager () const
 
virtual void setAmmunitionManager (DtAmmunitionManager *ammunitionManager)
 Gives access to ammunition available and the targets they can target. More...
 
virtual DtAmmunitionManagerammunitionManager ()
 
virtual void setFireManager (DtFireManager *fireManager)
 Manages the fire callbacks (fire/detonation interactions) generated by the simulation. More...
 
virtual DtFireManagerfireManager ()
 
virtual const DtFireManagerfireManager () const
 
virtual void setScenarioRunId (int)
 If used, a unique id that signifies this scenario run. More...
 
virtual int scenarioRunId () const
 
virtual void setRejectMismatchedScenarioMessages (bool)
 Sets whether or not to reject mismatched scenario run messages (default is true) More...
 
virtual bool rejectMismatchedScenarioMessages () const
 
virtual bool rejectMessage (const DtVrfObjectMessage *) const
 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. More...
 
virtual DtVrfSimSettingsManagervrfSimSettingsManager ()
 Returns the DtVrfSimSettingsManager. More...
 
virtual void addMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData)
 Add/Remove a function to be called when a particular message type is received. More...
 
virtual void removeMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData)
 
virtual DtVrfMessageInterfacemessageInterface () const
 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. More...
 
virtual
DtInterfaceMessageExecutive
messageExecutive ()
 
virtual DtVrfTDLMessageInterfacetdlMessageInterface () const
 tdlMessageInterface() provides access to the interface used to send TDL messages. More...
 
virtual void registerInterfaceCallbacks ()
 Register callbacks on the sim manager's interface message executive. More...
 
virtual bool registerExtendedProperties ()
 Registers standard VRF FOM classes to support extended state and parameter properties. More...
 
virtual const DtSimulationAddress & messageAddress () const
 This is the address that should be used as the sender for all messages originating from the backend. More...
 
virtual unsigned long sequenceNumber ()
 Gets the sequence number of the current scenario. More...
 
virtual void setSequenceNumber (unsigned long sequenceNumber)
 Sets the sequence number – should only be called from classes which actually create and send out the number in a load scenario message. More...
 
DtResourceMonitorresourceMonitor ()
 Get/set resource monitor. More...
 
void setResourceMonitor (DtResourceMonitor *)
 
DtRadarCoverageMonitorradarCoverageMonitor ()
 Get/set radarCoverage monitor. More...
 
void setRadarCoverageMonitor (DtRadarCoverageMonitor *)
 
DtTerrainProfileRequestManagerterrainProfileRequestManager ()
 Get/set terrain profile request manager. More...
 
void setTerrainProfileRequestManager (DtTerrainProfileRequestManager *)
 
virtual int vrfSessionId () const
 Returns the session id from the message interface. More...
 
virtual int vrfMessageVersionSupported () const
 Returns the vrf message version from the message interface. More...
 
virtual void runForDuration (double)
 Starts a run duration. More...
 
virtual double runDurationTime () const
 
virtual void stopSimulationDurationTimer ()
 Stops the current duration run timer. More...
 
virtual void processRunDurationComplete ()
 
virtual void addSimulationRunDurationCallback (DtRunDurationCallbackFcn tickFunction, void *userData)
 Adds callbacks for simulation completion from duration timeout. More...
 
virtual void removeSimulationRunDurationCallback (DtRunDurationCallbackFcn tickFunction, void *userData)
 
virtual void doNotSelfReflect (unsigned int)
 If we are not self reflecting, add this to the list of messages that do not want to be self reflected Not reflected: More...
 
virtual void selfReflect (unsigned int)
 
virtual bool selfReflecting () const
 Returns whether or not a message, if sent on the network, will also be received locally on the network. More...
 
virtual void addTickEntry (DtSimTickFunction tickFunction, void *userData) const
 Callback that will be called every simulation tick of the system. More...
 
virtual void removeTickEntry (DtSimTickFunction tickFunction, void *userData) const
 
virtual void addPostTickEntry (DtSimTickFunction tickFunction, void *userData) const
 Callbacks invoked at the end of the tick function. More...
 
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)
 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. More...
 
virtual const DtGlobalPlanManagerglobalPlanManager () const
 
virtual DtGlobalPlanManagerglobalPlanManager ()
 
virtual void setStealthCommandsManager (DtStealthCommandsManager *planManager)
 The stealth commands manager maintains and executes stealth commands. More...
 
virtual const
DtStealthCommandsManager
stealthCommandsManager () const
 
virtual DtStealthCommandsManagerstealthCommandsManager ()
 
virtual void setHostilityManager (DtHostilityManager *hostilityManager)
 The hostility manager keeps track of which forces are hostile to each other. More...
 
virtual const DtHostilityManagerhostilityManager () const
 
virtual DtHostilityManagerhostilityManager ()
 
virtual void setEngagementZonesManager (DtEngagementZonesManager *manager)
 The engagement zones manager which keeps track of engagement zones. More...
 
virtual const
DtEngagementZonesManager
engagementZonesManager () const
 
virtual DtEngagementZonesManagerengagementZonesManager ()
 
virtual void setScenarioExtrasMgr (DtScenarioExtrasMgr *scenarioExtrasMgr)
 The hostility manager keeps track of which forces are hostile to each other. More...
 
virtual const DtScenarioExtrasMgrscenarioExtrasMgr () const
 
virtual DtScenarioExtrasMgrscenarioExtrasMgr ()
 
void setEventManager (DtEventManager *)
 Event manager accessor. More...
 
DtEventManagereventManager () const
 
virtual void addEvent (const DtEvent &)
 Connect to the eventAdded signal sent by this class in order to get an indicaation of an event that has been added. More...
 
virtual void addEvent (const DtDetonationInteraction &)
 Convenience methods. More...
 
virtual void addEvent (const DtFireInteraction &)
 
virtual void addEvent (const DtAcknowledgeInteraction &)
 
virtual void addEvent (const DtStopFreezeInteraction &)
 
virtual void addEvent (const DtStartResumeInteraction &)
 
virtual void addEvent (const DtDataInteraction &)
 
virtual void addEvent (const DtSignalInteraction &)
 
virtual void addEvent (const DtCommentInteraction &)
 
virtual void addEvent (const DtSensorFieldOfViewControlInter &)
 
virtual void addevent (const DtSimInterfaceContent &)
 
virtual void addEvent (const DtDataInteractionWithTransportType &)
 
virtual void addEvent (const DtInfluenceInteraction &)
 
virtual void addEvent (const DtInfluenceInteractionExtension &)
 
virtual void addEvent (const DtEndGestureInter &)
 
virtual void addEvent (const DtExecuteGestureInter &)
 
virtual void setSimCommandDistributor (DtSimCommandDistributor *distributor)
 The sim command distributor managed callbacks to be notified when sim command are received. More...
 
virtual const
DtSimCommandDistributor
simCommandDistributor () const
 
virtual DtSimCommandDistributorsimCommandDistributor ()
 
virtual void setDebugDrawManager (DtDebugDrawManager *debugDrawManager)
 The debugDrawManager is responsible to send draw request to the debugDrawRenderer. More...
 
virtual const DtDebugDrawManagerdebugDrawManager () const
 
virtual DtDebugDrawManagerdebugDrawManager ()
 
void setClockMode (int clockMode)
 Configuration for the clock to be used for absolute time stamping (in windows) More...
 
virtual DtU32 scenarioCapabilities () const
 Indicates the capabilities this VRF based application. More...
 
virtual void setScenarioCapabilities (DtU32 v)
 

Static Public Member Functions

static void TickFunction (void *userData)
 This function is registered on the execution list for the sim thread (called pvPacketThread, currently). More...
 
static void randSeedCallback (DtSimMessage *msg, void *usr)
 Callbacks registered on the simManagers Message executive. More...
 
static void runDurationCompleteCallback (DtTimer *)
 Callback for when duration run timer has completed. More...
 

Protected Attributes

DtVrfSimOptionsInterfacemySimOptions
 
DtSchedulermyScheduler
 Objects we create. More...
 
DtExerciseClockmyExerciseClock
 The simulation back-end's clock. More...
 
DtNoArgumentCallbackList myTickList
 
DtNoArgumentCallbackList myPostTickList
 
DtFrameRateMonitormyFrameRateMonitor
 
DtVrfSimSettingsManagermyVrfSimSettingsManager
 
DtVrfMessageInterfacemyMessageInterface
 out message interface More...
 
DtVrfTDLMessageInterfacemyTDLMessageInterface
 
DtExerciseConn * myExerciseConn
 Objects we hold pointers onto for others. More...
 
DtPhysicalWorldmyPhysicalWorld
 
DtCommModelManagermyCommModelManager
 
DtSimTerrainRequestManagermySimTerrainRequestManager
 
DtVrfObjectManagermyVrfObjectManager
 
DtEmbeddedEntityInfoManagermyEmbeddedEntityInfoManager
 
DtAggregateSpatialModelmyAggregateSpatialModel
 
DtDetonationManagermyDetonationManager
 
DtAmmunitionManagermyAmmunitionManager
 
DtFireManagermyFireManager
 
DtGlobalPlanManagermyGlobalPlanManager
 
DtStealthCommandsManagermyStealthCommandsManager
 
DtHostilityManagermyHostilityManager
 
DtEngagementZonesManagermyEngagementZonesManager
 
DtScenarioExtrasMgrmyScenarioExtrasMgr
 
DtResourceMonitormyResourceMonitor
 
DtRadarCoverageMonitormyRadarCoverageMonitor
 
DtTerrainProfileRequestManagermyTerrainProfileRequestManager
 
DtScriptedTaskManagermyScriptedTaskManager
 
DtScenarioEventManagermyScenarioEventManager
 
DtHazardAreaManagermyHazardAreaManager
 
DtIntelCollectionAreaManagermyIntelCollectionAreaManager
 
DtScriptedObjectsMovementManagermyScriptedObjectsMovementManager
 
DtParallelTickManagermyParallelTickManager
 
DtVrfNavAreaManagermyVrfNavAreaManager
 
DtSpawnSinkManagermySpawnSinkManager
 
DtSimCommandDistributormySimCommandDistributor
 
DtEventManagermyEventManager
 
DtDebugDrawManagermyDebugDrawManager
 
int myClockMode
 Configuration for the clock to be used for absolute time stamping (in windows) More...
 
DtTimermySimulationDurationTimer
 If non-null this scenario is only scheduled to run for the given amount of time delta from the current simulation time. More...
 
DtNoArgumentCallbackList mySimulationDurationCallbackList
 
double myRunDurationTime
 
int myScenarioRunId
 
bool myRejectMismatchedScenarioMessages
 
DtU32 myScenarioCapabilities
 
tbb::spin_mutex myMutex
 

Private Member Functions

 DtSimManager (const DtSimManager &orig)
 Copy constructor - not implemented. More...
 
DtSimManageroperator= (const DtSimManager &orig)
 Assignment operator - not implemented. More...
 

Detailed Description

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

Constructor & Destructor Documentation

DtSimManager::DtSimManager ( DtExerciseConn *  connection)

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::createExerciseClock ( )
virtual

Exercise clock for back-end.

Maintains concept of simulation time, frame rate and the various frame rate modes (variable, fixed-frame best effort, fixed-frame run to complete). If application is HLA13 or HLA1516 (i.e. if DtHLA is defined), creates a clock of type DtHlaExerciseClock. Otherwise, creates a a clock of type DtExerciseClock. DtHlaExerciseClock is extended to include the concept of HLA time management mode. Clock may optionally be configured to enable time regulating and constrained modes. Configurable through the vrfSim.mtl parameter file.

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::createParallelTickManager ( )
virtual
virtual void DtSimManager::tick ( )
virtual

Ticks the scheduler and then all registered tick callbacks.

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
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
DtExerciseConn* DtSimManager::exerciseConn ( )

exerciseConn() provides access to the virtual network.

Use it to send or register callbacks for interactions (but see the interaction manager below).

const DtExerciseClock* DtSimManager::exerciseClock ( ) const

exerciseClock() provides access to the current dT, current exercise time and current elapsed time.

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 DtParallelTickManager* DtSimManager::parallelTickManager ( )
virtual

Access parallelTickManager 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 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
virtual const DtPhysicalWorld* DtSimManager::physicalWorld ( ) const
virtual
virtual void DtSimManager::setCommModelManager ( DtCommModelManager newCommModelManager)
virtual
Returns
A pointer to the DtCommModelManager.
virtual DtCommModelManager* DtSimManager::commModelManager ( )
virtual
virtual const DtCommModelManager* DtSimManager::commModelManager ( ) const
virtual
virtual void DtSimManager::setSimTerrainRequestManager ( DtSimTerrainRequestManager newSimTerrainRequestManager)
virtual
Returns
A pointer to the DtSimTerrainRequestManager.
virtual DtSimTerrainRequestManager* DtSimManager::simTerrainRequestManager ( )
virtual
virtual const DtSimTerrainRequestManager* DtSimManager::simTerrainRequestManager ( ) const
virtual
virtual void DtSimManager::setVrfObjectManager ( DtVrfObjectManager entityManager)
virtual

vrfObjectManager() provides access to all the objects in the system; both local and remote.

Objects include entities, control objects.

virtual DtVrfObjectManager* DtSimManager::vrfObjectManager ( )
virtual
virtual const DtVrfObjectManager* DtSimManager::vrfObjectManager ( ) const
virtual
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
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 DtEventId DtSimManager::nextEventId ( const DtGlobalObjectDesignator entId)
virtual

Call to get an event id to use in an interaction.

Moved to simManager such that a call to the exerciseConnection does not need to be made fro, other code (in case this implementation changes)

virtual void DtSimManager::setAggregateSpatialModel ( DtAggregateSpatialModel aggregateSpatialModel)
virtual

aggregateSpatialModel() provides an up to date view of all aggregates' location (location, velocity, orientation, and bounding geometry).

virtual DtAggregateSpatialModel* DtSimManager::aggregateSpatialModel ( )
virtual
virtual const DtAggregateSpatialModel* DtSimManager::aggregateSpatialModel ( ) const
virtual
virtual void DtSimManager::setDetonationManager ( DtDetonationManager detonationManager)
virtual

Manages the detonation callbacks generated by the simulation.

Notifies the appropriate registered DtVrfObjects (entities) of detonations they should process.

virtual DtDetonationManager* DtSimManager::detonationManager ( )
virtual
virtual const DtDetonationManager* 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 DtVrfObjects (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
virtual DtGlobalPlanManager* DtSimManager::globalPlanManager ( )
virtual
virtual void DtSimManager::setStealthCommandsManager ( DtStealthCommandsManager planManager)
virtual

The stealth commands manager maintains and executes stealth commands.

virtual const DtStealthCommandsManager* DtSimManager::stealthCommandsManager ( ) const
virtual
virtual DtStealthCommandsManager* DtSimManager::stealthCommandsManager ( )
virtual
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
virtual DtHostilityManager* DtSimManager::hostilityManager ( )
virtual
virtual void DtSimManager::setEngagementZonesManager ( DtEngagementZonesManager manager)
virtual

The engagement zones manager which keeps track of engagement zones.

virtual const DtEngagementZonesManager* DtSimManager::engagementZonesManager ( ) const
virtual
virtual DtEngagementZonesManager* DtSimManager::engagementZonesManager ( )
virtual
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
virtual DtScenarioExtrasMgr* DtSimManager::scenarioExtrasMgr ( )
virtual
void DtSimManager::setEventManager ( DtEventManager )

Event manager accessor.

DtEventManager * DtSimManager::eventManager ( ) const
inline

References myEventManager.

virtual void DtSimManager::addEvent ( const DtEvent )
virtual

Connect to the eventAdded signal sent by this class in order to get an indicaation of an event that has been added.

Connect to the individual event signal to only get notified for a particular event

virtual void DtSimManager::addEvent ( const DtDetonationInteraction )
virtual

Convenience methods.

virtual void DtSimManager::addEvent ( const DtFireInteraction &  )
virtual
virtual void DtSimManager::addEvent ( const DtAcknowledgeInteraction &  )
virtual
virtual void DtSimManager::addEvent ( const DtStopFreezeInteraction &  )
virtual
virtual void DtSimManager::addEvent ( const DtStartResumeInteraction &  )
virtual
virtual void DtSimManager::addEvent ( const DtDataInteraction )
virtual
virtual void DtSimManager::addEvent ( const DtSignalInteraction &  )
virtual
virtual void DtSimManager::addEvent ( const DtCommentInteraction &  )
virtual
virtual void DtSimManager::addEvent ( const DtSensorFieldOfViewControlInter )
virtual
virtual void DtSimManager::addevent ( const DtSimInterfaceContent )
virtual
virtual void DtSimManager::addEvent ( const DtDataInteractionWithTransportType )
virtual
virtual void DtSimManager::addEvent ( const DtInfluenceInteraction )
virtual
virtual void DtSimManager::addEvent ( const DtInfluenceInteractionExtension )
virtual
virtual void DtSimManager::addEvent ( const DtEndGestureInter )
virtual
virtual void DtSimManager::addEvent ( const DtExecuteGestureInter )
virtual
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
virtual DtSimCommandDistributor* DtSimManager::simCommandDistributor ( )
virtual
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
virtual DtDebugDrawManager* DtSimManager::debugDrawManager ( )
virtual
void DtSimManager::setClockMode ( int  clockMode)

Configuration for the clock to be used for absolute time stamping (in windows)

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
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 bool DtSimManager::registerExtendedProperties ( )
virtual

Registers standard VRF FOM classes to support extended state and parameter properties.

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::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
virtual bool DtSimManager::selfReflecting ( ) const
virtual

Returns whether or not a message, if sent on the network, will also be received locally on the network.

Member Data Documentation

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

Objects we create.

DtExerciseClock* DtSimManager::myExerciseClock
protected

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::myTickList
mutableprotected
DtNoArgumentCallbackList DtSimManager::myPostTickList
mutableprotected
DtFrameRateMonitor* DtSimManager::myFrameRateMonitor
protected
DtVrfSimSettingsManager* DtSimManager::myVrfSimSettingsManager
protected
DtVrfMessageInterface* DtSimManager::myMessageInterface
protected

out message interface

DtVrfTDLMessageInterface* DtSimManager::myTDLMessageInterface
protected
DtExerciseConn* DtSimManager::myExerciseConn
protected

Objects we hold pointers onto for others.

DtPhysicalWorld* DtSimManager::myPhysicalWorld
protected
DtCommModelManager* DtSimManager::myCommModelManager
protected
DtSimTerrainRequestManager* DtSimManager::mySimTerrainRequestManager
protected
DtVrfObjectManager* DtSimManager::myVrfObjectManager
protected
DtEmbeddedEntityInfoManager* DtSimManager::myEmbeddedEntityInfoManager
protected
DtAggregateSpatialModel* DtSimManager::myAggregateSpatialModel
protected
DtDetonationManager* 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
DtParallelTickManager* DtSimManager::myParallelTickManager
protected
DtVrfNavAreaManager* DtSimManager::myVrfNavAreaManager
protected
DtSpawnSinkManager* DtSimManager::mySpawnSinkManager
protected
DtSimCommandDistributor* DtSimManager::mySimCommandDistributor
protected
DtEventManager* DtSimManager::myEventManager
protected

Referenced by eventManager().

DtDebugDrawManager* DtSimManager::myDebugDrawManager
protected
int DtSimManager::myClockMode
protected

Configuration for the clock to be used for absolute time stamping (in windows)

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
tbb::spin_mutex DtSimManager::myMutex
protected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)