VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Simulation Services

This section describes a layer of services that various managers and modules in the simulation engine provide.

These simulation services are accessible through the DtSimulationServices class. A single instance of this class is created by the sim engine and servies as a central access point for these services. It is designed to be thread safe, so that these services may all be called from within any DtSimComponent subclasses without any locking.

The Simulation Manager

Each VR-Forces application has a Simulation Manager (DtSimManager). The Simulation Manager maintains the exercise time, a scheduler, and the other managers and services that may be accessed through the DtSimulationServices instance. While these services are also available directly from the DtSimManager, it is recommended that DtSimulationServices be used whenever possible, as it provides a thread-safe interface that is not guaranteed by using the DtSimManager directly.

Note
In VR-Forces version 4 these services were accessed directly through the DtSimManager. When upgrading to VR-Forces 5.0 or later it is recommended that all plug-ins and extensions to the sim engine be updated to use the DtSimulationServices.

Each time the Simulation Manager’s tick() function is called, it does the following:

  1. Ticks the scheduler.
  2. Ticks all registered tick callbacks.
  3. Ticks all registered post-tick callbacks.

The Simulation Manager is one of the top-level classes maintained by the DtCgf class. You can obtain a pointer to it through DtCgf::simManager().

Simulation Execution

DtSimulationServices provides access to information and tools related to the execution of the simulation. This includes a number of functions related to the simulation time and frame time, the current time multiplier, a scheduler for processing timed events, tick callback function registration, and access to the callback queues that manage parallel processing of sim component execution.

Simulation Configuration

These services provide access to sim engine settings that may be configured by the user, either at run-time through the VR-Forces GUI or at start-up using a configuration file or command line parameters.

Communication

The communication services provide the ability for the sim engine to communicate with other applications. The communication services include:

Note
VR-Forces relies on VR-Link to handle DIS and HLA networking. A VR-Forces developer's license includes a license for VR-Link so that you can use VR-Link functions and classes directly from applications that use any of the VR-Forces APIs.
VR-Link provides a protocol-independent interface to DIS and HLA. If you use it, you do not need to know the lower level details of these protocols to build VR-Forces. VR-Forces takes advantage of VR-Link's tools for managing objects and interactions, such as reflected entity lists. If you are not already familiar with VR-Link, we recommend that you review the conceptual material in VR-Link Developers Guide

Scenario Control

These services pertain to controlling the operation of the scenario.

Object Management

These services manage the simulation objects in the sim engine. They are used to create, store, and provide access to information on each object known by the sim engine. They also provide access to information regarding the configuration of objects. For more on VR-Forces objects, see Simulation Object Design.

Simulated Environment

These services are responsible for the simulated environment and the events that happen within it. This covers a wide range of services, such as fire and detonation events, the terrain and the physical world, special simulation zones, and more.

Miscellaneous

These services provide capabilities that do not fall under the categories above.


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