![]() |
VR-Forces Developer's Guide
|
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sending and received of control messages over the network to control one or more vrfSim executables in the same exercise. It allows for all control, such as loading/saving scenarios, creating/deleting entities and objects, tasking entities, and so forth.
All control and response is accomplished by sending encoded messages though data interactions/PDUs over the network. All encoding and decoding is performed by the remote control functions.
The DtVrfRemoteController does not instantiate reflected lists or maintain lists of the objects in the simulation. This class requires an active DtCommunication<Manager to work. It does not need an active connection, just the manager.

Public Types | |
| enum | ComponentAttachmentRule { AttachNone =0, CanAttachAny } |
Public Member Functions | |
| virtual void | createOrSetMessageInterface (DtVrfMessageInterface *iface) |
| virtual void | createOrSetVrfTDLMessageInterface (DtVrfTDLMessageInterface *iface) |
| virtual void | tick () |
0. Class Admin | |
Constructor, various accessors, etc. | |
| DtVrfRemoteController (int receivePort=9000) | |
| virtual | ~DtVrfRemoteController () |
| virtual DtVrfMessageInterface * | vrfMessageInterface () const |
| virtual DtVrfTDLMessageInterface * | vrfTDLMessageInterface () const |
| virtual DtVrfConfigurationFileComposer * | composer () |
| virtual void | setHostInetAddr (DtInetAddr) |
| virtual DtInetAddr | hostInetAddr () const |
| virtual const DtSimulationAddress & | simulationAddress () const |
| virtual int | sessionId () const |
| virtual unsigned int | generateRequestId () const |
| DtNetworkInterfaceManager * | networkInterfaceManager () |
| makVrfEvents::DtEventManager * | eventManager () |
| DtCommunicationManager * | communicationManager () |
| DtRemoteEnvironmentController * | remoteEnvironmentController () |
| DtRemoteEnvironmentController * | createRemoteEnvironmentController () |
| DtBackendSelectorManager * | backendSelectorManager () const |
I. Initialization | |
Functions called to initialize the remote controller. | |
| virtual void | init (DtCommunicationManager *exConn, DtVrfMessageInterface *msgInterface=0, DtVrfTDLMessageInterface *tdlMessageInterface=0) |
II. Back end Information | |
Information about back end status. | |
| virtual const DtList & | backends () const |
| virtual const DtList & | pendingBackends () const |
| virtual DtVrfBackendListener * | backendListener () const |
| virtual void | addBackendDiscoveryCallback (DtBackendCallbackFcn fcn, void *usr) |
| virtual void | removeBackendDiscoveryCallback (DtBackendCallbackFcn fcn, void *usr) |
| virtual void | addBackendRemovalCallback (DtBackendCallbackFcn fcn, void *usr) |
| virtual void | removeBackendRemovalCallback (DtBackendCallbackFcn fcn, void *usr) |
| virtual int | backendsControlState () const |
| virtual int | numberBackendsLoaded () const |
| virtual bool | allBackendsReady () const |
| virtual bool | backendLoaded (const DtSimulationAddress &addr) const |
| virtual void | modifyBackEndSetting (const DtSettingsObject *setting, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | requestBackEndSetting (std::string name, DtBackEndSettingRequestCompleteCallbackFcn fcn, void *usr=0, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual double | simTime (const DtSimulationAddress *a=NULL) const |
III. Simulation Configuration | |
| virtual void | setSpotReportsGloballyEnabled (bool enabled) |
| virtual void | setTDLMessagesGloballyEnabled (bool enabled) |
| virtual void | setEngagementReportsGloballyEnabled (bool enabled) |
| virtual void | setPeriodicSnapshotSettings (bool enabled, double period, int numberOfSnapshotsToKeep) |
| virtual void | setDRThresholds (double translation, double rotation) |
| virtual void | setCommModelSettings (bool useExternalComms) |
| virtual void | setRoadDrivingSettings (bool driveOnLeft) |
| virtual void | setRadarCoverageAltitudeMSL (bool) |
| virtual void | setRadarCoverageAltitudeSettings (const DtRadarCoverageAltitudeSettings &settings) |
| virtual void | setPublishAggregateFormationRoutes (bool yesNo) |
| virtual void | setRotationThreshold (DtReal thresh) |
| virtual void | setTranslationThreshold (DtReal thresh) |
| virtual void | setAggDimensionThreshold (DtReal thresh) |
| virtual void | querySpatialSubdivisionConfiguration (const DtSimulationAddress &backendAddress, DtSpatialSubdivisionType spatialSubdivisionType, DtServerRequestResponseCallbackFcn fcn=0, void *usr=0) |
| virtual void | setSpatialSubdivsionConfiguration (const DtSimulationAddress &backendAddress, DtSpatialSubdivisionType spatialSubdivisionType, const int spatialSubdivisionXResolution, const int spatialSubdivisionYResolution, const int spatialSubdivisionZResolution) |
| virtual void | processSpatialSubdivisionConfigurationCb (const DtIfServerRequestResponse &rsp) |
IV. Scenario management - A | |
Creating a New Scenario | |
| virtual bool | newScenario (const DtFilename &dbname, const DtFilename &guidbname, const DtFilename &opdname=DtFilename::nullFilename(), const DtFilename &physicalWorldName=DtFilename::nullFilename(), const DtScenario *baseScenario=0, time_t startTimeOfDay=12 *3600, DtString *errorString=0, const DtChangeWeatherCommand &initialEnvironmentCondition=DtChangeWeatherCommand()) |
| virtual bool | newScenario (const DtFilename &dbname, const DtFilename &guidbname, const std::vector< DtString > &simulationModelSetFiles, const DtScenario *baseScenario=0, time_t startTimeOfDay=12 *3600, DtString *errorString=0, const DtChangeWeatherCommand &initialEnvironmentCondition=DtChangeWeatherCommand()) |
| virtual bool | newScenario (const DtFilename &dbname, const DtFilename &guidbname, const DtFilename &opdname, const DtFilename &physicalWorldName, const std::vector< DtString > &simulationModelSetFiles, const DtScenario *baseScenario=0, time_t startTimeOfDay=12 *3600, DtString *errorString=0, const DtChangeWeatherCommand &initialEnvironmentCondition=DtChangeWeatherCommand()) |
| virtual void | createSimulationObjectGroup (const DtSimulationAddress &, const DtString &simulationObjectGroup, const DtVector &createPosition, double offsetRotation, int createFlags, DtForceType force, bool storedInZipFile=false) |
IV. Scenario management - B | |
Loading and Importing Scenarios | |
| virtual bool | loadScenario (const DtFilename &filename, DtBackendRemappingFcn fcn=0, void *usrRemapping=0, DtLoadBalancingFcn=0, void *usrBalancing=0, const std::vector< DtString > &simulationModelSetFiles=std::vector< DtString >(), ComponentAttachmentRule compAttachRule=DtVrfRemoteController::AttachNone, DtString *errorString=0, int *numberOfObjects=nullptr) |
| virtual bool | loadScenario (const DtScenarioLoadInformation &, const std::vector< DtString > &simulationModelSetFiles=std::vector< DtString >(), DtString *errorString=0, int *numberOfObjects=nullptr) |
| virtual bool | loadScenario (const DtScenario &scenario, DtBackendRemappingFcn fcn=0, void *usrRemapping=0, DtLoadBalancingFcn=0, void *usrBalancing=0, const std::vector< DtString > &simulationModelSetFiles=std::vector< DtString >(), DtString *errorString=0, int *numberOfObjects=nullptr) |
| virtual bool | sendLoadScenarioMessage (const DtScenario &scenario, const DtSimulationAddress &addr=DtSimSendToAll, bool import=false, bool isOrbatEnabled=false, bool createGlobalEnv=false, bool createGlobalDynamicTerrain=false) const |
| virtual void | createGlobalEnvironment (bool) |
| virtual DtIfLoadScenario * | createLoadScenarioMessage () const |
| virtual void | addBackendLoadedCallback (DtBackendCallbackFcn fcn, void *usr) |
| virtual void | removeBackendLoadedCallback (DtBackendCallbackFcn fcn, void *usr) |
| virtual void | addScenarioLoadedCallback (DtScenarioCallbackFcn fcn, void *usr) |
| virtual void | removeScenarioLoadedCallback (DtScenarioCallbackFcn fcn, void *usr) |
| virtual bool | rollbackToSnapshot (double simTime) |
| virtual bool | importScenario (const DtScenario &, const DtSimulationAddress &addr, DtString *errorString=0) |
| virtual bool | importScenario (const DtFilename &, const DtSimulationAddress &addr, DtString *errorString=0) |
| virtual bool | importScenarioDescriptionFile (const DtFilename &file, DtSimulationAddress, const DtString &format, const std::map< std::string, std::string > &importData) |
| virtual void | setMaxWaitLoadTime (DtTime t) |
| virtual DtTime | maxWaitLoadTime () const |
IV. Scenario management - C | |
Saving and Exporting Scenarios | |
| virtual bool | exportScenarioDescriptionFile (const DtFilename &file, DtSimulationAddress, const DtString &format, const std::map< std::string, std::string > &importData) |
| virtual DtString | guiTerrainDatabaseFilename () const |
| virtual void | setGuiTerrainDatabaseFilename (DtString db) |
| virtual const DtRwKeyValueList & | scenarioData () const |
| virtual void | setScenarioData (const DtRwKeyValueList &) |
| virtual bool | isSavingScenario () const |
| virtual bool | saveScenario (const DtFilename &saveName, DtPreserveMappingsFcn fcn=0, void *userData=0, DtString *error=0, bool saveToZip=false, bool deleteExistingZip=true, double simTime=-1) |
| virtual bool | save (DtString &sError) |
| virtual bool | saveScenarioCheckpoint (const DtFilename &filename, double simTime, bool saveToZip=false, DtString *saveError=0) |
| virtual void | takeSnapshot (DtSimulationAddress addr=DtSimSendToAll) |
| virtual void | takeBaseSnapshot () |
| virtual void | createGlobalDynamicTerrain (bool) |
| virtual void | sendSaveScenarioMessage (const DtSimulationAddress &addr=DtSimSendToAll, double simTime=-1, const DtFilename &saveScenarioFilename="") const |
| virtual void | addBackendSavedCallback (DtBackendSaveCallbackFcn fcn, void *usr) |
| virtual void | removeBackendSavedCallback (DtBackendSaveCallbackFcn fcn, void *usr) |
| virtual void | addScenarioSavedCallback (DtScenarioCallbackFcn fcn, void *usr) |
| virtual void | removeScenarioSavedCallback (DtScenarioCallbackFcn fcn, void *usr) |
| virtual void | addScenarioAboutToBeSavedCallback (DtScenarioAboutToBeSavedCallbackFcn fcn, void *usr) |
| virtual void | removeScenarioAboutToBeSavedCallback (DtScenarioAboutToBeSavedCallbackFcn fcn, void *usr) |
| virtual void | addScenarioExportedCallback (DtScenarioSavedCallbackFcn fcn, void *usr) |
| virtual void | removeScenarioExportedCallback (DtScenarioSavedCallbackFcn fcn, void *usr) |
| virtual void | addCheckpointSavedCallback (DtCheckpointSavedCallbackFcn fcn, void *usr) |
| virtual void | removeCheckpointSavedCallback (DtCheckpointSavedCallbackFcn fcn, void *usr) |
| virtual void | addScenarioSavedCallback (DtScenarioSavedCallbackFcn fcn, void *usr) |
| virtual void | removeScenarioSavedCallback (DtScenarioSavedCallbackFcn fcn, void *usr) |
| virtual void | setOpdSaveName (const DtFilename &f) |
| virtual const DtFilename & | opdSaveName () const |
| virtual void | setMaxWaitSaveTime (DtTime t) |
| virtual DtTime | maxWaitSaveTime () const |
| virtual void | setOverlayFilename (const DtFilename &overlay) |
| virtual const DtFilename & | overlayFilename () const |
| virtual void | setScenarioExtrasFilename (const DtFilename &extras) |
| virtual const DtFilename & | scenarioExtrasFilename () const |
| virtual void | setSelectionGroupsFilename (const DtFilename &sel) |
| virtual const DtFilename & | selectionGroupsFilename () const |
| virtual void | setSymbolMapFilename (const DtFilename &overlay) |
| virtual const DtFilename & | symbolMapFilename () const |
| virtual void | setCreateMenuFilename (const DtFilename &overlay) |
| virtual const DtFilename & | createMenuFilename () const |
| virtual void | saveParameterDb (const DtFilename &filename) |
| virtual bool | saveSimulationObjectGroup (const DtFilename &smsDirectory, const DtString &groupName, const DtString &groupDescription, int creationFlags, const DtSimulationAddress &addr, const std::map< DtString, DtString > &additionalInformation=std::map< DtString, DtString >(), DtString *saveError=0, bool saveAsZip=false) |
IV. Scenario management - D | |
Closing a Scenario | |
| virtual void | closeScenario (const DtSimulationAddress &addr=DtSimSendToAll, const DtFilename &databaseToOpen="", bool forceCloseAll=false) |
| virtual void | reinitializeScenario () |
IV. Scenario management - E | |
Controlling a Scenario | |
| virtual void | run (bool useStartStopInteraction=false, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | pause (bool useStartStopInteraction=false, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | rewind () |
| virtual void | exit (const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | step () const |
| virtual void | setTimeMultiplier (double multiplier) const |
IV. Scenario management - F | |
Internal functionsUsers should not need to call these. However, they are available to override in plugins. | |
| virtual void | loadedScenario (const DtSimulationAddress &addr, unsigned int requestId, const DtU32 &capabilities) |
| virtual void | backendReceivedScenario (const DtSimulationAddress &addr, unsigned int requestId) |
| virtual void | initializeGlobalDynamicTerrain (const DtSimulationAddress &environmentSimBackend=DtSimSendToAll) |
| virtual void | save (const DtSimulationAddress &addr, DtIfSaveComplete *s) |
| virtual void | processSaveMessages () |
| virtual void | exported (const DtSimulationAddress &addr, DtIfExportComplete *s) |
| virtual void | completeExport () |
| virtual void | savedScenario (const DtSimulationAddress &addr, DtSaveResult result, unsigned int requestId, bool isCheckpointSave=false, double checkpointSimTime=-1) |
| virtual void | doPendingSaveWork () |
| virtual void | doPendingExportWork () |
| virtual void | doPendingLoadWork () |
| virtual DtTime | scenarioSimTimeForSave () |
| virtual void | setTerrainDatabaseFilename (DtScenario *scen) |
| virtual void | setParameterDatabaseFilename (DtScenario *scen) |
| virtual void | setPhysicalWorldFilename (DtScenario *scen) |
| virtual void | setTimeMultiplier (DtScenario *scen) |
| virtual void | setAutoReorganize (DtScenario *scen) |
| virtual void | setRandomNumberSeed (DtScenario *scen) |
| virtual void | setFrameRateMode (DtScenario *scen) |
| virtual void | setFrameDeltaTime (DtScenario *scen) |
| virtual void | setExerciseStartTime (DtScenario *scen) |
| virtual void | setExerciseStartDateAndTime (DtScenario *scen) |
V.Object Management - A | |
Control ObjectsThese functions provide the capability to manipulate specific classes of control objects, including
| |
| virtual void | createAerodrome (DtString airportCode, const DtForceType &forceType=DtForceNeutral, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | createWaypoint (const DtVector &geocentricPosition, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createWaypoint (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtVector &geocentricPosition, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | modifyWaypoint (const DtUUID &uuid, DtString *uniqueName=0, DtString *label=0, DtVector *geocentricPosition=0, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | createRoute (const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createRoute (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | modifyRoute (const DtUUID &uuid, DtString *uniqueName=0, DtString *label=0, DtList *vertices=0, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | createPhaseLine (const DtVector &dbPoint1, const DtVector &dbPoint2, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createPhaseLine (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtVector &dbPoint1, const DtVector &dbPoint2, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | modifyPhaseLine (const DtUUID &uuid, DtString *uniqueName=0, DtString *label=0, DtVector *newDbPoint1=0, DtVector *newDbPoint2=0, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | createControlArea (const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createControlArea (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | modifyControlArea (const DtUUID &uuid, DtString *uniqueName=0, DtString *label=0, DtList *newVertices=0, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | createObstacle (const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createObstacle (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | modifyObstacle (const DtUUID &uuid, DtString *uniqueName=0, DtString *label=0, DtList *newVertices=0, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | createDisaggregationArea (const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createDisaggregationArea (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtList &vertices, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | modifyDisaggregationArea (const DtUUID &uuid, DtString *uniqueName=0, DtString *label=0, DtList *newVertices=0, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | createOverlayObject (const DtEntityType &type, const DtList &vertices, const DtForceType &force, const DtString &name, const DtString &label, int color, const DtString &parentName, bool projection, bool closedFigure, const DtAppearance &appearance=DtAppearance::nullAppearance(), const DtUUID &attachTo=DtUUID::nullUUID(), char *userData=0, int dataSize=0, const std::map< std::string, std::string > &extendedData=std::map< std::string, std::string >(), const std::map< int, DtString > &extendedLabels=std::map< int, DtString >(), DtOverlayCreatedCallbackFcn fcn=0, const DtSimulationAddress &addr=DtSimSendToAll, unsigned int rId=0, std::list< DtAdminContent * > *initialAdminContent=0, std::list< DtSimInterfaceContent * > *initialInterfaceContent=0, const DtUUID &uuidForCreation=DtUUID::nullUUID()) |
| virtual void | processOverlayObjectCreated (const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, DtVrfOverlayObjectModify *modifications) |
| virtual void | setPhysicalLineWidth (const DtSimulationAddress &addr, const DtUUID &entityId, double w) |
| virtual void | setPhysicalLineHeight (const DtSimulationAddress &addr, const DtUUID &entityId, double h) |
| virtual void | setCeiling (const DtSimulationAddress &addr, const DtUUID &entityId, double c) |
| virtual void | sendVrfOverlayObjectModifyMsg (const DtSimulationAddress &addr, const DtUUID &uuid, int color, const DtString &parentName, const DtUUID &attachTo, bool keepExistingAttachment=true, char *userData=0, int len=0) const |
| virtual void | createIndirectArtillery (const DtVrfIndirectArtilleryObjectModify *params, const DtSimulationAddress &addr) |
| virtual void | processIndirectArtilleryObjectCreated (const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, DtVrfIndirectArtilleryObjectModify *modifications) |
| virtual void | sendVrfIndirectArtilleryObjectModifyMsg (const DtSimulationAddress &addr, const DtUUID &uuid, const DtVrfIndirectArtilleryObjectModify *mod) const |
V. Object Management - B | |
Entity and Aggregate (Hierarchy) Objects | |
| virtual void | createObject (const DtEntityType &type, DtForceType force, DtList *vertices, const DtString &name, const DtSimulationAddress &addr, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | objectCreated (unsigned int requestId, const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid) |
| virtual void | deleteObject (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | createEntity (const DtEntityType &type, const DtVector &geocentricPosition, DtForceType force, DtReal heading, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, bool groundClamp=true, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createEntity (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtEntityType &type, const DtVector &geocentricPosition, DtForceType force, DtReal heading, const DtString &uniqueName=DtString::nullString(), const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, bool groundClamp=true, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | createAggregate (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtEntityType &type, const DtVector &geocentricPosition, DtForceType force, DtReal heading, const DtString &uniqueName, const DtString &label=DtString::nullString(), const DtSimulationAddress &addr=DtSimSendToAll, DtAggregateState initialAggregateState=DtDisaggregated, const DtUUID &startingUUID=DtUUID::nullUUID(), bool createSubordinates=false) |
| virtual void | createAggregate (const DtEntityType &type, const DtVector &geocentricPosition, DtForceType force, DtReal heading, DtList *entityNames=0, const DtSimulationAddress &addr=DtSimSendToAll, DtAggregateState initialAggregateState=DtDisaggregated, unsigned int requestId=0, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual void | createAggregate (DtVrfObjectCreatedCallbackFcn fcn, void *usr, const DtEntityType &type, const DtVector &geocentricPosition, DtForceType force, DtReal heading, DtList *entityNames=0, const DtSimulationAddress &addr=DtSimSendToAll, DtAggregateState initialAggregateState=DtDisaggregated, const DtUUID &startingUUID=DtUUID::nullUUID()) |
| virtual void | addToOrganization (const DtUUID &objectId, const DtUUID &newSuperiorId, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | addToForceLevelOrganization (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | removeFromOrganization (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | setLabel (const DtUUID &uuid, const DtString &label, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setOverlayParent (const DtUUID &uuid, const DtString &label, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setAltitude (const DtUUID &uuid, double altitude, bool aboveGroundLevel=false, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setLocation (const DtUUID &uuid, DtVector coord, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setAppearance (const DtUUID &uuid, int appearance, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setCapabilities (const DtUUID &uuid, int capabilities, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setHeading (const DtUUID &uuid, double degrees, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setForce (const DtUUID &uuid, DtForceType force, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | requestSpotReports (const DtUUID &uuid, int onOff, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | requestSendTDLMessages (const DtUUID &uuid, int onOff, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | requestEngagementReports (const DtUUID &uuid, bool onOff, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setResource (const DtUUID &uuid, const char *resourceType, double value, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setRulesOfEngagement (const DtUUID &uuid, const char *rulesType, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setSectorOfResponsibility (const DtUUID &uuid, double center, double size, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setSpeed (const DtUUID &uuid, double speed, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setCurrentSpeed (const DtUUID &uuid, double speed, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setTarget (const DtUUID &uuid, const DtUUID &target, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setSuperior (const DtUUID &uuid, const DtUUID &superior, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setTaskedBySuperior (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setConcealed (const DtUUID &uuid, bool yes, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setEmitter (const DtUUID &uuid, int emitterId, bool on, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setEmergencyBeacon (const DtUUID &uuid, bool on, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setIff (const DtUUID &uuid, bool mode1on, int mode1code, bool mode2on, int mode2code, bool mode3on, int mode3code, bool mode4on, int mode4code, DtIffAtcNavaidsAltParm4 altParm4, bool modeCon, bool useAltModeC, bool modeSon, bool emergency, bool flash, bool sti, bool modeSTcasI, int pin, bool mode5LevelSelection, unsigned int messageFormatsPresent, unsigned int nationalOrigin, unsigned int navigationSource, unsigned int figureOfMerit, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | restore (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setDestroyed (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setLifeformWeaponState (const DtUUID &uuid, DtWeaponState weapon, const DtSimulationAddress &addr) const |
| void | setSystemEnabled (const DtUUID &name, const DtString &systemName, bool val, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | setLifeformPosture (const DtUUID &uuid, DtLifeformState posture, const DtSimulationAddress &addr) const |
| virtual void | setAggregateFormation (const DtUUID &leader, const DtString &formationName, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | reorganizeAggregate (const DtUUID &leader, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | sendSetDataMsg (const DtUUID &recipient, DtSetDataRequest *msg, const DtSimulationAddress &addr, bool sendImmediately=false) const |
V. Object Management - C | |
Sending Messages To Objects | |
| virtual void | sendVrfObjectCreateMsg (const DtSimulationAddress &addr, unsigned int requestId, const DtString &name, const DtObjectType &type, const DtList &vertices, const DtString &label, const DtAppearance &appearance, DtForceType force, bool projection, bool closedFigure, DtReal heading, bool createSubObjects, bool clampToGroundFlag=true, const DtString &initialFormation=DtString::nullString(), DtAggregateState initialAggregateState=DtDisaggregated, const DtString &userData=DtString::nullString(), const std::map< std::string, std::string > &extendedData=std::map< std::string, std::string >(), const std::map< int, DtString > &extendedLabels=std::map< int, DtString >(), std::list< DtAdminContent * > *initialAdminContent=0, std::list< DtSimInterfaceContent * > *initialInterfaceContent=0, const DtString &overlayParent="", const DtUUID &uuidForCreation=DtUUID::nullUUID()) const |
| virtual void | sendVrfObjectModifyMsg (const DtSimulationAddress &addr, const DtUUID &uuid, DtString *name=0, DtList *vertices=0, DtForceType *force=0, DtReal *heading=0, DtString *label=0, DtAppearance *appearance=0, DtString *overlayParent=0, DtString *userData=0) const |
VI. Tasks | |
These functions start tasks and monitor execution status. | |
| virtual void | sendTaskMsg (const DtUUID &recipient, DtSimTask *task, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | moveAlongRoute (const DtUUID &entityName, const DtUUID &routeName, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | moveToWaypoint (const DtUUID &entityName, const DtUUID &waypoint, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | moveToLocation (const DtUUID &entityName, const DtVector &destinationLocation, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | patrolBetweenWaypoints (const DtUUID &uuid, const DtUUID &waypoint1, const DtUUID &waypoint2, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | patrolAlongRoute (const DtUUID &uuid, const DtUUID &route, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | followEntity (const DtUUID &uuid, const DtUUID &leader, const DtVector &offset, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | wait (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | waitDuration (const DtUUID &uuid, DtTime duration, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | waitElapsed (const DtUUID &uuid, DtTime elapsed, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | skipTask (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
VII. Plans - A | |
Entity Plans | |
| virtual void | restartPlan (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | assignPlanByName (const DtUUID &uuid, const DtPlan &plan, const DtSimulationAddress &addr=DtSimSendToAll, int *retiStatus=NULL, DtString *retsStmt=NULL) const |
| virtual void | assignMultiplePlanByName (const std::vector< DtUUID > &entities, const DtPlan &plan, const DtSimulationAddress &addr=DtSimSendToAll, int *retiStatus=NULL, DtString *retsStmt=NULL) const |
| virtual void | requestPlan (const DtUUID &uuid, bool addStmtCallback=true, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | subscribePlan (const DtUUID &uuid, DtPlanCallbackFcn fn, void *usr, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | receivedPlan (const DtUUID &uuid, bool isGlobal, const std::vector< DtSimStatement * > &statements) |
| virtual void | requestMultiplePlan (const std::vector< DtUUID > &entities, DtMultiplePlanRequestCallbackFcn fcn, void *usr, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | requestMultiplePlan (const std::vector< DtUUID > &entities, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | processReceivedMultiPlan (DtIfMultiplePlanResponse *msg) |
| virtual void | unsubscribePlan (const DtUUID &uuid, DtPlanCallbackFcn fn, void *usr) |
| virtual void | unsubscribeAllPlans () |
| virtual void | addPlanStatementCallback (const DtUUID &uuid, DtPlanStatementCallbackFcn callback, void *usrData) |
| virtual void | removePlanStatementCallback (const DtUUID &uuid, DtPlanStatementCallbackFcn callback, void *usrData) |
| virtual void | removeAllPlanStatementCallbacks () |
| virtual void | receivedPlanStmt (const DtUUID &uuid, bool isGlobal, DtPlanStatus planStatus) |
| virtual void | addPlanCompleteCallback (const DtUUID &uuid, DtPlanCompleteCallbackFcn callback, void *usrData) |
| virtual void | removePlanCompleteCallback (const DtUUID &uuid, DtPlanCompleteCallbackFcn callback, void *usrData) |
| virtual void | removeAllPlanCompleteCallbacks () |
| virtual void | abandonPlan (const DtUUID &uuid, const DtSimulationAddress &addr=DtSimSendToAll) const |
VII. Plans - B | |
Global Plans | |
| virtual void | requestGlobalPlansList (const DtSimulationAddress &addr) |
| virtual void | assignGlobalPlan (const DtString &name, const DtPlan &plan, const DtSimulationAddress &addr=DtSimSendToAll, int *retiStatus=NULL, DtString *retsStmt=NULL) const |
| virtual void | deleteGlobalPlan (const DtUUID &name, const DtSimulationAddress &addr=DtSimSendToAll) const |
| virtual void | launchGlobalPlan (const DtUUID &, const DtSimulationAddress &addr) const |
VIII. General Communication With Entities | |
| virtual DtVrfObjectMessageExecutive * | objectMessageExecutive () |
| virtual void | sendMessageToObject (DtVrfObjectMessage *objectMessage, const DtSimulationAddress &addr=DtSimSendToAll, bool sendImmediately=false) const |
| virtual DtRadioMessageListener * | radioMessageListener () |
IX. Simulation Control and Information Request | |
These functions control simulation activity and request entity information. | |
| virtual void | embarkObject (const DtSimulationAddress &addr, const DtUUID &entity, const DtUUID &ontoEntity, bool loadOverride=false, const DtVector &loadOverridePosition=DtVector::zero()) |
| virtual void | disembarkObject (const DtSimulationAddress &addr, const DtUUID &entity) |
| virtual void | disembarkAllObjects (const DtSimulationAddress &addr, const DtUUID &entity) |
| virtual void | requestTasksAndSetsFor (const DtSimulationAddress &addr, const DtUUID &entityName) |
| virtual void | requestTasksAndSetsFor (const std::vector< DtUUID > &names) |
| virtual void | requestDIGuyAppearancesAndAnimations (const DtSimulationAddress &addr, const DtUUID &entityName) |
| virtual void | requestDIGuyAppearancesAndAnimations (const std::vector< DtUUID > &names) |
| virtual void | requestIndirectArtilleryInformation (const DtUUID &) |
| virtual void | requestResourceNames (const std::vector< DtUUID > &list, DtServerRequestResponseCallbackFcn fcn=0, void *usr=0) |
| virtual void | requestResources (const DtUUID &uuid=DtUUID::nullUUID(), const std::list< DtString > *list=0, DtServerRequestResponseCallbackFcn fcn=0, void *usr=0) |
| virtual void | processResourcesProcessedCb (const DtIfServerRequestResponse &rsp) |
X. Object Console Information | |
Functions to manipulate console messages. | |
| virtual void | addObjectConsoleMessageCallback (DtObjectConsoleMessageCallbackFcn fcn, void *usr=0) |
| virtual void | removeObjectConsoleMessageCallback (DtObjectConsoleMessageCallbackFcn fcn, void *usr=0) |
| virtual void | setObjectNotifyLevel (const DtUUID &objectName, DtNotifyLevelType notifyLevel, const DtSimulationAddress &addr=DtSimSendToAll) |
| virtual void | logObjectConsoleToFile (const DtUUID &objectName, const DtFilename filename) |
| virtual void | stopLoggingObjectConsoleToFile (const DtUUID &objectName) |
| virtual void | addBackendConsoleMessageCallback (DtBackendConsoleMessageCallbackFcn fcn, void *usr=0) |
| virtual void | removeBackendConsoleMessageCallback (DtBackendConsoleMessageCallbackFcn fcn, void *usr=0) |
| virtual void | processCommentInteraction (const makVrfEvents::DtCommentEvent *inter) |
XI. Joystick | |
Functions to configure joysticks | |
| virtual void | requestJoystickInformation (const DtUUID &, DtJoystickControlResponseFcn, void *, const DtSimulationAddress &addr=DtSimSendToAll, bool sendImmediately=false) |
| virtual void | takeControlOf (const DtUUID &, const std::set< DtString > &functionGroups, const DtSimulationAddress &addr=DtSimSendToAll, bool sendImmediately=false) |
| virtual void | releaseControlOf (const DtUUID &, const std::set< DtString > &functionGroups=std::set< DtString >(), const DtSimulationAddress &addr=DtSimSendToAll, bool sendImmediately=false) |
| virtual void | sendJoystickControl (const DtUUID &, const DtString &functionGroup, const DtString &function, double value, bool repeat=false, const DtSimulationAddress &addr=DtSimSendToAll, bool sendImmediately=false) |
XII. Simulation Status | |
Accessor for the status of the simulation. See DtBackend for a list of possible status. This status will apply to the simulation as a whole, not an individual back-end. To get the status of an individul back-end look up that back-end by address in the back-end listener and query the status of that back-end | |
| virtual DtSimulationStatus | simulationStatus () const |
| virtual void | addSimulationStatusChangedCallback (DtSimulationStatusChangedCallbackFcn, void *) |
| virtual void | removeSimulationStatusChangedCallback (DtSimulationStatusChangedCallbackFcn, void *) |
XIII. Factories | |
Accessors for factories that create the various kinds of interface messages and interface message content objects. | |
| virtual DtVrfObjectMessageFactory * | vrfObjectMsgFactory () |
| virtual DtCondExprFactory * | condExprFactory () |
| virtual DtStatementFactory * | stmtFactory () |
| virtual DtSimReportFactory * | reportFactory () |
| virtual DtSimTaskFactory * | taskFactory () |
| virtual DtSetDataRequestFactory * | setDataFactory () |
| virtual DtSimCommandFactory * | simCommandFactory () |
| virtual DtAdminContentFactory * | adminContentFactory () |
Public Attributes | |
| boost::signals2::signal< void()> | signal_initialized |
Protected Types | |
| typedef std::list< PlanCbInfo > | DtPlanCallbackListType |
| typedef std::list< StmtCbInfo > | DtStatementCallbackListType |
| typedef std::list < PlanCompleteCbInfo > | DtPlanCompleteCallbaclListType |
| typedef std::list< std::pair < DtObjectConsoleMessageCallbackFcn, void * > > | DtObjectConsoleMessageCallbackListType |
| typedef std::list< std::pair < DtBackendConsoleMessageCallbackFcn, void * > > | DtBackendConsoleMessageCallbackListType |
| typedef std::map< DtString, std::pair < DtJoystickControlResponseFcn, void * > > | JoystickResponseCallbackInfo |
Protected Member Functions | |
| virtual void | registerEventManagerCallbacks () |
| virtual void | unregisterEventManagerCallbacks () |
| virtual void | processJoystickControlResponse (DtSimMessage *msg) |
| virtual void | onInit () |
| virtual void | resetStateData () |
| virtual void | emptyLists () |
| virtual void | sendAggregateAsMsg (const DtSimulationAddress &addr, unsigned int requestId, const DtObjectType &objectType, DtForceType force, const DtVector &position, DtReal heading, DtList *entityNames, DtAggregateState initialAggregateState, const DtUUID &startingUUID=DtUUID::nullUUID()) const |
| virtual DtVrfConfigurationFileComposer * | createComposer () |
| virtual void | sendQuerySpatialSubdivisionConfigurationRequest (const DtSimulationAddress &backendAddress, DtSpatialSubdivisionType spatialSubdivisionType, DtServerRequestResponseCallbackFcn fcn, void *usr) |
| virtual bool | arbitrarySimAddress (const DtEntityType &, DtSimulationAddress &address) const |
| virtual bool | addStatementsAndSendPlan (const DtPlan &plan, DtIfPlan &planMsg, const DtSimulationAddress &addr=DtSimSendToAll, int *retiStatus=0, DtString *retsStmt=0) const |
| virtual void | processVrfObjectMessage (const DtVrfObjectMessage *objectMsg) |
| virtual void | processBackendStatusUpdate (const DtSimulationAddress &) |
| virtual void | processLoadScenarioEvent (const makVrfEvents::DtEvent &) |
| virtual void | processCloseScenarioEvent (const makVrfEvents::DtEvent &) |
| virtual void | initializeGlobalEnvironment (const DtSimulationAddress &environmentSimBackend=DtSimSendToAll) |
| virtual void | processGlobalEnvironmentCreated (const makVrf::DtExternalCurrentFrameState *) |
| virtual void | generateScenarioRunId () |
Static Protected Member Functions | |
| static void | joystickControlResponse (DtSimMessage *msg, void *usr) |
| static void | deliverRadioMessageCallback (DtSimMessage *msg, void *usr) |
| static void | vrfObjectMessageCallback (const DtVrfObjectMessage *objMsg, void *usr) |
| static void | backendStatusUpdate (const DtSimulationAddress &, void *) |
| static void | globalEnvironmentCreatedCallback (const makVrf::DtExternalCurrentFrameState *, void *) |
Static Callback Functions | |
| virtual void | processGlobalEnvironmentCreated (const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid) |
| virtual void | commentInteractionCallback (const makVrfEvents::DtEvent &) |
| static void | savedScenarioCb (DtSimMessage *msg, void *usr) |
| static void | exportScenarioCb (DtSimMessage *msg, void *usr) |
| static void | loadedScenarioCb (DtSimMessage *msg, void *usr) |
| static void | backendReceivedScenarioCb (DtSimMessage *msg, void *usr) |
| static void | receiveFileCb (const DtFilename &filename, void *usr) |
| static void | receivedMultiPlanCb (DtSimMessage *msg, void *usr) |
| static void | objectCreatedCb (DtSimMessage *msg, void *usr) |
| static void | receivedPlanCb (DtSimMessage *msg, void *usr) |
| static void | receivedPlanStmtCb (DtSimMessage *msg, void *usr) |
| static void | overlayObjectCreatedCallback (const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, void *usr) |
| static void | globalEnvironmentCreatedCb (const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, void *usr) |
| static void | indirectArtilleryObjectCreatedCallback (const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, void *usr) |
| static void | resourcesProcessedCb (DtSimMessage *msg, void *usr) |
| static void | spatialSubdivisionConfigurationCb (DtSimMessage *msg, void *usr) |
|
protected |
|
protected |
|
protected |
|
protected |
hashed by request id
|
protected |
|
protected |
Joystick callback information.
| DtVrfRemoteController::DtVrfRemoteController | ( | int | receivePort = 9000 | ) |
Constructor.
| receivePort | Port used by the file transporter to receive order of battle and plan files from a back end in response to a save scenario request. If the port requested cannot be opened, the next open port will be used. |
|
virtual |
Destructor.
|
virtual |
Accessor for the message interface.
|
virtual |
Accessor for the VRF TDL message interface.
|
virtual |
Returns current composer.
|
virtual |
Internet address setting.
|
virtual |
Constructor.
| receivePort | Port used by the file transporter to receive order of battle and plan files from a back end in response to a save scenario request. If the port requested cannot be opened, the next open port will be used. |
|
virtual |
Get our simulation address.
|
virtual |
Return the session ID.
Generate a request id. Used internally in functions that generate and send requests, so the callbacks can look for responses with the same ID.
| DtNetworkInterfaceManager* DtVrfRemoteController::networkInterfaceManager | ( | ) |
Constructor.
| receivePort | Port used by the file transporter to receive order of battle and plan files from a back end in response to a save scenario request. If the port requested cannot be opened, the next open port will be used. |
| makVrfEvents::DtEventManager* DtVrfRemoteController::eventManager | ( | ) |
Constructor.
| receivePort | Port used by the file transporter to receive order of battle and plan files from a back end in response to a save scenario request. If the port requested cannot be opened, the next open port will be used. |
|
inline |
Constructor.
| receivePort | Port used by the file transporter to receive order of battle and plan files from a back end in response to a save scenario request. If the port requested cannot be opened, the next open port will be used. |
|
inline |
Returns myRemoteEnvironmentController.
| DtRemoteEnvironmentController* DtVrfRemoteController::createRemoteEnvironmentController | ( | ) |
Instantiates a new DtRemoteEnvironmentController. Override to install a modified controller. Called in init.
|
inline |
Constructor.
| receivePort | Port used by the file transporter to receive order of battle and plan files from a back end in response to a save scenario request. If the port requested cannot be opened, the next open port will be used. |
|
virtual |
Initialize the remote controller. This init function must be called before any other methods can be used.
|
virtual |
Get a list of known back end simulation addresses.
|
virtual |
Get a list of back ends which are still processing the current load or save operation (if any).
|
virtual |
Get the back end listener.
|
virtual |
Register backend discovery callbacks.
|
virtual |
Get a list of known back end simulation addresses.
|
virtual |
Register backend removal callbacks.
|
virtual |
Get a list of known back end simulation addresses.
|
virtual |
Get remote back ends' control state Returns DtUnknownControlType if no remote backends exist. Returns either DtPauseControlType or DtRunControlType otherwise.
|
virtual |
Returns the number of backends loaded with a scenario.
|
virtual |
Returns true if all the backends have a scenario loaded and they are ready to simulate.
|
virtual |
Returns true if the backend specified is loaded.
|
virtual |
Modify the value of a back end settings object. The object's name must exist on the back end(s) receiving the modification message.
|
virtual |
Request the value of a back end setting from the DtVrfSimSettingsManager. By default the request is sent to all available back ends, but it can also be targeted to individual back ends. The request is added to myBackendSettingRequestMap and when responses for all the requested back ends have been received the given DtBackEndSettingRequestCompleteCallbackFcn will be called with the given user data to indicate that the back ends can now be interrogated for the setting. NOTE: This function is a pass through to DtVrfBackendListener::requestBackEndSetting.
|
virtual |
Returns the simulation time of the specified back end. If no back end specified, returns the first back ends simulation time.
|
virtual |
Sets the global state of spot reports - all entities set to use the global setting (which is the default) will obey this value.
|
virtual |
Sets the global state of sending of tdl messages - all entities set to use the global setting (which is the default) will obey this value.
|
virtual |
Sets the global state of engagement reports - all entities set to use the global setting (which is the default) will obey this value.
|
virtual |
Sets whether or not period snapshots is enabled and the time period (simulation time in seconds) for marking a checkpoint. Set period and/or numberOfSnapshotsToKeep to -1 to keep current value.
Set the dead reckoning settings to be used by any entities that allow gui overrides. Note this does not set the aggregate dimension threshold.
|
virtual |
Set the comm model settings to be used by entities that have radios.
|
virtual |
Set which side of the road entities drive on.
|
virtual |
Whether or not the 2D radar coverage altitude is in MSL or AGL.
|
virtual |
Sets the radar coverage altitudes and colors.
|
virtual |
Sets whether or not aggregate formation-following routes should be published. Turning off publishing of these routes can improve performance, if the aggregates are large (individual routes are generated for each member in an aggregate).
|
virtual |
Set rotation threshold (in radians) for all back ends.
|
virtual |
Set translation threshold (in meters) for all back ends.
|
virtual |
Set the aggregate dimension threshold for all back ends. Thresh is a number between 0 and 1, indicating the percentage change that an aggregate's dimensions can undergo before causing an update to be generated.
|
virtual |
Request spatial subdivision configuration of a given type, from a given back end.
|
virtual |
Set spatial subdivision configuration for given back end.
|
virtual |
Processes a spatial-subdivision-configuration callback. processes this message if the request id is one we generated. This is not used in a normal remote control application, but in a plug in it can be overridden to change or add to processing.
|
virtual |
Create a new scenario.
If the weather command is specified that will be used as the default environment conditions for the new scenario. If not specified back end defaults will be used.
|
virtual |
Create a new scenario from a simulation model set files.
|
virtual |
Create a new scenario from a simulation model set files. Creates and sends the load scenario message. Creates the environmental weather object on the first available back end by calling createEntity().
Called internally from new scenario methods.
|
virtual |
Creates the contents of the simulation object group at the given geocentric position and flags. The simulation object group to create will need to be in the same directory as the files that will be referenced to create this simulation object group on the back end where this group is to be created. If it does not exist the back end will print an error to the console. If there is a simulation object group in the object groups directory with a name <simulationObjectGroup>.sogx use that, else look in sub-directory.
|
virtual |
Loads scenario file specified by filename. Parses and transfers configuration files to the appropriate private backends; Then tells backends to load the relevant files.
The above will now be done as part of the close scenario call. It is assumed that any data passed in as part of the remapping function can be stored and reused locally without being deleted.
If simulation model set files are not blank, then, if the scenario loaded does not have simulation model set files associated with load, sets them to the values in the vector.
If numberOfObjects is specified will return the number of objects read from the object map file
|
virtual |
Loads scenario file specified by filename. Parses and transfers configuration files to the appropriate private backends; Then tells backends to load the relevant files.
The above will now be done as part of the close scenario call. It is assumed that any data passed in as part of the remapping function can be stored and reused locally without being deleted.
If simulation model set files are not blank, then, if the scenario loaded does not have simulation model set files associated with load, sets them to the values in the vector.
If numberOfObjects is specified will return the number of objects read from the object map file
|
virtual |
Loads scenario specified by DtScenario. Parses and transfers configuration files to the appro- private backends based on the info in scenario; Then tells backends to load the relevant files. NOTES: Calling this function replaces any previous call to loadScenario. Also, this function does not send a message if no backends are running in our session.
Reimplemented in DtExampleRemoteController.
|
virtual |
Send a load scenario message based on the information inside scenario. Assumes that backends already have the relevant files for loading. If the scenario does not contain an .oob or .pln file, calling this method creates a new scenario.
Set isOrbatEnabled to true if the back-end is enabled to be an orbat server. Only one back-end should be an orbat server during a scenario as, if there are multiple, the front-end could receive redundant messages.
Set createGlobalEnv to true if the back-end should create the global environment. Only one back-end should create a global environment during a scenario as, if there are multiple, the front-end could receive redundant messages.
Set createGlobalDynamicTerrain to true if the back-end should create the global dynamic terrain server. Only one back-end should be a global dynamic terrain server during a scenario as, if there are multiple, the front-end could receive redundant messages.
|
virtual |
Create/destroy global environment (if not already)
|
virtual |
Called by sendLoadScenarioMessage to create an instance of DtIfLoadScenario. The caller is responsible for deleting the returned pointer.
|
virtual |
Register callback to be invoked whenever a backend has finished loading a scenario.
|
virtual |
Loads scenario file specified by filename. Parses and transfers configuration files to the appropriate private backends; Then tells backends to load the relevant files.
The above will now be done as part of the close scenario call. It is assumed that any data passed in as part of the remapping function can be stored and reused locally without being deleted.
If simulation model set files are not blank, then, if the scenario loaded does not have simulation model set files associated with load, sets them to the values in the vector.
If numberOfObjects is specified will return the number of objects read from the object map file
|
virtual |
Register callback to be invoked when a scenario is completely loaded.
|
virtual |
Loads scenario file specified by filename. Parses and transfers configuration files to the appropriate private backends; Then tells backends to load the relevant files.
The above will now be done as part of the close scenario call. It is assumed that any data passed in as part of the remapping function can be stored and reused locally without being deleted.
If simulation model set files are not blank, then, if the scenario loaded does not have simulation model set files associated with load, sets them to the values in the vector.
If numberOfObjects is specified will return the number of objects read from the object map file
Rolls back to the current snapshot given the scenario time to roll back to. If this is a multi-backend simulation, this code will not immediately do the rollback. It will instead issue a message to all the back ends to remove all objects in the simulation, and, when the remote controller is notified that the back ends have processed this message, then it will issue the rollback command. Will return false if already in the process of a rollback.
|
virtual |
Imports a scenario into the specified back end. DtSimSendToAll is not acceptable. A scenario can only be imported onto a single backend.
|
virtual |
Loads scenario file specified by filename. Parses and transfers configuration files to the appropriate private backends; Then tells backends to load the relevant files.
The above will now be done as part of the close scenario call. It is assumed that any data passed in as part of the remapping function can be stored and reused locally without being deleted.
If simulation model set files are not blank, then, if the scenario loaded does not have simulation model set files associated with load, sets them to the values in the vector.
If numberOfObjects is specified will return the number of objects read from the object map file
|
virtual |
Imports the specified scenario description file into the given back end. If DtSimSendToAll is given as the back end the routine will return false, as it also will if the scenario description file does not exist. This routine does not check to be sure if the msdl file is a valid file before sending over the tcp socket to the requested back end. It will also send a udp message with the msdl file to import.
|
virtual |
Set the maximum amount of time to wait for backends to respond to a 'load' message. The default timeout interval is 1 minute. t should be specified in seconds.
|
virtual |
Loads scenario file specified by filename. Parses and transfers configuration files to the appropriate private backends; Then tells backends to load the relevant files.
The above will now be done as part of the close scenario call. It is assumed that any data passed in as part of the remapping function can be stored and reused locally without being deleted.
If simulation model set files are not blank, then, if the scenario loaded does not have simulation model set files associated with load, sets them to the values in the vector.
If numberOfObjects is specified will return the number of objects read from the object map file
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Accessor for front end Gui terrain database. If the myGuiTerrainDatabase is empty and there is a scenario loaded, returns the Gui terrain database of the loaded scenario.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Set the scenario data used to save with the scenario.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Returns true if a scenario is being saved.
|
virtual |
Save a scenario.
If simTime is not -1 will attempt to save an in memory snapshot at the given sim time (or the closest one to it)
| true | the save message was successfully sent to the back end |
| false | either a file or directory was not writable or the DtPreserveMappingsFcn returned false. |
Write out scenario files. This function will compose the saved backend data that we have received so far. Ideally, this is only invoked when all backends have responded to a save request. Users generally should never call this function. If there is an error saving, sError will contain an error condition.
|
virtual |
Saves a scenario checkpoint. This call will send a message to all back ends to save the in memory snapshot at the given simulation time. If a checkpoint at the given simulation time does not exist in any of the back ends the checkpoint will still be saved to disk. This method will return false if a checkpoint (or a save) is currently in progress.
|
virtual |
Takes a snapshot of the scenario in the various back ends in memory. This will not return any saved scenario files to the front-end.
|
virtual |
Takes a snapshot and makes it the base snapshot that can be rewound to by the rewind to scenario start button. Sent to all back ends. The old base snapshot simply becomes a snapshot.
|
virtual |
Create/destroy global dynamic terrain (if not already)
|
virtual |
Send a save scenario message. Use this function to send a save message to a single backend. Will send a save message to save an in memory snapshot if simTime is >= 0 rather than a normal save message.
|
virtual |
Register a callback to be invoked whenever a backend has finished saving a scenario.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Register callback to be invoked when a scenario is completely saved.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Register callback to be invoked when a scenario file is about to be saved.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Register callback to be invoked when a scenario is completely exported.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Register callback to be invoked when a scenario is completely checkpointed.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Register callback to be invoked when a scenario is completely saved. This interface is preferred, since the callback interface it exposes allows the calling code to determine whether the save succeeded.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Get/Set the Object Parameters Database filename to be written to the scenario file during a save. Backends will load their own opd file if a scenario file does not specify one. This value is automatically set by a 'newScenario' or 'loadScenario' call. Users should only set the opd file name if they want to specify a file that is different from the one that was loaded during 'new' or 'load'.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Set the maximum amount of time to wait for backends to respond to a 'save' message. The default timeout interval is 1 minute. t should be specified in seconds.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
If there is a local overlay file that will be loaded up the next time the scenario is opened, set this value here BEFORE calling to save out the scenario.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
If there is a local selection groups file that will be loaded up the next time the scenario is opened, set this value here BEFORE calling to save out the scenario.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
If there is a local symbol map that will be loaded up the next time the scenario is opened, set this value here BEFORE calling to save out the scenario. Blank means keep currently loaded file, the default.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
If there is a local create menu that will be loaded up the next time the scenario is opened, set this value here BEFORE calling to save out the scenario. Blank means keep currently loaded file, the default.
|
virtual |
Exports the specified scenario description file by requesting the specified back end to create the export file and send that file back to this front-end. If DtSimulationAddress is DtSimSendToAll false will be returned from this method.
|
virtual |
Save currently loaded parameter database in backend to file.
|
virtual |
Saves a simulation object group with the contents of the items specified on the given back end (DtSimSendToAll is not valid). Will save the results in the given simulation model set directory. Will return false if the address is DtSimSendToAll or already in the process of saving or creating a simulation object group. The information will be saved on the back end that this is sent to.
|
virtual |
Close the current scenario. Hint that if the back end has the current database opened keep it open. Normally, if the scenario is closed and there are snapshots and the database to open is the same database opened in the back end the database will stay open. If you want to force a closing of everything in the case of snapshots being present, pass the forceCloseAll flag as true. If the database to open is supplied and the forceCloseAll flag is true, only the snapshots will be removed if the database to open is the same database that is currently opened.
|
virtual |
Send a message to all back-ends to reinitialize the current scenario by deleting and recreating all scenario objects without restoring PSR context in controllers.
|
virtual |
If useStartStopInteraction is true (default) send DIS specific start/freeze message rather than VR-Forces specific.
|
virtual |
If useStartStopInteraction is true (default) send DIS specific start/freeze message rather than VR-Forces specific.
|
virtual |
For the rewind, if there is more then one backend with a loaded scenario, will instead close and reload the scenario.
|
virtual |
If useStartStopInteraction is true (default) send DIS specific start/freeze message rather than VR-Forces specific.
|
virtual |
If useStartStopInteraction is true (default) send DIS specific start/freeze message rather than VR-Forces specific.
|
virtual |
If useStartStopInteraction is true (default) send DIS specific start/freeze message rather than VR-Forces specific.
|
virtual |
Internal function invoked when a backend notifies us that it has received and loaded the given scenario information. Users should never need to call this function.
|
virtual |
Internal function invoked when a backend notifies us that it has received the given scenario information. Users should never need to call this function.
|
virtual |
Starts the global dynamic terrain controller on one of the available simulation engines. If DtSimSendToAll passed, then an arbitrary sim engine is chosen to simulate the process dynamic terrain changes. Users should never need to call this function.
|
virtual |
Invoked when a backend notifies us that it has saved and sent its scenario information. The information in 's' is saved to be processed later. Users generally should never call this function.
|
virtual |
Called before the scenario is saved, this routine will go through the saved save interface messages and store scenario data common to all servers.
|
virtual |
Invoked when a backend notifies us that it has exported and sent its scenario information. Since only one backend is processing the export, file can be dealt with immediately.
|
virtual |
Called when everything is available to complete the export process.
|
virtual |
Internal function invoked when a backend notifies us that it has saved and sent its scenario information. Calls user callbacks. Users generally should never call this function.
|
virtual |
Perform periodic processing that's needed for saving a scenario. This function will get executed in a VR-Link post drain callback.
|
virtual |
Perform periodic processing that's needed for exporting a scenario. This function will get executed in a VR-Link post drain callback.
|
virtual |
Perform periodic processing that's needed for loading a scenario. This function will get executed in a VR-Link post drain callback.
|
virtual |
This routine will return the simulation time based upon the saved messages that should be saved in the scenario file.
|
virtual |
This routine will set the terrain database filename into the supplied scenario. It will warn if any of the backends do not match the first backend's terrain database filename.
|
virtual |
This routine will set the parameter database filename into the supplied scenario. It will warn if any of the backends do not match the first backend's parameter database filename.
|
virtual |
This routine will set the physical world filename into the supplied scenario. It will warn if any of the backends do not match the first backend's parameter database filename.
|
virtual |
This routine will set the time multiplier into the supplied scenario. It will warn if any of the backends do not match the first backend's time multiplier.
|
virtual |
This routine will set the auto reorganize flag into the supplied scenario. It will warn if any of the backends do not match the first backend's auto reorganize flag.
|
virtual |
This routine will set the random number seed into the supplied scenario. It will warn if any of the backends do not match the first backend's random number seed.
|
virtual |
This routine will set the frame rate mode into the supplied scenario. It will warn if any of the backends do not match the first backend's frame rate mode.
|
virtual |
This routine will set the frame delta time into the supplied scenario. It will warn if any of the backends do not match the first backend's frame delta time.
|
virtual |
This routine will set the exercise start time into the supplied scenario. It will warn if any of the backends do not match the first backend's exercise start time.
|
virtual |
This routine will set the exercise start day and time into the supplied scenario. It will warn if any of the backends do not match the first backend's exercise start time.
|
virtual |
Given an aerodrome airport code, create that aerodrome. If the aerodrome does not exist then the aerodrome will not be created. The airport code is case sensitive, so, the incoming string will be uppercased.
|
virtual |
Create a new waypoint. Note that the name must be unique (if specified) and that the position needs to be in geocentric coordinates. This function simply sends the info to the given address – it's up to users to do error checking before making this call!
|
virtual |
Create a new waypoint. This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
Modify the given waypoint.
|
virtual |
Create a new route. Note that the name must be unique (if specified) and that the vertices needs to be in geocentric coordinates. This function simply sends the info to the given address – it's up to users to do error checking before making this call!
|
virtual |
Create a new route. This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
Modify the given route.
|
virtual |
Create a new phase line. Note that the name must be unique (if specified) and that the vertices needs to be in geocentric coordinates. This function simply sends the info to the given address – it's up to users to do error checking before making this call!
|
virtual |
Create a new phase line. This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
Modify the given phase line.
|
virtual |
Create a new control area. Note that the name must be unique (if specified) and that the vertices needs to be in geocentric coordinates. Also, the vertices should form a convex polygon! This function simply sends the info to the given address – it's up to users to do error checking before making this call!
|
virtual |
Create a new control area. This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
modify the given control area
|
virtual |
Create a new obstacle. Note that the name must be unique (if specified) and that the vertices needs to be in geocentric coordinates. Also, the vertices should form a convex polygon! This function simply sends the info to the given address – it's up to users to do error checking before making this call!
|
virtual |
Create a new obstacle. This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
modify the given obstacle
|
virtual |
Create a new disaggregation area (triggers automatic disaggregation whenever an aggregate enters the area). Note that the name must be unique (if specified) and that the vertices needs to be in geocentric coordinates. This function simply sends the info to the given address – it's up to users to do error checking before making this call!
|
virtual |
Create a new disaggregation area (triggers automatic disaggregation whenever an aggregate enters the area). This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
Modify given disaggregation area.
|
virtual |
Create an overlay object. Overlay objects are considered objects that both be used in a simulated environment (control objects as listed above) and objects that can be used to annotate a scenario as one might do with an overlay on an overhead projector.
Creating an overlay object is a two step process. The first step is to create the object, and the second is to apply modifications to that created object (color, parent). This call will do both. It will send the create message, wait for the object to be created, and then send the modify message for that object. If rId is non zero will use that generated id rather than a newly created one
|
virtual |
processes a overlay-object-created callback. processes this message if the request id is one we generated. Override to change or add to processing.
|
virtual |
Sets the physical line width of the object, if the object can use it.
|
virtual |
Sets the physical line height of the object, if the object can use it.
|
virtual |
Sets the ceiling of the object, if the object can use it.
|
virtual |
This function is only used to modify information that is specific to an overlay object (waypoint, route, overlay objects, etc.)
|
virtual |
Create an indirect fire object.
|
virtual |
processes a indirect-artillery-created callback. processes this message if the request id is one we generated. Override to change or add to processing.
|
virtual |
Given an aerodrome airport code, create that aerodrome. If the aerodrome does not exist then the aerodrome will not be created. The airport code is case sensitive, so, the incoming string will be uppercased.
|
virtual |
Very simple call that will create an object (entity or overlay) with a heading of 0 and the supplied points.
|
virtual |
Internal function that is called when an object is created. Users should not need to call this function. Calls any user registered callbacks.
|
virtual |
Delete VR-Force's object by name.
|
virtual |
Create a new entity.
|
virtual |
Create a new entity. This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
Very simple call that will create an object (entity or overlay) with a heading of 0 and the supplied points.
|
virtual |
Create an aggregate.
|
virtual |
Create an aggregate. This version of create allows users to register a callback function that will be invoked once the object has been created.
|
virtual |
Adds the specified object to as a subordinate to the specified superior. Object will be detached from any superior it currently belongs to first.
|
virtual |
Adds the specified object as a subordinate to the Force Level aggregate corresponding to the objects force type. It will be detached from any superior it currently belongs to first.
|
virtual |
Removes the specified object from whatever aggregate it is a part of and leaves it with no superior.
|
virtual |
Set label of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Sets the overlay parent of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate. Calls down to sendVrfModifyMessage.
|
virtual |
Set altitude (in meters) of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set location (geocentric coordinates) of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set appearance of entity.
|
virtual |
Set capabilities of entity.
|
virtual |
Set heading (in degrees) of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set force of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Spot reports of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate. Requests that spot reports for the specified entity be sent or turned off.
|
virtual |
TDL Messaging of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Engagement reports of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate. Requests that engagement reports for the specified entity be sent or turned off.
|
virtual |
Set resource of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set rules of engagement of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate. See setEngRules.h for a list of pre-defined rules of engagement types that can be passed as the rulesType.
|
virtual |
Set sector of responsibility (center and size are in degrees) of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set ordered speed (in meters per second) of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set current speed (in meters per second) of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set target of an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set superior of an existing entity. If superior is blank will set superior as force of the current item.
|
virtual |
Set tasked by superior of an existing entity.
|
virtual |
Set concealed for an existing entity or aggregate. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set emitter.
|
virtual |
Set emergency beacon.
|
virtual |
Set iff.
|
virtual |
Restore to start state.
|
virtual |
Sets the damage state of an existing entity or aggregate to destroyed. Note: if this command is specified for an aggregate leader, the change will apply to the entire aggregate.
|
virtual |
Set lifeform weapon. If 'name' does not correspond to a lifeform entity, making this call has no effect.
| void DtVrfRemoteController::setSystemEnabled | ( | const DtUUID & | name, |
| const DtString & | systemName, | ||
| bool | val, | ||
| const DtSimulationAddress & | addr = DtSimSendToAll |
||
| ) | const |
Set system enabled.
|
virtual |
Set lifeform posture. If 'name' does not correspond to a lifeform entity, making this call has no effect.
|
virtual |
Set an aggregate formation. If 'leader' is not an aggregate leader making this call will have no effect.
|
virtual |
Reorganize the aggregate. This function is only useful when automatic reorganization is not enabled. If 'leader' is not an aggregate leader making this call will have no effect.
|
virtual |
General set data message. The recipient is the name of the object to receive the set message. If sendImmediately is set to true, the message will not be put in a queue and sent immediately.
|
virtual |
This function can be used to create vrf objects that cannot be created using the more specific methods above. In general, users should not need to call this. Note that the userData is only valid for objects that are environmental (control) objects.
|
virtual |
This function can be used to modify vrf objects that cannot be created using the more specific methods above. Please note that calling this function for entity values will not work in most cases. Instead, the SetData family of methods should be used. In general, users should not need to call this.
|
virtual |
Send a general task message to the entity/aggregate specified by 'recipient' argument, which is the name of the entity/aggregate to receive the task message.
|
virtual |
Send a 'move along route' task to the entity/aggregate specified by 'name'.
|
virtual |
Send a 'move to waypoint' task to the entity/aggregate specified by 'name'.
|
virtual |
Send a 'move to location' task to the entity/aggregate specified by 'name'. destinationLocation is specified in geocentric coordinates.
|
virtual |
Send a 'patrol waypoints' task to the entity/aggregate specified by 'name'.
|
virtual |
Send a 'patrol route' task to the entity/aggregate specified by 'name'.
|
virtual |
Send a 'follow' task to the given entity/aggregate. The vrf object specified by 'name' will follow 'leader' at the given offset . The offset should be specified in meters. To specify an offset in front, to the right, or below, use a negative sign for x, y, or z.
|
virtual |
Send a 'wait' task to the entity/aggregate specified by 'name'.
|
virtual |
Send a 'wait X seconds' task to the entity/aggregate specified by 'name'.
| addr | seconds |
|
virtual |
Send a 'wait until the simulation time has increased by X' task to the entity/aggregate specified by 'name'.
| addr | simulation time |
|
virtual |
Command the entity/aggregate to skip the current task.
|
virtual |
Command the entity/aggregate corresponding to the given entity to abandon its plan.
|
virtual |
Assign a plan to the echelon ID held by the entity/aggregate corresponding to the given entity name. If plan fails, will contains failure code. Currently if status is 0, it is because an individual statement was too long to add retsStmt will contain the string representation of the statement that to encode.
|
virtual |
Same as assignPlanByName, except send DtMultiplePlanSet message.
|
virtual |
Send a message to all VRF sim engines requesting plan updates messages for the specified entity name. You must have a plan callback registered for this entity to receive the plan message from the sim engine.
|
virtual |
Requests plan messages from the sim engine for a particular entity, and registers a callback to receive the messages. The given callback will be invoked whenever a relevant plan message arrives.
|
virtual |
Internal function invoked when a plan is received. This calls functions registered in the subscribePlan function. Users should not need to call this function.
|
virtual |
Send a message to the specified backend (or all) to check to see if all locally simulated entities contain the same plan. If they do, a response is sent back with the plan. If they do not, a response is sent back with a flag stating that the plans are not common (rather than an empty plan.
|
virtual |
Command the entity/aggregate corresponding to the given entity to abandon its plan.
|
virtual |
processes a multi-plan received callback. processes this message if the request id is one we generated. Override to change or add to processing.
|
virtual |
Removes a plan message callback function registered with subscribePlan.
|
virtual |
Unregisters all plan message callbacks. Both entity/aggregate as well as global plan subscriptions are removed.
|
virtual |
Register callback for an entity's or aggregate's current statement. requestPlan() or subscribePlan() must be called for the same entity for the callback to be invoked.
|
virtual |
Unregister callback for an entity's or aggregate's current statement.
|
virtual |
Unregister current statement callbacks for all entities/aggregates and global plans.
|
virtual |
Internal function invoked when we receive a current statement message. This message also contains information about whether or not the plan has been completed. This method invokes either current statement callbacks or plan complete callbacks. Users should not have to call this function.
|
virtual |
Register callback for an entity's or aggregate's plan completion. requestPlan() or subscribePlan() must be called for the same entity for the callback to be invoked.
|
virtual |
Unregister callback for an entity's or aggregate's plan completion.
|
virtual |
Unregister plan completion callbacks for all entities/aggregates and global plans.
|
virtual |
Command the entity/aggregate corresponding to the given entity to abandon its plan.
|
virtual |
Requests the list of all global plans.
|
virtual |
Assigns a global plan of the specified name to the sim engine specified in addr. If addr is DtSimSendToAll, the first sim engine is chosen. If plan fails, will contains failure code. Currently if status is 0, it is because an individual statement was too long to add retsStmt will contain the string representation of the statement that to encode.
|
virtual |
Deletes any global plan matching the specified name.
|
virtual |
Launches the global plan. If already launched then this will have no effect.
|
virtual |
Register callbacks with this message executive to receive messages sent from entities and objects to the GUI. Only messages addressed to DtVrfMessageFrontEndAddress will be received in these callbacks.
|
virtual |
Sends the specified message to the entity identified in the message receiver field. The transmitter field of the message is filled in by this class to be DtVrfObjectMessageFrontEndAddress. Normally, the default simulation address of DtSimSendToAll should be used. If sendImmediately is set to true, the message will not be put in a queue and sent immediately.
|
virtual |
Returns a pointer to the radio message listener. Callbacks can be registered with this listener to pick up radio messages that are send by VR-Forces objects.
|
virtual |
These routines will send interface messages to tell the back end to embark or disembark the specified objects. All information sent is by object name. If loadOverride is false, then the system will use to occupancy director to determine where to embark the entity, else it will use the offset (in body coordinates) supplied by the user.
|
virtual |
These routines will send interface messages to tell the back end to embark or disembark the specified objects. All information sent is by object name. If loadOverride is false, then the system will use to occupancy director to determine where to embark the entity, else it will use the offset (in body coordinates) supplied by the user.
|
virtual |
These routines will send interface messages to tell the back end to embark or disembark the specified objects. All information sent is by object name. If loadOverride is false, then the system will use to occupancy director to determine where to embark the entity, else it will use the offset (in body coordinates) supplied by the user.
|
virtual |
Requests the tasks and sets that are available for this object, using the DtIfCapableTaskAndSetQuery. The response to this message will be a DtIfCapableTaskAndSetResponse message.
|
virtual |
Requests the tasks and sets that are available for the list of named objects.
|
virtual |
Requests the DI-Guy Appearances and animations available for the DI-Guy character associated with this entity.
|
virtual |
Requests the DI-Guy Appearances and animations available for the DI-Guy character associated with these entities.
|
virtual |
Request indirect artillery information by environmental name.
|
virtual |
Sends a request to the server to return a list of resource names associated with the entities supplied. The response will only contain a list of resources. It will not associate the resource with the entity has that has.
|
virtual |
Sends a request the server to send back a PDU which contains the resource values for the specified object and resource values.
| name | The name of the entity for which resources are being requested. If NULL, information for all entities will be returned. |
| list | A list of resource names to be queried and returned. If NULL, all resources will be returned. |
| fcn | The static function that will be called with the result when it arrives. |
| usr | A pointer that will be passed to the static callback function with the result. |
|
virtual |
processes a resources-processed callback. processes this message if the request id is one we generated. Override to change or add to processing.
|
virtual |
Manage callbacks which will get called each time a object console message is received over the network.
|
virtual |
Manage callbacks which will get called each time a object console message is received over the network.
|
virtual |
Sends a request to the sim engine to change the notification level of the specified object.
|
virtual |
Starts the sim engine logging this object console to the specified file. This file will be written by the sim engine that is simulating this object.
|
virtual |
Stops any sim engine which is currently writing a log file for this object.
|
virtual |
Manage callbacks that will get called each time a back end console message is received over the network.
|
virtual |
Manage callbacks which will get called each time a object console message is received over the network.
|
virtual |
Processes an incoming comment interaction. Object console messages are sent via comment interactions.
|
virtual |
Requests joystick information (supported function groups and functions) for the given entity. Supplied function will be called (with user data) when information is retrieved If sendImmediately is set to true, the message will not be put in a queue and sent immediately.
|
virtual |
Takes control of the given entity for the supplied function group(s) for the purposes of joystick control If sendImmediately is set to true, the message will not be put in a queue and sent immediately.
|
virtual |
Releases control of the given entity for the given function groups. No function groups means release control of all If sendImmediately is set to true, the message will not be put in a queue and sent immediately.
|
virtual |
Sends a joystick control message to the given entity for the given function group and function using the supplied value If sendImmediately is set to true, the message will not be put in a queue and sent immediately.
|
virtual |
Add/remove a static callback method for notification when the simulation status as a whole changes.
|
virtual |
Add/remove a static callback method for notification when the simulation status as a whole changes.
|
virtual |
Add/remove a static callback method for notification when the simulation status as a whole changes.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
ONLY call this method if you are not prepared to call beginFrame and advanceFrame on the communication manager. If you notice that you are not receiving messages this might be because your code is simply calling drain input on the exercise connection that was set to the vrlink version of this controller (in old remote control applications), in which case change the exConn->drainInput to a tick on this controller. Calling this method will also drain input on the exercise connection.
|
static |
Invoked when a backend notifies us that it has saved and send it scenario information.
|
static |
Invoked when a backend notifies us that it has exported and send it scenario information.
|
static |
Invoked when a backend notifies us that it has received and loaded the given scenario information.
|
static |
Invoked when a backend notifies us that it has received the given scenario information.
|
static |
Invoked when a file has been received from our dedicated TCP socket.
|
static |
Invoked when we receive a multiple plan response.
|
static |
Invoked when an object we've requested has been created.
|
static |
Invoked when we receive a plan as a result of a plan request.
|
static |
Invoked when we receive a plan statement message.
|
static |
Invoked when an overlay object is created. Will call the processOverlayObjectCreated() method.
|
static |
Called when global weather object is created, will then set time of day. This will only be called during new scenario creation.
|
virtual |
Invoked when a comment interaction is received from the network. Calls processCommentInteraction().
|
static |
Invoked when an indirect artillery object is created. Will call the processOverlayObjectCreated() method.
|
static |
Invoked when a resource request is called via requestResources.
|
static |
Invoked when a query spatial subdivision configuration request is made via querySpatialSubdivisionConfiguration(). Calls process.
|
virtual |
Invoked when a comment interaction is received from the network. Calls processCommentInteraction().
|
protectedvirtual |
|
protectedvirtual |
|
staticprotected |
Invoked when a resource request is called via requestResources.
|
protectedvirtual |
|
protectedvirtual |
Initializes myTempDirectory, host inet address, myListener, myRadioMessageListener. Registers all callbacks and factories.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Fills out and sends an aggregate-as message.
|
protectedvirtual |
Initializes the myComposer variable.
|
protectedvirtual |
Sends DtIfQuerySpatialSubdivisionConfiguration request for given spatial subdivision type.
|
protectedvirtual |
Chooses an arbitrary simulation address from the current set of registered backends. This is used for commands that must be sent to only one sim engine, but have DtSimSendToAll specified. Chooses the first address on the list.
|
protectedvirtual |
Adds the statements from plan to planMsg, and sends planMsg to the specified address. If the plan gets too long, multiple plan messages are sent, to be appended on the sim engine side. If any of the statements are too large to be encoded into the planMsg, an error code and the text of the invalid statement are returned in retiStatus and retsStmt.
|
staticprotected |
Callback registered with the message interface for vrfObjectMessages. Calls processVrfObjectMessage().
|
staticprotected |
|
protectedvirtual |
If the message is addressed to the front end, passes it to the objectMessageExecutive for processing by any registered callbacks.
|
staticprotected |
Used by rollback, once there are no longer any backends with entities give the actual rollback.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Starts the environment simulation on one of the available simulation engines. Must be called before setting environment state settings in the DtRemoteEnvironmentController. If DtSimSendToAll passed, then an arbitrary sim engine is chosen to simulate the environment. Users should never need to call this function.
|
staticprotected |
Invoked when global environment created. If there is an environment to send for a new scenario do that now.
|
protectedvirtual |
|
protectedvirtual |
Generates a new scenario run ID to be used when creating or loading a scenario.
| boost::signals2::signal<void ()> DtVrfRemoteController::signal_initialized |
Signal sent after onInit is called.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
list of any deprecated old-style save callbacks that have been registered
|
protected |
list of any preferred new-style save callbacks that have been registered
|
protected |
list of any preferred new-style save callbacks that have been registered
|
protected |
list of any preferred new-style save callbacks that have been registered
|
protected |
list of any preferred new-style save callbacks that have been registered
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
true if a DtBackendRemappingFcn was called on the current scenario
|
protected |
false if a DtPreserveMappingsFcn returned false when saving a scenario
|
protected |
true if at some point during the save of this scenario the user decided to remap the objects to the new back end. If true, the user will no longer be prompted to preserve mappings
|
protected |
Set to true if needs to create global environment on first load of simulation.
|
protected |
Set to non-null if needing to also set the global environment.
|
protected |
Set to true if needs to create the object to manage global dynamic terrain.
|
protected |
These are needed for message callbacks to work.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
This member variable will contain the front end database (if different from back end). It is set on new scenario, load scenario or by accessor function.
|
protected |
Extra data used to be saved with the scenario.
|
protected |
Location for temporary files generated by the configuration composer and file transporter.
|
protected |
This is the Internet address to send saved files back to from the server. If this program is run on a machine that has multiple Internet cards, call the setHostInetAddr method to the Internet address to use.
Incremented by generateRequestId() to assign new request id's. This value should only be changed by generateRequestId(). It's declared as mutable so that generateRequestId() and all the functions that call it can be const functions.
|
protected |
Used to processes VrfObjectMessages addressed to the Front End.
|
protected |
Used to spy on radio messages sent between VRF Entities.
|
protected |
Only set for a new scenario.
|
protected |
Pending export request id.
|
protected |
When received, the file to save the export file to.
|
protected |
Set to true once export file has been received.
|
protected |
Set to know we've received the export complete message but not the file yet.
|
protected |
|
protected |
|
protected |
Whether or not the pending save is saved to a zip file.
|
protected |
If rolling back, the rollback time.
|
protected |
|
protected |
|
protected |
Used for loading a scenario if there are any backends opened.
|
protected |
|
protected |
|
protected |
Used to monitor and change the weather state.
|
protected |
|
protected |
|
protected |