The simulation engine is controlled by a single,top-level class called the Simulation Manager.
More...
Public Member Functions |
| | DtSimManager (DtExerciseConn *connection) |
| | constructor
|
| virtual | ~DtSimManager () |
| | destructor
|
| virtual bool | init () |
| | creates all the other pieces.
|
virtual const
DtVrfSimOptionsInterface * | simOptions () const |
| | Access sim options object.
|
| virtual void | setSimOptions (const DtVrfSimOptionsInterface &) |
| | Takes ownership.
|
| virtual bool | createExerciseClock () |
| | Exercise clock for back-end.
|
| virtual bool | createScheduler () |
| virtual bool | createMessageInterface () |
| virtual bool | createTDLMessageInterface () |
| virtual bool | createFrameRateMonitor () |
| virtual bool | createVrfSimSettingsManager () |
| | Creates the DtVrfSimSettingsManager.
|
| virtual bool | createParallelTickManager () |
| virtual void | tick () |
| | Ticks the scheduler and then all registered tick callbacks.
|
| virtual bool | deliverMessage (const DtSimInterfaceMessage &msg) |
| virtual bool | receiveMessage (const DtSimInterfaceMessage &msg) |
| virtual bool | createAndDeliverMessage (const DtSimulationAddress &recipient, const DtSimInterfaceContent &content, bool overrideTimestampOrder=true) |
| virtual DtExerciseConn * | exerciseConn () |
| | exerciseConn() provides access to the virtual network.
|
| virtual DtExerciseClock * | exerciseClock () |
| | exerciseClock() provides access to the current dT, current exercise time and current elapsed time.
|
| virtual DtFrameRateMonitor * | frameRateMonitor () |
| | provides access to the frameRateMonitor, which is responsible for providing frame rate statistics as requested.
|
| virtual DtParallelTickManager * | parallelTickManager () |
| | Access parallelTickManager which can be used to execute code concurrently in the main thread.
|
| virtual DtScheduler * | scheduler () |
| | scheduler() is used to schedule, control, and delete internal events.
|
| virtual void | setVrfObjectManager (DtVrfObjectManager *entityManager) |
| | vrfObjectManager() provides access to all the objects in the system; both local and remote.
|
| virtual DtVrfObjectManager * | vrfObjectManager () |
| virtual const DtVrfObjectManager * | vrfObjectManager () const |
| virtual void | setVrfNavAreaManager (DtVrfNavAreaManager *navAreaManager) |
| virtual DtVrfNavAreaManager * | vrfNavAreaManager () |
| virtual const DtVrfNavAreaManager * | vrfNavAreaManager () const |
| virtual void | setSpawnSinkManager (DtSpawnSinkManager *spawnSinkManager) |
| virtual DtSpawnSinkManager * | spawnSinkManager () |
| virtual const DtSpawnSinkManager * | spawnSinkManager () 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.
|
virtual
DtEmbeddedEntityInfoManager * | embeddedEntityInfoManager () |
virtual const
DtEmbeddedEntityInfoManager * | embeddedEntityInfoManager () const |
| virtual void | setScriptedTaskManager (DtScriptedTaskManager *) |
| | scriptedTaskManager() provides access to all the scripted tasks in the system.
|
| virtual DtScriptedTaskManager * | scriptedTaskManager () |
virtual const
DtScriptedTaskManager * | scriptedTaskManager () const |
| virtual void | setScenarioEventManager (DtScenarioEventManager *) |
| | scenarioEventManager() provides access to all the scenario events in the system.
|
| virtual DtScenarioEventManager * | scenarioEventManager () |
virtual const
DtScenarioEventManager * | scenarioEventManager () const |
| virtual void | setHazardAreaManager (DtHazardAreaManager *) |
| | hazardAreaManager() provides access to all the hazard areas in the system.
|
| virtual DtHazardAreaManager * | hazardAreaManager () |
| virtual const DtHazardAreaManager * | hazardAreaManager () const |
| virtual void | setIntelCollectionAreaManager (DtIntelCollectionAreaManager *) |
| | intelCollectionAreaManager() provides access to all the intel collection areas in the system.
|
virtual
DtIntelCollectionAreaManager * | intelCollectionAreaManager () |
virtual const
DtIntelCollectionAreaManager * | intelCollectionAreaManager () const |
| virtual void | setScriptedObjectsMovementManager (DtScriptedObjectsMovementManager *) |
| | scriptedObjectsMovementManager() provides access to all the scripted movement objects in the system.
|
virtual
DtScriptedObjectsMovementManager * | scriptedObjectsMovementManager () |
virtual const
DtScriptedObjectsMovementManager * | scriptedObjectsMovementManager () const |
| virtual void | setAggregateSpatialModel (DtAggregateSpatialModel *aggregateSpatialModel) |
| | aggregateSpatialModel() provides an up to date view of all aggregates' location (location, velocity, orientation, and bounding geometry).
|
| virtual DtAggregateSpatialModel * | aggregateSpatialModel () |
virtual const
DtAggregateSpatialModel * | aggregateSpatialModel () const |
| virtual void | setDetonationManager (DtDetonationManager *detonationManager) |
| | Manages the detonation callbacks generated by the simulation.
|
| virtual DtDetonationManager * | detonationManager () |
| virtual const DtDetonationManager * | detonationManager () const |
| virtual void | setAmmunitionManager (DtVrfAmmunitionManager *ammunitionManager) |
| | Gives access to ammunition available and the targets they can target.
|
| virtual DtVrfAmmunitionManager * | ammunitionManager () |
| virtual void | setFireManager (DtFireManager *fireManager) |
| | Manages the fire callbacks (fire/detonation interactions) generated by the simulation.
|
| virtual DtFireManager * | fireManager () |
| virtual void | setScenarioRunId (int) |
| | If used, a unique id that signifies this scenario run.
|
| virtual int | scenarioRunId () const |
| virtual void | setRejectMismatchedScenarioMessages (bool) |
| | Sets whether or not to reject mismatched scenario run messages (default is true)
|
| 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.
|
| virtual DtVrfSimSettingsManager * | vrfSimSettingsManager () |
| | Returns the DtVrfSimSettingsManager.
|
| virtual void | addMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData) |
| | Add/Remove a function to be called when a particular message type is received.
|
| virtual void | removeMessageCallback (int type, DtMessageCallbackFcn fcn, void *usrData) |
| virtual DtVrfMessageInterface * | messageInterface () 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.
|
virtual
DtInterfaceMessageExecutive * | messageExecutive () |
| virtual DtVrfTDLMessageInterface * | tdlMessageInterface () const |
| | tdlMessageInterface() provides access to the interface used to send TDL messages.
|
| virtual void | registerInterfaceCallbacks () |
| | Register callbacks on the sim manager's interface message executive.
|
| virtual bool | registerExtendedProperties () |
| | Registers standard VRF FOM classes to support extended state and parameter properties.
|
| virtual const DtSimulationAddress & | messageAddress () const |
| | This is the address that should be used as the sender for all messages originating from the backend.
|
| virtual unsigned long | sequenceNumber () |
| | Gets the sequence number of the current scenario.
|
| 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.
|
| DtResourceMonitor * | resourceMonitor () |
| | Get/set resource monitor.
|
| void | setResourceMonitor (DtResourceMonitor *) |
| DtRadarCoverageMonitor * | radarCoverageMonitor () |
| | Get/set radarCoverage monitor.
|
| void | setRadarCoverageMonitor (DtRadarCoverageMonitor *) |
| virtual int | vrfSessionId () const |
| | Returns the session id from the message interface.
|
| virtual int | vrfMessageVersionSupported () const |
| | Returns the vrf message version from the message interface.
|
| virtual void | runForDuration (double) |
| | Starts a run duration.
|
| virtual double | runDurationTime () const |
| virtual void | stopSimulationDurationTimer () |
| | Stops the current duration run timer.
|
| virtual void | processRunDurationComplete () |
| virtual void | addSimulationRunDurationCallback (DtRunDurationCallbackFcn tickFunction, void *userData) |
| | Adds callbacks for simulation completion from duration timeout.
|
| virtual void | removeSimulationRunDurationCallback (DtRunDurationCallbackFcn tickFunction, void *userData) |
| __itt_domain * | componentTickITTDomain () |
| | Return ITT domain for profiling sim component ticks.
|
|
| virtual void | addTickEntry (DtSimTickFunction tickFunction, void *userData) |
| | Callback that will be called every simulation tick of the system.
|
| virtual void | removeTickEntry (DtSimTickFunction tickFunction, void *userData) |
|
| virtual void | addPostTickEntry (DtSimTickFunction tickFunction, void *userData) |
| | Callbacks invoked at the end of the tick function.
|
| virtual void | removePostTickEntry (DtSimTickFunction tickFunction, void *userData) |
|
| virtual void | setPhysicalWorld (DtPhysicalWorld *newPhysicalWorld) |
| virtual DtPhysicalWorld * | physicalWorld () |
| virtual const DtPhysicalWorld * | physicalWorld () const |
|
| virtual void | setCommModelManager (DtCommModelManager *newCommModelManager) |
| virtual DtCommModelManager * | commModelManager () |
| virtual const DtCommModelManager * | commModelManager () 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.
|
| virtual const DtGlobalPlanManager * | globalPlanManager () const |
| virtual DtGlobalPlanManager * | globalPlanManager () |
|
| virtual void | setStealthCommandsManager (DtStealthCommandsManager *planManager) |
| | The stealth commands manager maintains and executes stealth commands.
|
virtual const
DtStealthCommandsManager * | stealthCommandsManager () const |
| virtual DtStealthCommandsManager * | stealthCommandsManager () |
|
| virtual void | setHostilityManager (DtHostilityManager *hostilityManager) |
| | The hostility manager keeps track of which forces are hostile to each other.
|
| virtual const DtHostilityManager * | hostilityManager () const |
| virtual DtHostilityManager * | hostilityManager () |
|
| virtual void | setEngagementZonesManager (DtEngagementZonesManager *manager) |
| | The engagement zones manager which keeps track of engagement zones.
|
virtual const
DtEngagementZonesManager * | engagementZonesManager () const |
| virtual DtEngagementZonesManager * | engagementZonesManager () |
|
| virtual void | setScenarioExtrasMgr (DtScenarioExtrasMgr *scenarioExtrasMgr) |
| | The hostility manager keeps track of which forces are hostile to each other.
|
| virtual const DtScenarioExtrasMgr * | scenarioExtrasMgr () const |
| virtual DtScenarioExtrasMgr * | scenarioExtrasMgr () |
|
| virtual void | setSimCommandDistributor (DtSimCommandDistributor *distributor) |
| | The sim command distributor managed callbacks to be notified when sim command are received.
|
virtual const
DtSimCommandDistributor * | simCommandDistributor () const |
| virtual DtSimCommandDistributor * | simCommandDistributor () |
|
| virtual DtU32 | scenarioCapabilities () const |
| | Indicates the capabilities this VRF based application.
|
| virtual void | setScenarioCapabilities (DtU32 v) |
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
-