41 #include <vl/commentInteraction.h>
42 #include <vl/exerciseConn.h>
43 #include <vl/hostStructs.h>
44 #include <vlpi/disEnums.h>
45 #include <vlpi/appearance.h>
46 #include <vlutil/vlHashlist.h>
82 (
const DtSimulationAddress& addr,
DtSaveResult result,
void * usr);
91 (
const DtString& name,
const DtEntityIdentifier& id,
const DtUUID& uuid,
void* usr);
97 (
const DtString& name,
const DtEntityIdentifier& id,
98 const DtUUID& uuid,
void* usr);
101 (
const DtEntityIdentifier& id,
int notifyLevel,
const DtString& message,
105 (
const DtSimulationAddress& id,
int notifyLevel,
const DtString& message,
230 virtual void setHostInetAddr(DtInetAddr);
231 virtual DtInetAddr hostInetAddr()
const;
234 virtual const DtSimulationAddress& simulationAddress()
const;
237 virtual int sessionId()
const;
242 virtual unsigned int generateRequestId()
const;
271 virtual void init(DtExerciseConn* exConn,
275 const DtString& uuidMarkingForNonVrForces =
"entity-identifier");
280 const DtString& uuidMarkingForNonVrForces =
"entity-identifier");
284 virtual void reinitialize(
302 virtual const DtList& backends()
const;
306 virtual const DtList& pendingBackends()
const;
312 virtual void addBackendDiscoveryCallback(
314 virtual void removeBackendDiscoveryCallback(
318 virtual void addBackendRemovalCallback(
320 virtual void removeBackendRemovalCallback(
326 virtual int backendsControlState()
const;
329 virtual int numberBackendsLoaded()
const;
333 virtual bool allBackendsReady()
const;
336 virtual bool backendLoaded(
const DtSimulationAddress& addr)
const;
341 const DtSimulationAddress& addr = DtSimSendToAll);
353 virtual void requestBackEndSetting(std::string name,
355 const DtSimulationAddress& addr = DtSimSendToAll);
359 virtual double simTime(
const DtSimulationAddress* a = NULL)
const;
370 virtual void setSpotReportsGloballyEnabled(
bool enabled);
374 virtual void setEngagementReportsGloballyEnabled(
bool enabled);
378 virtual void setPeriodicSnapshotSettings(
bool enabled,
double period,
int numberOfSnapshotsToKeep);
382 virtual void setDRThresholds(
double translation,
double rotation);
385 virtual void setCommModelSettings(
bool useExternalComms);
388 virtual void setRoadDrivingSettings(
bool driveOnLeft);
392 virtual void setAutomaticAggregationDisaggregationEnabled(
bool enabled);
398 virtual void setPublishAggregateFormationRoutes(
bool yesNo);
401 virtual void setRotationThreshold(DtReal thresh);
404 virtual void setTranslationThreshold(DtReal thresh);
410 virtual void setAggDimensionThreshold(DtReal thresh);
414 virtual void querySpatialSubdivisionConfiguration(
415 const DtSimulationAddress& backendAddress,
420 virtual void setSpatialSubdivsionConfiguration(
421 const DtSimulationAddress& backendAddress,
423 const int spatialSubdivisionXResolution,
424 const int spatialSubdivisionYResolution,
425 const int spatialSubdivisionZResolution);
432 virtual void processSpatialSubdivisionConfigurationCb(
452 virtual bool newScenario(
453 const DtFilename& dbname,
454 const DtFilename& guidbname,
455 const DtFilename& opdname = DtFilename::nullFilename(),
456 const DtFilename& physicalWorldName = DtFilename::nullFilename(),
458 time_t startTimeOfDay = 12 * 3600,
463 virtual bool newScenario(
464 const DtFilename& dbname,
465 const DtFilename& guidbname,
466 const std::vector<DtString>& simulationModelSetFiles,
468 time_t startTimeOfDay = 12 * 3600,
477 virtual bool newScenario(
478 const DtFilename& dbname,
479 const DtFilename& guidbname,
480 const DtFilename& opdname,
481 const DtFilename& physicalWorldName,
482 const std::vector<DtString>& simulationModelSetFiles,
484 time_t startTimeOfDay = 12 * 3600,
493 virtual void createSimulationObjectGroup(
const DtSimulationAddress&,
const DtString& simulationObjectGroup,
494 const DtVector& createPosition,
double offsetRotation,
int createFlags, DtForceType force,
495 bool storedInZipFile =
false);
529 virtual bool loadScenario(
const DtFilename&
filename,
532 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
536 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
547 virtual bool loadScenario(
const DtScenario& scenario,
550 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
558 virtual bool sendLoadScenarioMessage(
560 const DtSimulationAddress& addr = DtSimSendToAll,
561 bool import =
false)
const;
582 virtual bool rollbackToSnapshot(
double simTime);
586 virtual bool importScenario(
const DtScenario&,
const DtSimulationAddress& addr,
DtString* errorString = 0);
587 virtual bool importScenario(
const DtFilename&,
const DtSimulationAddress& addr,
DtString* errorString = 0);
593 virtual bool importScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
594 const std::map<std::string, std::string>& importData);
599 virtual void setMaxWaitLoadTime(
DtTime t);
600 virtual DtTime maxWaitLoadTime()
const;
611 virtual bool exportScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
612 const std::map<std::string, std::string>& importData);
617 virtual DtString guiTerrainDatabaseFilename()
const;
618 virtual void setGuiTerrainDatabaseFilename(
DtString db);
625 virtual bool isSavingScenario()
const;
643 virtual bool saveScenario(
const DtFilename& saveName,
645 bool deleteExistingZip =
true,
double simTime = -1);
653 virtual bool save(
DtString& sError);
659 virtual bool saveScenarioCheckpoint(
const DtFilename& filename,
double simTime,
bool saveToZip =
false);
663 virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
667 virtual void takeBaseSnapshot();
672 virtual void sendSaveScenarioMessage(
const DtSimulationAddress& addr = DtSimSendToAll,
double simTime = -1,
673 const DtFilename& saveScenarioFilename =
"")
const;
683 virtual void addScenarioSavedCallback(
685 virtual void removeScenarioSavedCallback(
689 virtual void addScenarioExportedCallback(
691 virtual void removeScenarioExportedCallback(
695 virtual void addCheckpointSavedCallback(
697 virtual void removeCheckpointSavedCallback(
703 virtual void addScenarioSavedCallback(
705 virtual void removeScenarioSavedCallback(
715 virtual void setOpdSaveName(
const DtFilename& f);
716 virtual const DtFilename& opdSaveName()
const;
721 virtual void setMaxWaitSaveTime(
DtTime t);
722 virtual DtTime maxWaitSaveTime()
const;
727 virtual void setOverlayFilename(
const DtFilename& overlay);
728 virtual const DtFilename& overlayFilename()
const;
733 virtual void setHostilityFilename(
const DtFilename& hostilty);
734 virtual const DtFilename& hostilityFilename()
const;
736 virtual void setScenarioExtrasFilename(
const DtFilename& extras);
737 virtual const DtFilename& scenarioExtrasFilename()
const;
742 virtual void setSelectionGroupsFilename(
const DtFilename& sel);
743 virtual const DtFilename& selectionGroupsFilename()
const;
748 virtual void setSymbolMapFilename(
const DtFilename& overlay);
749 virtual const DtFilename& symbolMapFilename()
const;
754 virtual void setCreateMenuFilename(
const DtFilename& overlay);
755 virtual const DtFilename& createMenuFilename()
const;
758 virtual void saveParameterDb(
const DtFilename& filename);
767 virtual bool saveSimulationObjectGroup(
const DtFilename& smsDirectory,
const DtString& groupName,
768 const DtString& groupDescription,
int creationFlags,
const DtSimulationAddress& addr,
769 const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
770 DtString* saveError = 0,
bool saveAsZip =
false);
784 virtual void closeScenario(
const DtSimulationAddress& addr = DtSimSendToAll,
785 const DtFilename& databaseToOpen =
"",
bool forceCloseAll =
false);
797 virtual DtTime scenarioSimTimeForSave();
802 virtual void setTerrainDatabaseFilename(
DtScenario* scen);
807 virtual void setParameterDatabaseFilename(
DtScenario* scen);
812 virtual void setPhysicalWorldFilename(
DtScenario* scen);
817 virtual void setTimeMultiplier(
DtScenario* scen);
822 virtual void setAutoReorganize(
DtScenario* scen);
827 virtual void setRandomNumberSeed(
DtScenario* scen);
832 virtual void setFrameRateMode(
DtScenario* scen);
837 virtual void setFrameDeltaTime(
DtScenario* scen);
842 virtual void setExerciseStartTime(
DtScenario* scen);
847 virtual void setExerciseStartDateAndTime(
DtScenario* scen);
858 virtual void run(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
859 virtual void pause(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
862 virtual void rewind();
864 virtual void exit()
const;
865 virtual void step()
const;
866 virtual void setTimeMultiplier(
double multiplier)
const;
885 virtual void loadedScenario(
886 const DtSimulationAddress& addr,
unsigned int requestId,
const DtU32& capabilities);
894 virtual void initializeGlobalEnvironment(
895 const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
902 virtual void initializeGlobalDynamicTerrain(
903 const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
914 virtual void processSaveMessages();
922 virtual void completeExport();
927 virtual void savedScenario(
const DtSimulationAddress& addr,
928 DtSaveResult result,
unsigned int requestId,
bool isCheckpointSave =
false,
double checkpointSimTime = -1);
932 virtual void doPendingSaveWork();
936 virtual void doPendingExportWork();
940 virtual void doPendingLoadWork();
967 virtual void createWaypoint(
969 const DtString& uniqueName = DtString::nullString(),
970 const DtString& label = DtString::nullString(),
971 const DtSimulationAddress& addr = DtSimSendToAll)
const;
976 virtual void createWaypoint(
979 const DtString& uniqueName = DtString::nullString(),
980 const DtString& label = DtString::nullString(),
981 const DtSimulationAddress& addr = DtSimSendToAll);
984 virtual void modifyWaypoint(
989 const DtSimulationAddress& addr = DtSimSendToAll)
const;
997 virtual void createRoute(
998 const DtList& vertices,
999 const DtString& uniqueName = DtString::nullString(),
1000 const DtString& label = DtString::nullString(),
1001 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1006 virtual void createRoute(
1008 const DtList& vertices,
1009 const DtString& uniqueName = DtString::nullString(),
1010 const DtString& label = DtString::nullString(),
1011 const DtSimulationAddress& addr = DtSimSendToAll) ;
1014 virtual void modifyRoute(
1018 DtList* vertices = 0,
1019 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1027 virtual void createPhaseLine(
1030 const DtString& uniqueName = DtString::nullString(),
1031 const DtString& label = DtString::nullString(),
1032 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1037 virtual void createPhaseLine(
1041 const DtString& uniqueName = DtString::nullString(),
1042 const DtString& label = DtString::nullString(),
1043 const DtSimulationAddress& addr = DtSimSendToAll) ;
1046 virtual void modifyPhaseLine(
1052 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1061 virtual void createControlArea(
1062 const DtList& vertices,
1063 const DtString& uniqueName = DtString::nullString(),
1064 const DtString& label = DtString::nullString(),
1065 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1070 virtual void createControlArea(
1072 const DtList& vertices,
1073 const DtString& uniqueName = DtString::nullString(),
1074 const DtString& label = DtString::nullString(),
1075 const DtSimulationAddress& addr = DtSimSendToAll) ;
1078 virtual void modifyControlArea(
1082 DtList* newVertices = 0,
1083 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1092 virtual void createObstacle(
1093 const DtList& vertices,
1094 const DtString& uniqueName = DtString::nullString(),
1095 const DtString& label = DtString::nullString(),
1096 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1101 virtual void createObstacle(
1103 const DtList& vertices,
1104 const DtString& uniqueName = DtString::nullString(),
1105 const DtString& label = DtString::nullString(),
1106 const DtSimulationAddress& addr = DtSimSendToAll) ;
1109 virtual void modifyObstacle(
1113 DtList* newVertices = 0,
1114 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1124 virtual void createDisaggregationArea(
1125 const DtList& vertices,
1126 const DtString& uniqueName = DtString::nullString(),
1127 const DtString& label = DtString::nullString(),
1128 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1134 virtual void createDisaggregationArea(
1136 const DtList& vertices,
1137 const DtString& uniqueName = DtString::nullString(),
1138 const DtString& label = DtString::nullString(),
1139 const DtSimulationAddress& addr = DtSimSendToAll) ;
1142 virtual void modifyDisaggregationArea(
1146 DtList* newVertices = 0,
1147 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1163 virtual void createOverlayObject(
1164 const DtEntityType& type,
1165 const DtList& vertices,
1166 const DtForceType& force,
1173 const DtAppearance& appearance = DtAppearance::nullAppearance(),
1177 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1178 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1180 const DtSimulationAddress& addr = DtSimSendToAll,
1181 unsigned int rId = 0,
1182 std::list<DtAdminContent*>* initialAdminContent = 0,
1183 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0);
1188 virtual void processOverlayObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid,
1192 virtual void setPhysicalLineWidth(
const DtSimulationAddress& addr,
1193 const DtUUID& entityId,
double w);
1196 virtual void setPhysicalLineHeight(
const DtSimulationAddress& addr,
1197 const DtUUID& entityId,
double h);
1200 virtual void setCeiling(
const DtSimulationAddress& addr,
1201 const DtUUID& entityId,
double c);
1206 virtual void sendVrfOverlayObjectModifyMsg(
1207 const DtSimulationAddress& addr,
1212 bool keepExistingAttachment =
true,
1219 virtual void createIndirectArtillery(
1221 const DtSimulationAddress& addr);
1226 virtual void processIndirectArtilleryObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid,
1229 virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1230 const DtSimulationAddress& addr,
1244 virtual void createObject(
1245 const DtEntityType& type,
1249 const DtSimulationAddress& addr);
1254 virtual void objectCreated(
unsigned int requestId,
1255 const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid);
1258 virtual void deleteObject(
const DtUUID& uuid,
1259 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1262 virtual void createEntity(
1263 const DtEntityType& type,
1264 const DtVector& geocentricPosition,
1267 const DtString& uniqueName = DtString::nullString(),
1268 const DtString& label = DtString::nullString(),
1269 const DtSimulationAddress& addr = DtSimSendToAll,
1270 bool groundClamp =
true)
const;
1275 virtual void createEntity(
1277 const DtEntityType& type,
1278 const DtVector& geocentricPosition,
1281 const DtString& uniqueName = DtString::nullString(),
1282 const DtString& label = DtString::nullString(),
1283 const DtSimulationAddress& addr = DtSimSendToAll,
1284 bool groundClamp =
true);
1286 virtual void createAggregate(
1288 const DtEntityType& type,
1289 const DtVector& geocentricPosition,
1293 const DtString& label = DtString::nullString(),
1294 const DtSimulationAddress& addr = DtSimSendToAll,
1295 DtAggregateState initialAggregateState = DtDisaggregated);
1298 virtual void createAggregate(
1299 const DtEntityType& type,
1300 const DtVector& geocentricPosition,
1303 DtList* entityNames = 0,
1304 const DtSimulationAddress& addr = DtSimSendToAll,
1305 DtAggregateState initialAggregateState = DtDisaggregated,
1306 unsigned int requestId = 0)
const;
1311 virtual void createAggregate(
1313 const DtEntityType& type,
1314 const DtVector& geocentricPosition,
1317 DtList* entityNames = 0,
1318 const DtSimulationAddress& addr = DtSimSendToAll,
1319 DtAggregateState initialAggregateState = DtDisaggregated) ;
1323 virtual void addToOrganization(
1325 const DtUUID& newSuperiorId,
1326 const DtSimulationAddress& addr = DtSimSendToAll);
1331 virtual void addToForceLevelOrganization(
1333 const DtSimulationAddress& addr = DtSimSendToAll);
1337 virtual void removeFromOrganization(
1339 const DtSimulationAddress& addr = DtSimSendToAll);
1344 virtual void setLabel(
1346 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1352 virtual void setOverlayParent(
1354 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1359 virtual void setAltitude(
1360 const DtUUID& uuid,
double altitude,
bool aboveGroundLevel =
false,
1361 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1366 virtual void setLocation(
1368 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1371 virtual void setAppearance(
1372 const DtUUID& uuid,
int appearance,
1373 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1376 virtual void setCapabilities(
1377 const DtUUID& uuid,
int capabilities,
1378 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1383 virtual void setHeading(
1384 const DtUUID& uuid,
double degrees,
1385 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1390 virtual void setForce(
1391 const DtUUID& uuid, DtForceType force,
1392 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1399 virtual void requestSpotReports(
const DtUUID& uuid,
bool onOff,
1400 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1407 virtual void requestEngagementReports(
const DtUUID& uuid,
bool onOff,
1408 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1413 virtual void setResource(
const DtUUID& uuid,
1414 const char* resourceType,
double value,
1415 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1422 virtual void setRulesOfEngagement(
1423 const DtUUID& uuid,
const char* rulesType,
1424 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1430 virtual void setSectorOfResponsibility(
1431 const DtUUID& uuid,
double center,
double size,
1432 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1437 virtual void setSpeed(
1438 const DtUUID& uuid,
double speed,
1439 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1444 virtual void setCurrentSpeed(
1445 const DtUUID& uuid,
double speed,
1446 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1451 virtual void setTarget(
1453 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1458 virtual void setSuperior(
1460 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1463 virtual void setTaskedBySuperior(
const DtUUID& uuid,
1464 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1469 virtual void setConcealed(
const DtUUID& uuid,
1470 bool yes,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
1473 virtual void setEmitter(
const DtUUID& uuid,
1474 int emitterId,
bool on,
1475 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1478 virtual void setIff(
const DtUUID& uuid,
1479 bool mode1on,
int mode1code,
1480 bool mode2on,
int mode2code,
1481 bool mode3on,
int mode3code,
1482 bool mode4on,
int mode4code,
1483 DtIffAtcNavaidsAltParm4 altParm4,
1484 bool modeCon,
bool useAltModeC,
1485 bool modeSon,
bool emergency,
1486 bool flash,
bool sti,
bool modeSTcasI,
1487 int pin,
bool mode5LevelSelection,
1488 unsigned int messageFormatsPresent,
unsigned int nationalOrigin,
1489 unsigned int navigationSource,
unsigned int figureOfMerit,
1490 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1493 virtual void restore(
const DtUUID& uuid,
1494 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1499 virtual void setDestroyed(
const DtUUID& uuid,
1500 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1505 virtual void setLifeformWeaponState(
1506 const DtUUID& uuid, DtWeaponState weapon,
1507 const DtSimulationAddress& addr)
const;
1512 virtual void setLifeformPosture(
1513 const DtUUID& uuid, DtLifeformState posture,
1514 const DtSimulationAddress& addr)
const;
1518 virtual void setAggregateFormation(
1520 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1525 virtual void reorganizeAggregate(
const DtUUID& leader,
1526 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1531 virtual void disaggregateEntity(
const DtUUID& entity,
1532 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1537 virtual void aggregateEntity(
const DtUUID& entity,
1538 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1542 virtual void sendSetDataMsg(
1544 const DtSimulationAddress& addr)
const;
1558 virtual void sendVrfObjectCreateMsg(
1559 const DtSimulationAddress& addr,
1560 unsigned int requestId,
1563 const DtList& vertices,
1565 const DtAppearance& appearance,
1570 bool createSubObjects,
1571 bool clampToGroundFlag =
true,
1572 const DtString& initialFormation = DtString::nullString(),
1573 DtAggregateState initialAggregateState = DtDisaggregated,
1574 const DtString& userData = DtString::nullString(),
1575 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1576 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1577 std::list<DtAdminContent*>* initialAdminContent = 0,
1578 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1579 const DtString& overlayParent =
"")
const;
1587 virtual void sendVrfObjectModifyMsg(
1588 const DtSimulationAddress& addr,
1591 DtList* vertices = 0,
1592 DtForceType* force = 0,
1593 DtReal* heading = 0,
1595 DtAppearance* appearance = 0,
1611 virtual void sendTaskMsg(
1613 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1617 virtual void moveAlongRoute(
1619 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1623 virtual void moveToWaypoint(
1625 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1630 virtual void moveToLocation(
1632 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1636 virtual void patrolBetweenWaypoints(
1639 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1643 virtual void patrolAlongRoute(
1645 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1652 virtual void followEntity(
1655 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1661 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1665 virtual void waitDuration(
1667 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1671 virtual void waitElapsed(
1673 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1676 virtual void skipTask(
const DtUUID& uuid,
1677 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1689 virtual void restartPlan(
const DtUUID& uuid,
1690 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1699 virtual void assignPlanByName(
1701 const DtSimulationAddress& addr = DtSimSendToAll,
1702 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1705 virtual void assignMultiplePlanByName(
1706 const std::vector<DtUUID>& entities,
const DtPlan& plan,
1707 const DtSimulationAddress& addr = DtSimSendToAll,
1708 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1714 virtual void requestPlan(
1716 bool addStmtCallback =
true,
1717 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1723 virtual void subscribePlan(
const DtUUID& uuid,
1725 const DtSimulationAddress& addr = DtSimSendToAll);
1730 virtual void receivedPlan(
const DtUUID& uuid,
bool isGlobal,
1731 const std::vector<DtSimStatement*>& statements);
1738 virtual void requestMultiplePlan(
const std::vector<DtUUID>& entities,
1740 const DtSimulationAddress& addr = DtSimSendToAll);
1742 virtual void requestMultiplePlan(
const std::vector<DtUUID>& entities,
1743 const DtSimulationAddress& addr = DtSimSendToAll);
1752 virtual void unsubscribePlan(
const DtUUID& uuid,
1757 virtual void unsubscribeAllPlans();
1763 virtual void addPlanStatementCallback(
const DtUUID& uuid,
1768 virtual void removePlanStatementCallback(
const DtUUID& uuid,
1773 virtual void removeAllPlanStatementCallbacks();
1780 virtual void receivedPlanStmt(
const DtUUID& uuid,
bool isGlobal,
1787 virtual void addPlanCompleteCallback(
const DtUUID& uuid,
1792 virtual void removePlanCompleteCallback(
const DtUUID& uuid,
1797 virtual void removeAllPlanCompleteCallbacks();
1801 virtual void abandonPlan(
const DtUUID& uuid,
1802 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1811 virtual void requestGlobalPlansList(
const DtSimulationAddress& addr);
1820 virtual void assignGlobalPlan(
1822 const DtSimulationAddress& addr = DtSimSendToAll,
1823 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1826 virtual void deleteGlobalPlan(
const DtUUID& name,
1827 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1830 virtual void launchGlobalPlan(
const DtUUID&,
const DtSimulationAddress& addr)
const;
1851 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1875 virtual void embarkObject(
const DtSimulationAddress& addr,
const DtUUID& entity,
const DtUUID& ontoEntity,
1876 bool loadOverride =
false,
const DtVector& loadOverridePosition = DtVector::zero());
1878 virtual void disembarkObject(
const DtSimulationAddress& addr,
const DtUUID& entity);
1879 virtual void disembarkAllObjects(
const DtSimulationAddress& addr,
const DtUUID& entity);
1883 virtual void requestTasksAndSetsFor(
const DtSimulationAddress& addr,
1884 const DtUUID& entityName);
1887 virtual void requestTasksAndSetsFor(
const std::vector<DtUUID>& names);
1891 virtual void requestDIGuyAppearancesAndAnimations(
const DtSimulationAddress& addr,
1892 const DtUUID& entityName);
1895 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtUUID>& names);
1898 virtual void requestIndirectArtilleryInformation(
const DtUUID&);
1904 virtual void requestResourceNames(
const std::vector<DtUUID>& list,
1915 const std::list<DtString>* list = 0,
1934 virtual void addObjectConsoleMessageCallback(
1936 virtual void removeObjectConsoleMessageCallback(
1941 virtual void setObjectNotifyLevel(
const DtUUID& objectName,
1942 DtNotifyLevelType notifyLevel,
const DtSimulationAddress& addr = DtSimSendToAll);
1947 virtual void logObjectConsoleToFile(
const DtUUID& objectName,
1948 const DtFilename filename);
1952 virtual void stopLoggingObjectConsoleToFile(
const DtUUID& objectName);
1956 virtual void addBackendConsoleMessageCallback(
1958 virtual void removeBackendConsoleMessageCallback(
1963 virtual void processCommentInteraction(DtCommentInteraction* inter);
1975 const DtSimulationAddress& addr = DtSimSendToAll);
1979 virtual void takeControlOf(
const DtUUID&,
const std::set<DtString>& functionGroups,
1980 const DtSimulationAddress& addr = DtSimSendToAll);
1984 virtual void releaseControlOf(
const DtUUID&,
const std::set<DtString>& functionGroups =
1985 std::set<DtString>(),
const DtSimulationAddress& addr = DtSimSendToAll);
1989 virtual void sendJoystickControl(
const DtUUID&,
const DtString& functionGroup,
1990 const DtString&
function,
double value,
bool repeat =
false,
const DtSimulationAddress& addr = DtSimSendToAll);
2017 static void doPendingSaveWorkCb(
void* usr);
2021 static void doPendingExportWorkCb(
void* usr);
2025 static void doPendingLoadWorkCb(
void* usr);
2029 static void savedScenarioCb(
DtSimMessage* msg,
void* usr);
2033 static void exportScenarioCb(
DtSimMessage* msg,
void* usr);
2037 static void loadedScenarioCb(
DtSimMessage* msg,
void* usr);
2041 static void receiveFileCb(
const DtFilename& filename,
void* usr);
2044 static void receivedMultiPlanCb(
DtSimMessage* msg,
void* usr);
2047 static void objectCreatedCb(
DtSimMessage* msg,
void* usr);
2050 static void receivedPlanCb(
DtSimMessage* msg,
void* usr);
2053 static void receivedPlanStmtCb(
DtSimMessage* msg,
void* usr);
2057 static void overlayObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
2058 const DtUUID& uuid,
void* usr);
2062 static void indirectArtilleryObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
2063 const DtUUID& uuid,
void* usr);
2066 static void resourcesProcessedCb(
DtSimMessage* msg,
void* usr);
2070 static void spatialSubdivisionConfigurationCb(
DtSimMessage* msg,
void* usr);
2074 static void commentInteractionCallback(DtCommentInteraction *inter,
void* usr);
2082 static void joystickControlResponse(
DtSimMessage* msg,
void* usr);
2083 virtual void processJoystickControlResponse(
DtSimMessage* msg);
2088 virtual void onInit();
2089 virtual void resetStateData();
2090 virtual void emptyLists();
2093 virtual void sendAggregateAsMsg(
2094 const DtSimulationAddress& addr,
2095 unsigned int requestId,
2100 DtList* entityNames,
2101 DtAggregateState initialAggregateState)
const;
2111 virtual void sendQuerySpatialSubdivisionConfigurationRequest(
2112 const DtSimulationAddress& backendAddress,
2122 virtual bool arbitrarySimAddress(DtSimulationAddress& address)
const;
2131 virtual bool addStatementsAndSendPlan(
const DtPlan& plan,
DtIfPlan& planMsg,
2132 const DtSimulationAddress& addr = DtSimSendToAll,
2133 int *retiStatus = 0,
DtString* retsStmt = 0)
const;
2137 static void deliverRadioMessageCallback(
DtSimMessage* msg,
void* usr);
2145 static void globalEnvironmentCreatedCb(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid,
void* usr);
2146 virtual void processGlobalEnvironmentCreated(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid);
2149 static void backendStatusUpdate(
const DtSimulationAddress&,
void*);
2150 virtual void processBackendStatusUpdate(
const DtSimulationAddress&);
2184 typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
2188 typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
2323 virtual int color()
const;
2324 virtual const DtUUID& attachTo()
const;
2325 virtual void userData(
char** data,
int* userDataSize);