![]() |
VR-Forces Developer's Guide
|
The top level class of a VR-Forces Simulation Engine, representing a Computer Generated Forces instance. Through this class you can control the high-level functions of a CGF, including the following:
Classes | |
| struct | SimulationObjectGroupInformation |
Static Public Member Functions | |
| static void | runDurationCompleteCallback (void *) |
| static void | objectParametersOpCallback (DtSimMessage *msg, void *usr) |
Protected Types | |
| typedef std::pair< std::string, bool > | ActionCategory |
| typedef std::map< std::string, ActionCategory > | ActionCategories |
| typedef std::map< DtString, SimulationObjectGroupInformation > | StoredSimulationObjectGroupInformation |
| typedef std::vector < DtLoadOrderOfBattleHandler * > | SimulationObjectGroupsToBeCreated |
Protected Member Functions | |
| virtual void | processScenarioDescription (DtSimMessage *) |
| virtual void | processSetScenarioFilename (DtSimMessage *) |
| virtual void | processSetRunDuration (DtSimMessage *) |
| virtual void | processActionCategoriesRequest (DtSimMessage *msg) |
| virtual void | processScenarioStatusRequest (DtSimMessage *msg) |
| virtual bool | beginFrame (DtCommunicationManagerPerformanceTimerInformation *info=nullptr) |
| virtual bool | advanceFrame () |
| virtual DtFilename | spawnManagerTemplateFile (const DtScenarioExplorer &) const |
| virtual void | loadAllPlugins () |
| virtual bool | loadComponentAttachmentTable (const DtFilename &filename) |
| virtual bool | loadTerrain (const DtFilename &filename) |
| virtual DtFilename | findTerrainFile (const DtFilename &startFile, const std::vector< DtFilename > &searchPaths, const std::string &extension) const |
| virtual bool | loadOrderOfBattle (const DtScenario &scenario, DtLoadScenarioData &) |
| virtual bool | loadOrderOfBattle (const DtInMemorySnapshot::OOB &) |
| virtual bool | writeOrderOfBattle (const DtScenario &scenario) const |
| virtual bool | writeOrderOfBattle (DtInMemorySnapshot::OOB &) const |
| virtual bool | loadScenarioScripts (const DtFilename &filename) |
| virtual bool | loadScenarioScriptsFromZipFile (const DtFilename &scenarioZipFile, const DtFilename &filename) |
| virtual bool | loadScenarioScripts (const std::string &buffer) |
| virtual bool | loadOrbat (const DtFilename &filename, DtOrbatManager *intoOm=0, bool clearBeforeLoading=true) |
| virtual bool | loadOrbatFromZipFile (const DtFilename &scenarioZipFile, const DtFilename &filename, DtOrbatManager *intoOm=0, bool clearBeforeLoading=true) |
| virtual bool | loadOrbat (const std::string &buffer, DtOrbatManager *intoOm=0, bool clearBeforeLoading=true) |
| virtual void | prepareForScenarioReinitialize () |
| virtual bool | isScenarioReinitializing () const |
| virtual bool | loadParameterDb (const DtFilename &filename, const DtReaderWriter::SearchPaths &searchPaths, bool clearLoadedObjects=true, bool preloadParameters=false) |
| virtual bool | loadObjectParametersDBFile (const DtFilename &opdFile, const DtReaderWriter::SearchPaths &searchPaths, bool clearLoadedObjects=true, bool preloadParameters=false) |
| virtual bool | loadPhysicalWorldFile (const DtFilename &file, bool force=false) |
| virtual bool | loadDetonationParametersFile (const DtFilename &file, bool force=false) |
| virtual bool | loadTerrainDeformationParametersFile (const DtFilename &file, bool force=false) |
| virtual bool | loadAmmunitionParametersFile (const DtFilename &file, bool force=false) |
| virtual bool | loadPlans (const DtFilename &filename) |
| virtual bool | loadPlansFromZipFile (const DtFilename &scenarioZipFile, const DtFilename &filename) |
| virtual bool | loadPlans (const std::string &buffer) |
| virtual bool | loadGlobalPlans (const DtFilename &filename) |
| virtual bool | loadGlobalPlansFromZipFile (const DtFilename &scenarioZipFile, const DtFilename &filename) |
| virtual void | loadHostilityAndExtras (const DtScenarioExplorer &se) |
| virtual void | loadHostilityAndExtrasFromZipFile (const DtFilename &scenarioZipFile, const DtScenarioExplorer &se) |
| virtual void | loadHostilityAndExtras (const std::string &buffer) |
| virtual void | loadActivities (const DtScenarioExplorer &) |
| virtual void | loadModelSetFiles (const DtScenarioExplorer &) |
| virtual void | loadActionCategories (const DtFilename &f) |
| virtual bool | loadForceHostility (const DtFilename &filename, bool clear=true) |
| virtual bool | loadForceHostilityFromZipFile (const DtFilename &scenarioZipFile, const DtFilename &filename, bool clear=true) |
| virtual bool | loadScenarioExtras (const DtFilename &filename) |
| virtual bool | loadScenarioExtrasFromZipFile (const DtFilename &, const DtFilename &filename) |
| virtual bool | loadScenarioExtras (const std::string &buffer) |
| virtual void | processObjectParametersOp (DtSimMessage *msg) |
| virtual void | createAndInitScenarioLoadManager () |
| virtual void | emptyParametersDB () |
| virtual void | setAutoReorganization (bool onOff) |
| virtual DtVrfPlugin * | loadPlugin (const DtString &) |
| virtual bool | setupCommModelsForScenario (const DtScenarioExplorer &e) |
| virtual void | updateReadyStatus () |
| virtual void | clearAllSimulationModelSetInformation () |
| virtual void | initializeCgfConsoleCommands () |
| virtual void | processCloseScenarioEvent (const makVrfEvents::DtEvent &) |
| virtual void | processLoadScenarioEvent (const makVrfEvents::DtEvent &) |
| virtual bool | createDIGuyCharacterManager (const DtFilename &diGuyAnimationsFile) |
| void | setVrfCreator (DtVrfCreator *creator) |
| virtual bool | differingModelSets (DtScenario *) const |
| virtual void | simControlEvent (const makVrfEvents::DtEvent &) |
| virtual void | clearObjectsAwaitingDiscovery () |
| virtual void | processObjectsAwaitingDiscovery () |
| virtual void | terrainPaging (bool) |
| virtual void | jobQueueStatusChanged (bool) |
| bool | ownVrfCreator () const |
| void | setOwnVrfCreator (bool yesOrNo) |
Static Protected Member Functions | |
| static void | scenarioDescriptionCallback (DtSimMessage *, void *usr) |
| static void | setScenarioFilenameCallback (DtSimMessage *, void *usr) |
| static void | setRunDurationCallback (DtSimMessage *, void *usr) |
| static void | actionCategoriesRequestCallback (DtSimMessage *msg, void *usr) |
| static void | scenarioStatusRequestCallback (DtSimMessage *msg, void *usr) |
Private Member Functions | |
| DtCgf (const DtCgf &original) | |
| DtCgf & | operator= (const DtCgf &original) |
| static void | simCommandCallback (DtSimMessage *msg, void *usr) |
| virtual void | processSimCommand (DtSimMessage *msg) |
| static void | deferredLoadScenarioCallback (void *data) |
| virtual void | processDeferredLoadScenario () |
| virtual void | processLoadScenario (const DtScenario *=0, const DtInMemorySnapshot *=0) |
| static void | deferredReinitializeScenarioCallback (void *data) |
| virtual void | processDeferredReinitializeScenario () |
| static void | deferredRollbackCallback (void *data) |
| virtual void | processDeferredRollback () |
| static void | deferredImportScenarioCallback (void *data) |
| virtual void | processDeferredImportScenario () |
| static void | deferredRewindCallback (void *data) |
| virtual void | processDeferredRewind () |
|
protected |
Map of ID and screen string for action categories. Only used by the front-end Not currently set up for modification unless editing original actionCategories.tsk.
|
protected |
|
protected |
|
protected |
| DtCgf::DtCgf | ( | const DtSimulationAddress & | addr, |
| const DtU32 & | capabilities = 0xffff |
||
| ) |
Constructor. Object is not usable until init is called. addr is the DIS/RPR site Id/application Id address of the simulation. sessionId indicates the session in which this CGF is participating. VR-Forces apps with the same session Id are capable of exchanging interface messages (and therefore capable of controlling one another, i.e. creating and destroying entities and objects, tasking, etc.).
|
virtual |
Destructor.
|
private |
not implemented. Copying this class is not supported.
|
virtual |
Init function - creates and initializes all the factories, members, and other objects used by the cgf to perform the simulation. Note that the order in which components are created is the order in which they are ticked.
| conn | A preexisting communication manager. The cgf does not take ownership of the connect - the user is responsible for deleting it. |
| creator | An optional parameter which defaults to 0. If not specified, the cgf will create its own DtVrfCreator, and maintain ownership over it. If the creator is user specified, then the cgf will maintain knowledge of it, but will not be responsible for ownership - the user must delete it. |
| entityAdvisory | An estimate of the expected number of sim objects to be simulated. Defaults to 100. |
|
virtual |
Access sim options object.
|
virtual |
Takes ownership.
|
virtual |
Tick the simulation engine, allowing our internal clock to determine the current time.
|
virtual |
Sends a final status which is to indicate this cgf is being deleted and ticks the communication manager to send out.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Exports the information from the current scenario to the specified file format using the supplied file as the base. Will return the filename saved if successful, or empty filename if failure.
|
virtual |
Sets the app data directory. Must be called before init.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Set the simulation address to put into the communicationManager.
|
virtual |
Sets the user data directory. Must be called before init.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Sets the data directory. Must be called before init.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Get the shared data directory. The shared directory can be referenced in other directories using The macro string "$(SHARED_DATA_DIR)".
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Upper range for app id in case we create more than 65K objects.
| int DtCgf::appIdRangeMax | ( | ) | const |
Imports the specified scenario description file into the current scenario.
|
virtual |
Load the specified scenario file, making it the current scenario. All objects in the scenario will be loaded, and the object map will not be processed. Calls loadScenario(const DtScenario& scenario). If supplied, the new scenario run id.
|
virtual |
Load the specified scenario, making it the current scenario. All objects in the scenario will be loaded, and the object map will not be processed. Note that this initiates the load scenario process, closing the current scenario, and then registering the post-tick callback deferredLoadScenario to complete the load operation. Calling tick() will complete the load. If supplied, the new scenario run id.
|
virtual |
Queues a rollback to the scenario at the given in memory snapshot. If supplied, the new scenario run id.
|
virtual |
Rolls back to the scenario at the given in memory snapshot. If supplied, the new scenario run id.
|
virtual |
Clears out all simulation objects in scenario.
|
virtual |
Imports the scenario into the currently loaded scenario. Terrain and simulation model sets will be ignored for the currently loaded terrain and simulation model set.
|
virtual |
Imports the specified scenario description file into the current scenario.
|
virtual |
Create a new scenario, making it the current scenario. If a terrain filename is specified, loads the terrain database after the first call to tick(). Loads the parameter database file. If no parameter database filename is given, loads the default parameter database.
|
inline |
Returns the scenario status object.
|
inline |
Imports the specified scenario description file into the current scenario.
|
virtual |
Imports the specified scenario description file into the current scenario.
Save the current scenario. Only local objects will be saved into the scenario – objects from other back-ends will not be saved and an object map will not be created.
|
virtual |
Snapshots scenario to given in memory structure.
|
virtual |
Rolls back the snapshot to the current simulation time. Note that this is only good for this cgf. In a multiple cgf environment calling this method will have unpredictable, and possibly buggy, results.
|
virtual |
Calls to Snapshot manager to snapshot scenario. If makeBase is true makes this snapshot the new "base" snapshot (which is one the front-end can rewind to by a single click)
|
virtual |
Saves the Snapshot to the disk and sends it to the front-end requested as well as sends back a Snapshot saved message with the status of the save.
|
virtual |
Saves enough information to create a simulation object group. All placements will be saved from center of mass, except for any location that is part of a task, plan or global plan. See scenario.h DtGroupCreationFlags for flags. Will save all files in the directory specified by the saveFolder with the files groupName.
|
virtual |
Creates the simulation object group specified by the name as long as it exists in the objectGroups directory of the current simulation model set. The flags are defined in scenario.h, however, the terrain flag is only respected as saved in the simulation object group order of battle file. The offset rotation is the amount to rotate the entire simulation object group around the center of mass (including changing headings). Angle is in radians. If stored in zip file is true and a .sogx file with the group name exists use that, else use directory root.
|
virtual |
Close the current scenario Removes all objects, unloads terrain. If terrainToOpen is specified will not unload the terrain if the terrain to be opened is the same one that is currently opened.
|
virtual |
Loads an additional OPD file. Any types specified in the additional parameter database that already exist are replaced with the new entries. All others are added to the current set of parameters. searchPaths is the list of additional search paths from included SMSs.
|
virtual |
Put the simulation engine into run mode. By default, the CGF starts out in run mode.
|
virtual |
Put the simulation engine into pause mode.
|
virtual |
Given the network manager, return the first protocol driver found and it's descriptive text.
|
virtual |
Rewind the simulation engine. Removes all objects, and loads last saved scenario files, if they exist. Does not unload terrain. Note that this initiates the rewind scenario process. It registers the post-tick callback deferredRewindScenario to complete the rewind operation. If supplied the new scenario run id.
|
virtual |
Sets whether or not to reject mismatched scenario run messages (default is true). Will set in scenario manager.
|
virtual |
|
virtual |
Forces loadScenario to reload the OPD when loadParameterDb() is called. Normally, the parameter database is only reloaded if it has a different name than the one currently loaded.
|
virtual |
Forces loadScenario to reload the OPD when loadParameterDb() is called. Normally, the parameter database is only reloaded if it has a different name than the one currently loaded.
|
virtual |
Enable/disable resource manager. When the resource manager is enabled, the sim will respond to network requests for resource status of various entities.
|
virtual |
Enable/disable resource manager. When the resource manager is enabled, the sim will respond to network requests for resource status of various entities.
|
inlinevirtual |
Whether or not the cgf is ready to simulate.
|
inline |
|
virtual |
|
virtual |
|
inlinevirtual |
Whether or not this cgf is about to rewind, rollback or load.
|
virtual |
Enables or disabled the validation of SMSs when a scenario is created or loaded. Defaults to true. If disabled, protocol and other restrictions will not be applied when loading an SMS.
|
virtual |
Set/Get the default directory where terrain databases are searched for. Initialized from the VRF_defaultTerrainDatabasePath variable in the vrfSim.mtl config file. When searching for a given terrain database to load, it searches in the following order:
|
virtual |
Set/Get the default directory where terrain databases are searched for. Initialized from the VRF_defaultTerrainDatabasePath variable in the vrfSim.mtl config file. When searching for a given terrain database to load, it searches in the following order:
|
virtual |
|
virtual |
Sends a load message with the particular info level.
|
virtual |
Set/get the name of the default simulation model set to load (what to load when no parameter database is specified). By default, this file is ...sms. This simulation model set will be loaded on startup.
|
virtual |
Set/get the name of the default simulation model set to load (what to load when no parameter database is specified). By default, this file is ...sms. This simulation model set will be loaded on startup.
|
virtual |
Set/get the name of the DI-Guy configuration files to load The Animations file is an mtl file used to extend and more fully define the animations from the character data file.
|
virtual |
Set/get the name of the DI-Guy configuration files to load The Animations file is an mtl file used to extend and more fully define the animations from the character data file.
| void DtCgf::setClockMode | ( | int | clockMode | ) |
Configuration for the clock to be used for absolute time stamping (in windows)
|
virtual |
Set/get the msdl mapping file for SIDC codes to Dis Enumerations.
|
virtual |
Set/get the msdl mapping file for SIDC codes to Dis Enumerations.
|
virtual |
Set/get the country codes to Dis Enumerations.
|
virtual |
Set/get the country codes to Dis Enumerations.
|
virtual |
Returns default model set. If one does not exist, will create and load one from the current default model set filename.
|
virtual |
All VR-Force's objects can be deleted by their unique name regardless of their type.
|
virtual |
Create a new waypoint. Returns a pointer to a newly created DtLocalObject representing the waypoint.
| localPosition | is the position of the waypoint in the coordinate system of the loaded terrain database. |
| uniqueName | is the name of the new waypoint. If specified, it may be an arbitrary string, but it must be unique across all objects simulated by VR-Forces (control objects, entities, aggregates). By default, the name is a null string, indicating VR-Forces should generate a new unique name for the object. |
|
virtual |
Create a new route. Returns a pointer to a newly created DtLocalObject representing the route.
| vertices | is the ordered DtList of DtVector*s, making up the vertices in the route, in local database coordinates. DtCgf does not take ownership of this list so it is the caller's responsibility to destroy it. |
| uniqueName | is the name of the new route. If specified, it may be an arbitrary string, but it must be unique across all objects simulated by VR-Forces (control objects, entities, aggregates). By default, the name is a null string, indicating VR-Forces should generate a new unique name for the object. |
|
virtual |
Create a new phase line. Returns a pointer to a newly created DtLocalObject representing the phase line. Phase lines are a 2-D line segment formed by 2 vertices.
| dbPoint1 | is the position of the 1st vertex in local coordinates. |
| dbPoint2 | is the position of the 2nd vertex in local coordinates. |
| uniqueName | is the name of the new phase line. If specified, it may be an arbitrary string, but it must be unique across all objects simulated by VR-Forces (control objects, entities, aggregates). By default, the name is a null string, indicating VR-Forces should generate a new unique name for the object. |
|
virtual |
Create a new control area. Returns a pointer to a newly created DtLocalObject representing the control area.
| vertices | is the ordered DtList of DtVector*s, making up the vertices in the control area, in local database coordinates. The vertices must form a convex polygon. |
| uniqueName | is the name of the new control area. If specified, it may be an arbitrary string, but it must be unique across all objects simulated by VR-Forces (control objects, entities, aggregates). By default, the name is a null string, indicating VR-Forces should generate a new unique name for the object. |
|
virtual |
Create a new obstacle. Returns a pointer to a newly created DtLocalObject representing the obstacle.
| vertices | is the ordered DtList of DtVector*s, making up the vertices in the obstacle, in local database coordinates. The vertices must form a convex polygon. |
| uniqueName | is the name of the new obstacle. If specified, it may be an arbitrary string, but it must be unique across all objects simulated by VR-Forces (control objects, entities, aggregates). By default, the name is a null string, indicating VR-Forces should generate a new unique name for the object. |
|
virtual |
Create a new entity of the given force type and object type, at the given position and heading.
| entityType | the DIS/RPR 7-byte enumeration. See EntityTypes.h for enumerations. |
| force | the DIS/RPR enumeration for force types, extended to allow up to 255 different types. See disEnums.h for the standard enumerations. |
| dbPosition | the coordinate system of the loaded terrain database. |
| heading | heading in radians, measured clockwise from North. |
| entityName | the object name of the entity. By default, it is set to a null string, indicating that VR-Forces should generate a new name for the entity. |
| allowBlocking | Determines if the call should block to allow terrain to page in. If the simulation is running when createEntity is called this should be set to false. |
| initialAdminContent | If included, the adminContent messages are passed to the entity immediately upon creation, as if you had sent adminMessages on the creation instant. |
|
virtual |
Create a new aggregate of the given force type and object type, at the given position and heading. Aggregate Returns a pointer to a newly created entity.
| aggregateType | The extended entity type (super type + DIS/RPR entity type). See EntityTypes.h for the standard enumerations and objTypeEnums.h for VR-Forces extended enumerations. |
| force | The DIS/RPR enumeration for force types, extended to allow up to 255 different types. See disEnums.h for the standard enumerations. |
| localPosition | is in the coordinate system of the loaded terrain database. |
| heading | heading in radians, measured clockwise from North. |
| subordinates | is an optional list of subordinate uuids of entities and/or aggregates to be aggregated under this new aggregate. The list is an ordered vector of DtUUIDs, with the order of most significant subordinate (the 'leader') to the least. Only those subordinates that exist at the time of creation will be added to the aggregate (subordinates can always be added later by calling addSubordinate()). |
| aggregateName | The object name of the entity. By default, it is set to a null string, indicating that VR-Forces should generate a new name for the entity. |
|
virtual |
Similar to previous function, but this version takes a bool createSubordinates argument instead of subordinateNames. If createSubordinates is true, will create any subordinates listed in its "subordinate-objects" parameter database entry. If false, it just creates the aggregate.
| allowBlocking | Determines if the call should block to allow terrain to page in. If the simulation is running when createEntity is called this should be set to false. |
|
virtual |
Add a subordinate to a given aggregate.
| subordinate | is the the entity (may be platform or aggregate) to add to the aggregate (organize it under the aggregate). Note the must be detached from its previous aggregate (through a removeSubordinate(), before calling addSubordinate() to attach it to a new one. Failure to do so will result may result in undefined behavior. |
| aggregate | is the the aggregate we want to add the subordinate to (e.g. "1 Plt, 1 Force"). |
|
virtual |
Remove a subordinate from given aggregate.
| subordinate | is the the entity (may be platform or aggregate) to remove from the aggregate. |
| aggregate | is the the aggregate the subordinate is to be removed from (e.g. "1 Plt, 1 Force"). |
|
virtual |
Assigns a task to an entity. If the entity is currently executing a plan, the task will be a 'retask', that is, this task will replace whatever it was currently working on.
| entity | is a platform or aggregate entity. |
| task | The task to assign to the object. |
|
virtual |
Sends a set data request an entity. Set data requests are used to request immediate changes in an entity, e.g. set heading (entity instantly changes orientation), and set restore (entity is immediately restored to full resources and health).
| entity | is a platform or aggregate entity. |
| request | The DtSetDataRequest subclass to send to entity. |
|
virtual |
Assigns a plan to the named object. If the last parameter is true, send this new plan out to the network on assignment.
|
virtual |
Command the entity/aggregate corresponding to abandon its plan.
| entity | is a platform or aggregate entity. |
|
virtual |
Command the entity/aggregate corresponding to restart its plan.
| entity | is a platform or aggregate entity. |
|
virtual |
Directs the output of the object console of the specified object to the specified file. If the filename is not specified, the log file will be named using the name of the object.
|
virtual |
Stops logging the console output for the object to a file.
|
virtual |
Sets the notification level of a specific object console. This will affect what messages are sent the a log file, the GUI object console, and the sim engine console window.
|
virtual |
Set to true in order to reuse object identifiers that might be part of the scenario. If the object identifier saved in the order of battle does not currently match the site/app of the back-end loading that object, then the user will be warned and the object will be assigned a new entity identifier that is compliant with that site/app. This will not apply to simulation object groups or scenario import. They will always get new entity identifiers.
|
virtual |
Set to true in order to reuse object identifiers that might be part of the scenario. If the object identifier saved in the order of battle does not currently match the site/app of the back-end loading that object, then the user will be warned and the object will be assigned a new entity identifier that is compliant with that site/app. This will not apply to simulation object groups or scenario import. They will always get new entity identifiers.
|
virtual |
If and when task visualizations should be published to the network.
|
virtual |
If and when task visualizations should be published to the network.
|
virtual |
Publish task visualizations as VRV draw control objects rather than their standard, VR-Forces specific format.
|
virtual |
Publish task visualizations as VRV draw control objects rather than their standard, VR-Forces specific format.
|
virtual |
Accessors.
DtSimManager maintains the simulation clock, the scheduler, and the message interface.
|
virtual |
|
virtual |
Import scenario description manager.
|
virtual |
DtResourceMonitor maintains the requests for updating resources to the network or to the console.
|
virtual |
DtRadarCoverageMonitor maintains the requests for updating radar coverage display areas.
|
virtual |
DtTerrainProfileRequestManager maintains the requests for terrain profile lines.
|
virtual |
DtFactoryManager contains all of the class factories (e.g. component factory, state repository factory, etc.).
|
virtual |
Returns the snapshot manager.
|
virtual |
|
virtual |
|
virtual |
DtLocalObjectManager is used to create local objects or add local components to an object via remote attachment. Do not use it to query objects, which is not thread safe. To query sim objects use the sim object manager.
|
virtual |
DtSimObjectManager maintains all of the simulated entities, aggregates, and control objects in the simulation, local and remote.
|
virtual |
DtDebugDrawManager can send draw request to the debugDrawRenderer.
|
virtual |
DtScriptedTaskManager contains all the scripted tasks available.
|
virtual |
DtScenarioEventManager contains all the scenario events.
|
virtual |
DtHazardAreaManager contains all the hazard areas.
|
virtual |
DtIntelCollectionAreaManager contains all the intel collection areas.
|
virtual |
DtScriptedObjectsMovementManager contains all the scripted movement objects.
|
virtual |
The detonation manager processes all the detonation interactions in the simulation and notifies the appropriate entities of relevant detonations.
|
virtual |
The ammunition manager simply reads and has knowledge of ammunition types and the objects they can target.
|
virtual |
The fire manager processes all the fire interactions in the simulation and notifies the appropriate entities of relevant for under-fire determination.
|
virtual |
The Scenario Extras manager holds scenario data not tied to a particular entity: Force and hostility data Spawn templates.
|
virtual |
Parameter database used in creation and initialization of DtSimObjects.
|
virtual |
DtGlobalPlanManager maintains the list of global (non-entity) plans.
|
virtual |
DtStealthCommandsManager maintains the list of available stealth commands.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Sets the physical world.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Manages callbacks for sim commands.
|
virtual |
Current scenario. May be 0, if there is no scenario currently loaded.
|
virtual |
site Id/application Id simulation address. Uniquely identifies our simulator in an exercise.
|
virtual |
Session id, which is an integer identifier used to determine which back-ends have simulation access/control over one another. Only simulation back-ends with common session Ids can send/recieve radio messages, tasks, entity/object creation messages etc. (in addition to the normal DIS/RPR messages).
|
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.
|
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.
|
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.
|
virtual |
Sets the time multiplier for the scenario.
|
virtual |
A human readable string indicating the type of this application which will be sent in the status message, such as "VR-Forces Sim Engine" or "VR-Engage Sim Engine".
|
virtual |
A human readable string indicating the type of this application which will be sent in the status message, such as "VR-Forces Sim Engine" or "VR-Engage Sim Engine".
|
virtual |
Status publisher. Publishes our presence as a VR-Forces simulator on the network.
|
virtual |
Set the DtMapDatum to use for geocentric to geodetic conversion. For more information see "Choosing a Reference Ellipsoid" in the VR-Link Developer's Guide.
|
virtual |
Set to false to reload parameter database on next tick.
|
virtual |
Set the default parameter database directory in which to look for the parameter database files specified in scenario files, after trying to look for the file relative to the application path. Initialized from the VRF_defaultParameterDatabasePath variable in vrfSim.mtl, by the DtVrfApp class.
|
virtual |
Model set that is considered the parent of those loaded.
|
virtual |
This call will reinitialize the scenario by deleting all local items and recreating them from the order of battle saved for the local items. This will use the checkpoint manager to checkpoint the scenario and recreate objects from that checkpoint. This will add a post tick callback to handle this in a post tick. This will also call the pre/post load scenario callbacks. To see if this is a scenario reinitialize check the isScenarioReinitializing() call to see if the flag is true.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Plugin handling.
Adds a plugin to load durin the init process. Make sure to add plugins here if your plugin wants to create a higher level class (DtLocalObjectManager, DtVrfSimManager, etc)
|
virtual |
Set to true if want to load plugins even if version mismatch. By default false. Passes to plugin manager.
|
virtual |
|
virtual |
Creates and initializes the plugin manager (if not already created)
|
virtual |
Loads all the plugins scheduled for load and see if they have any command line arguments they want to add.
| DtVrfCreator* DtCgf::vrfCreator | ( | ) |
Access the vrfCreator.
| const DtVrfCreator* DtCgf::vrfCreator | ( | ) | const |
Access the vrfCreator.
|
virtual |
Callbacks invoked just before a new terrain is loaded, with the filename of the terrain passed into the callback. The callback function signature is callback(const DtFilename&, void* usr)
|
virtual |
Callbacks invoked just before a new terrain is loaded, with the filename of the terrain passed into the callback. The callback function signature is callback(const DtFilename&, void* usr)
|
virtual |
Callbacks invoked just after a new terrain is loaded, with the filename of the terrain passed into the callback. The callback function signature is callback(const DtFilename&, void* usr)
|
virtual |
Callbacks invoked just after a new terrain is loaded, with the filename of the terrain passed into the callback. The callback function signature is callback(const DtFilename&, void* usr)
|
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 |
Stops the current duration run timer.
|
static |
Callback for when duration run timer has completed.
|
virtual |
|
virtual |
Sets whether or not to publish global environment (if not already published) when loading scenario.
|
virtual |
Callbacks invoked just before a new scenario is loaded. This also is called when a new scenario is created, and not loaded from a file. The callback function signature is callback(DtScenario&, void* usr)
|
virtual |
Callbacks invoked just before a new scenario is loaded. This also is called when a new scenario is created, and not loaded from a file. The callback function signature is callback(DtScenario&, void* usr)
|
virtual |
Callbacks invoked just before the scenario objects are told to prepare for reinitialization.
|
virtual |
Callbacks invoked just before the scenario objects are told to prepare for reinitialization.
|
virtual |
Callbacks invoked just after the scenario objects are told to prepare for reinitialization, but before the reinitialize has begun.
|
virtual |
Callbacks invoked just after the scenario objects are told to prepare for reinitialization, but before the reinitialize has begun.
|
virtual |
Callbacks invoked just before a simulation group is created.
|
virtual |
Callbacks invoked just before a simulation group is created.
|
virtual |
Callbacks invoked after a scenario is loaded. This also is called when a new scenario is created, and not loaded from a file. The callback function signature is callback(const DtScenario&, void* usr)
|
virtual |
Callbacks invoked after a scenario is loaded. This also is called when a new scenario is created, and not loaded from a file. The callback function signature is callback(const DtScenario&, void* usr)
|
virtual |
Callbacks invoked after a simulation group is created.
|
virtual |
Callbacks invoked after a simulation group is created.
|
virtual |
Callbacks invoked just before a new scenario is imported.
|
virtual |
Callbacks invoked just before a new scenario is imported.
|
virtual |
Callbacks invoked after a scenario is imported.
|
virtual |
Callbacks invoked after a scenario is imported.
|
virtual |
Callbacks invoked just before the current scenario is saved. The callback function signature is callback(DtScenario&, void* usr)
|
virtual |
Callbacks invoked just before the current scenario is saved. The callback function signature is callback(DtScenario&, void* usr)
|
virtual |
Callbacks invoked just after the current scenario is saved. The callback function signature is callback(const DtScenario&, void* usr)
|
virtual |
Callbacks invoked just after the current scenario is saved. The callback function signature is callback(const DtScenario&, void* usr)
|
virtual |
Callbacks invoked just before the current scenario is closed. The callback function signature is callback(void* usr)
|
virtual |
Callbacks invoked just before the current scenario is closed. The callback function signature is callback(void* usr)
|
virtual |
Callbacks invoked just before the CGF is going to be deleted The callback function signature is callback(void* usr)
|
virtual |
Callbacks invoked just before the CGF is going to be deleted The callback function signature is callback(void* usr)
|
virtual |
Callbacks invoked just after the current scenario is closed. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just after the current scenario is closed. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just before a simulation object group is saved.
|
virtual |
Callbacks invoked just before a simulation object group is saved.
|
virtual |
Callbacks invoked just after the simulation object group is saved.
|
virtual |
Callbacks invoked just after the simulation object group is saved.
|
virtual |
Callbacks invoked just before the scenario is put into the pause state. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just before the scenario is put into the pause state. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just before the scenario is put into the run state. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just before the scenario is put into the run state. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just before the scenario is rewound by calling the rewind() method. If the scenario is rolled back (as it does in 4.4.2 and beyond) you should add callbacks for preLoadScenario and postLoadScenario The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just before the scenario is rewound by calling the rewind() method. If the scenario is rolled back (as it does in 4.4.2 and beyond) you should add callbacks for preLoadScenario and postLoadScenario The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just after the scenario is done rewinding. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked just after the scenario is done rewinding. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked at the end of the tick function. The callback function signature is: void callback(void* usr)
|
virtual |
Callbacks invoked at the end of the tick function. The callback function signature is: void callback(void* usr)
|
virtual |
If true, time for the app to quit.
|
virtual |
If true, time for the app to quit.
|
virtual |
Set the frame rate mode. May be one of the following modes (defined in msgTypes.h):
"variable-frame" "fixed-frame" "fixed-frame-run-to-complete"
If the frame mode is of type "fixed-frame" or "fixed-frame-run-to-complete", then the deltaTime parameter is the duration of a single frame in seconds. If deltaTime is -1 won't change current delta time
|
virtual |
Executes the provided simulation command using the DtSimCommandExecutor from the factory.
|
virtual |
Unload the terrain from memory.
|
virtual |
If enabled for sending orbat messages.
|
virtual |
|
virtual |
|
virtual |
DtSyncMatrixManager maintains the list of synchronization matrices.
|
static |
Callback for parameter database load/save messages. Expects messages of type DtObjectParametersOpMessageType. Calls processObjectParametersOp to handle the message.
|
staticprotected |
Callback for scenario description requests.
|
protectedvirtual |
|
staticprotected |
Callback for scenario description requests.
|
protectedvirtual |
|
staticprotected |
Callback for setting the duration of the simulation run in absolute simulationtime.
|
protectedvirtual |
|
staticprotected |
Callback for request for action categories.
|
protectedvirtual |
|
staticprotected |
Callback for scenario status message.
|
protectedvirtual |
|
protectedvirtual |
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.
|
protectedvirtual |
not implemented. Copying this class is not supported.
|
protectedvirtual |
Given the scenario explorer return the first available template file from an SMS (or an included SMS) with the name defaultSpawnTemplates.mtl When loading a scenario only one template file is currently used, so, the first one in the SMS chain found will be used.
|
protectedvirtual |
Called from init, will load all plugins scheduled to load by calling loadPlugin for each.
|
protectedvirtual |
Clears out the current component attachment table and loads the specified file.
|
protectedvirtual |
Load the given terrain database file filename, returning a pointer to the terrain data in terrain. Looks for the terrain in the following order:
|
protectedvirtual |
Given the terrain filename, searchpaths, and extension to use (instead of the supplied extension) see if the terrain file can be found. If so, return the terrain filename, else return an empty string.
|
protectedvirtual |
Load the given order of battle file.
|
protectedvirtual |
|
protectedvirtual |
Load the given order of battle file.
|
protectedvirtual |
|
protectedvirtual |
Load the given scenario scripts file.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Load the orbat from the data source.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Will take all locally simulated vrf objects and tell them to prepare for scenario reinitialization. This will invoke the pre/post scenario reinitialize callbacks before and after the objects have been prepared for reinitialization.
|
protectedvirtual |
Returns true if the scenario is reinitializing.
|
protectedvirtual |
Clears out the current parameter database and loads the given parameter database file. searchPaths is the list of additional search paths from included SMSs.
|
protectedvirtual |
Load the given opd file; Returns true upon success, false otherwise. searchPaths is the list of additional search paths from included SMSs.
|
protectedvirtual |
Loads the file into the physical world object (if it exists). Returns true if file is loaded. Note that if the file to be loaded has already been loaded, the file will not be reloaded unless the force flag is true.
|
protectedvirtual |
Loads the file into the detonation manager (if it exists). Returns true if file is loaded. Note that if the file to be loaded has already been loaded, the file will not be reloaded unless the force flag is true.
|
protectedvirtual |
|
protectedvirtual |
Loads the file into the ammunition manager (if it exists). Returns true if file is loaded. Note that if the file to be loaded has already been loaded, the file will not be reloaded unless the force flag is true.
|
protectedvirtual |
Load the given plan file.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Load the specified global plan file.
|
protectedvirtual |
|
protectedvirtual |
A utility function that loads the following two sets of data.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Loads the activities that area available to this simulation modelset. Then sets these activities into the object manager for reference by controllers (if needed)
|
protectedvirtual |
Loads the model set files for use with possible by name commands. Assigns model set to sim manager.
|
protectedvirtual |
Loads the action categories that area available to resolve conflicting tasks. Always loaded from simulation model set task set rules directory, action_categories.tsk file.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Process load/save parameter database messages. Expects messages of type processObjectParametersOp.
|
protectedvirtual |
Creates and initialized scenario load manager and default load handlers.
|
protectedvirtual |
Empties contents of parameter database and clears myDefaultParameterDatabase.
|
protectedvirtual |
Enable/disable auto-reorganization.
|
protectedvirtual |
Given the name of a plugin, load it from disk and initialize it with this cgf. Note that this can only be called during cgf initialization and should not be called after.
|
protectedvirtual |
Given the names of the SMS and scenario comm model file names, sets up all comm models.
|
protectedvirtual |
Updates the readiness status of the back end by: 1) Is there a scenario present (myScenario pointer is not 0) 2) Can the simulation be simulated (all pending operations are complete.
|
staticprotected |
Callback for receiving sim commands coming over the network. Calls executeSimCommand().
|
protectedvirtual |
Callback for receiving sim commands coming over the network. Calls executeSimCommand().
|
staticprotected |
Callback that performs the second-half of the work needed to load a scenario. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario.
|
protectedvirtual |
Callback that performs the second-half of the work needed to load a scenario. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario.
|
protectedvirtual |
Shared routine for loading a scenario. Only one (from scenario or from in memory) should be specified. If both are specified the in memory Snapshot is used.
|
staticprotected |
Callback that performs the reinitializing of the scenario.
|
protectedvirtual |
Callback that performs the reinitializing of the scenario.
|
staticprotected |
Callback that performs the second-half of the work needed to rollback to a Snapshot. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario. If you wish to be notified when a rollback occurs connect to the pre and post load scenario callbacks. Those are used in the process of rolling back a scenario.
|
protectedvirtual |
Callback that performs the second-half of the work needed to rollback to a Snapshot. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario. If you wish to be notified when a rollback occurs connect to the pre and post load scenario callbacks. Those are used in the process of rolling back a scenario.
|
staticprotected |
Callback that performs the second-half of the work needed to import a scenario. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario.
|
protectedvirtual |
Callback that performs the second-half of the work needed to import a scenario. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario.
|
staticprotected |
Callback that performs the second-half of the work needed to rewind a scenario. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario.
|
protectedvirtual |
Callback that performs the second-half of the work needed to rewind a scenario. Deferred to the end of DtCgf::tick to avoid messages from one scenario getting handled in a new scenario.
|
protectedvirtual |
When loading (or closing) a scenario this method will get rid of all SMS specific data. If there are snapshots available when closing a scenario keep this around (unless a load happens)
|
protectedvirtual |
Initializes console commands that only work using the cgf.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
If Using DI-Guy Need to create the character manager.
|
protected |
Sets the vrfCreator to use. If the cgf already owns a creator, then it is deleted before the new vrfCreator is set. Just setting the vrfCreator does not transfer ownership. A user allocated creator should be deleted by the user.
|
protected |
Set/get whether or not the vrfCreator is owned by the Cgf or not.
|
protected |
Set/get whether or not the vrfCreator is owned by the Cgf or not.
|
protectedvirtual |
Return true if the supplied scenario uses different model sets than what is loaded.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
inline |
These are backwards compatible methods that can be used if you define ALLOW_VRF4API in your header file.
|
inline |
These are backwards compatible methods that can be used if you define ALLOW_VRF4API in your header file.
|
protected |
|
protected |
Address for routing interface messages.
|
protected |
Session Id.
|
protected |
Flag indicating whether we have been successfully initialized.
|
protected |
Flag indicating whether or not the app should quit.
|
protected |
The current plugin manager.
|
protected |
|
protected |
|
protected |
The current terrain database.
|
protected |
The current physical world.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The current exercise connection.
|
protected |
Pointer to the DtSimManager.
|
protected |
Pointer to the create object service.
|
protected |
Pointer to the scenario object service.
|
protected |
The current scenario.
|
protected |
Pointer to the DtStatusPublisher.
|
protected |
Pointer to the DtLocalObjectManager.
|
protected |
Pointer to the DtDebugDrawManagert.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Pointer to the DtResourceMonitor.
|
protected |
Pointer to the DtRadarCoverageMonitor.
|
protected |
Pointer to the DtTerrainProfileRequestManager.
|
protected |
Pointer to the DtVrfParameterDb.
|
protected |
Pointer to the DtEmbeddedEntityInfoManager.
|
protected |
Forces loadScenario to re-load the parameter database.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Pointer to the DtFactoryManager.
|
protected |
Stealth commands manager.
|
protected |
|
protected |
Terrain data directory from environment variable VRF_TERRAIN_PATH. If specified, this is the 3rd place to look for a terrain database file, after trying to locate it in its given path, and then relative to the path in the VRF_defaultTerrainDatabasePath vrfSim.mtl variable.
|
protected |
Terrain database directory, initialized from VRF_defaultTerrainDatabasePath variable. This is the second place to look for a terrain database specified in a scenario file, if we can't locate it relative to the application path.
|
protected |
Default simulation model set file to load.
|
protected |
DI_Guy animation configuration file to load.
|
protected |
MSDL SDIC mapping file to load.
|
protected |
Country codes mapping file.
|
protected |
Set to true if parameter database has been loaded via loadParameterDatabase call. If you load a parameter database by another call, set this flag to true.
|
protected |
Filename of currently loaded parameter database.
|
protected |
Default parameter database directory to search in when parameter database being specified is not an absolute path. By default, the directory is "../data/parameters".
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
These are essentially cached from the init call. This is necessary as the load terrain.
|
protected |
|
protected |
Flag indicating whether to fully load terrain subpages for paged terrain.
|
protected |
|
protected |
Default simulation model set. This is created when the default simulation model set filename is set or on init() if one does not exist.
|
protected |
Used to contain the scenario we want to during loadScenario operation. The act of loading a scenario starts out in the loadScenario call, but much of the work occurs in deferredScenarioLoad (executed in a post-tick callback). Both functions need access to this data.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Used to hold the paused state during a rewindScenario operation. The act of rewinding a scenario starts out in the loadScenario call, but much of the work occurs in deferredScenarioLoad (executed in a post-tick callback). Both functions need access to this data.
|
protected |
The scenario description manager used to import scenario description files.
|
protected |
|
protected |
|
protected |
Scenario status message to be sent out upon request.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |