40 #include <vl/commentInteraction.h>
41 #include <vl/exerciseConn.h>
42 #include <vl/hostStructs.h>
43 #include <vlpi/disEnums.h>
44 #include <vlpi/appearance.h>
45 #include <vlutil/vlHashlist.h>
81 (
const DtSimulationAddress& addr,
DtSaveResult result,
void * usr);
87 (
const DtString& name,
const DtEntityIdentifier& id,
const DtUUID& uuid,
void* usr);
93 (
const DtString& name,
const DtEntityIdentifier& id,
94 const DtUUID& uuid,
void* usr);
97 (
const DtEntityIdentifier& id,
int notifyLevel,
const DtString& message,
101 (
const DtSimulationAddress& id,
int notifyLevel,
const DtString& message,
216 virtual void init(DtExerciseConn* exConn,
220 const DtString& uuidMarkingForNonVrForces =
"entity-identifier");
226 const DtString& uuidMarkingForNonVrForces =
"entity-identifier");
232 virtual void reinitialize(
245 virtual const DtSimulationAddress& simulationAddress()
const;
246 virtual int sessionId()
const;
250 virtual double simTime(
const DtSimulationAddress* a = NULL)
const;
253 virtual const DtList& backends()
const;
257 virtual const DtList& pendingBackends()
const;
263 virtual void addBackendDiscoveryCallback(
265 virtual void removeBackendDiscoveryCallback(
269 virtual void addBackendRemovalCallback(
271 virtual void removeBackendRemovalCallback(
277 virtual int backendsControlState()
const;
280 virtual int numberBackendsLoaded()
const;
284 virtual bool allBackendsReady()
const;
287 virtual bool backendLoaded(
const DtSimulationAddress& addr)
const;
292 const DtSimulationAddress& addr = DtSimSendToAll);
304 virtual void requestBackEndSetting(std::string name,
306 const DtSimulationAddress& addr = DtSimSendToAll);
310 virtual void setSpotReportsGloballyEnabled(
bool enabled);
314 virtual void setEngagementReportsGloballyEnabled(
bool enabled);
318 virtual void setDRThresholds(
double translation,
double rotation);
321 virtual void setCommModelSettings(
bool useExternalComms);
324 virtual void setRoadDrivingSettings(
bool driveOnLeft);
328 virtual void setAutomaticAggregationDisaggregationEnabled(
bool enabled);
334 virtual void setPublishAggregateFormationRoutes(
bool yesNo);
362 virtual bool loadScenario(
const DtFilename& filename,
365 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
377 virtual bool loadScenario(
const DtScenario& scenario,
380 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
385 virtual bool importScenario(
const DtScenario&,
const DtSimulationAddress& addr,
DtString* errorString = 0);
386 virtual bool importScenario(
const DtFilename&,
const DtSimulationAddress& addr,
DtString* errorString = 0);
392 virtual bool saveSimulationObjectGroup(
const DtFilename& smsDirectory,
const DtString& groupName,
393 const DtString& groupDescription,
int creationFlags,
const DtSimulationAddress& addr,
394 const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
401 virtual bool importScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
402 const std::map<std::string, std::string>& importData);
406 virtual bool exportScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
407 const std::map<std::string, std::string>& importData);
412 virtual DtString guiTerrainDatabaseFilename()
const;
413 virtual void setGuiTerrainDatabaseFilename(
DtString db);
423 virtual bool newScenario(
424 const DtFilename& dbname,
425 const DtFilename& guidbname,
426 const DtFilename& opdname = DtFilename::nullFilename(),
427 const DtFilename& physicalWorldName = DtFilename::nullFilename(),
429 time_t startTimeOfDay = 12 * 3600,
433 virtual bool newScenario(
434 const DtFilename& dbname,
435 const DtFilename& guidbname,
436 const std::vector<DtString>& simulationModelSetFiles,
438 time_t startTimeOfDay = 12 * 3600,
446 virtual bool sendLoadScenarioMessage(
448 const DtSimulationAddress& addr = DtSimSendToAll,
449 bool import =
false)
const;
477 virtual bool saveScenario(
const DtFilename& saveName,
482 virtual void sendSaveScenarioMessage(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
493 virtual void addScenarioSavedCallback(
495 virtual void removeScenarioSavedCallback(
500 virtual void addScenarioExportedCallback(
502 virtual void removeScenarioExportedCallback(
508 virtual void addScenarioSavedCallback(
510 virtual void removeScenarioSavedCallback(
514 virtual void closeScenario(
const DtSimulationAddress& addr = DtSimSendToAll,
515 const DtFilename& databaseToOpen =
"");
521 virtual void run(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
522 virtual void pause(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
524 virtual void rewind()
const;
525 virtual void exit()
const;
526 virtual void step()
const;
527 virtual void setTimeMultiplier(
double multiplier)
const;
538 virtual void setOpdSaveName(
const DtFilename& f);
539 virtual const DtFilename& opdSaveName()
const;
546 virtual void setMaxWaitSaveTime(
DtTime t);
547 virtual DtTime maxWaitSaveTime()
const;
554 virtual void setMaxWaitLoadTime(
DtTime t);
555 virtual DtTime maxWaitLoadTime()
const;
562 virtual void setOverlayFilename(
const DtFilename& overlay);
563 virtual const DtFilename& overlayFilename()
const;
570 virtual void setHostilityFilename(
const DtFilename& hostilty);
571 virtual const DtFilename& hostilityFilename()
const;
574 virtual void setScenarioExtrasFilename(
const DtFilename& extras);
575 virtual const DtFilename& scenarioExtrasFilename()
const;
581 virtual void setSelectionGroupsFilename(
const DtFilename& sel);
582 virtual const DtFilename& selectionGroupsFilename()
const;
589 virtual void setSymbolMapFilename(
const DtFilename& overlay);
590 virtual const DtFilename& symbolMapFilename()
const;
597 virtual void setCreateMenuFilename(
const DtFilename& overlay);
598 virtual const DtFilename& createMenuFilename()
const;
602 virtual void saveParameterDb(
const DtFilename& filename);
609 virtual void deleteObject(
const DtUUID& uuid,
610 const DtSimulationAddress& addr = DtSimSendToAll)
const;
622 virtual void createWaypoint(
624 const DtString& uniqueName = DtString::nullString(),
625 const DtString& label = DtString::nullString(),
626 const DtSimulationAddress& addr = DtSimSendToAll)
const;
631 virtual void createWaypoint(
634 const DtString& uniqueName = DtString::nullString(),
635 const DtString& label = DtString::nullString(),
636 const DtSimulationAddress& addr = DtSimSendToAll);
639 virtual void modifyWaypoint(
644 const DtSimulationAddress& addr = DtSimSendToAll)
const;
652 virtual void createRoute(
653 const DtList& vertices,
654 const DtString& uniqueName = DtString::nullString(),
655 const DtString& label = DtString::nullString(),
656 const DtSimulationAddress& addr = DtSimSendToAll)
const;
661 virtual void createRoute(
663 const DtList& vertices,
664 const DtString& uniqueName = DtString::nullString(),
665 const DtString& label = DtString::nullString(),
666 const DtSimulationAddress& addr = DtSimSendToAll) ;
669 virtual void modifyRoute(
673 DtList* vertices = 0,
674 const DtSimulationAddress& addr = DtSimSendToAll)
const;
682 virtual void createPhaseLine(
685 const DtString& uniqueName = DtString::nullString(),
686 const DtString& label = DtString::nullString(),
687 const DtSimulationAddress& addr = DtSimSendToAll)
const;
692 virtual void createPhaseLine(
696 const DtString& uniqueName = DtString::nullString(),
697 const DtString& label = DtString::nullString(),
698 const DtSimulationAddress& addr = DtSimSendToAll) ;
701 virtual void modifyPhaseLine(
707 const DtSimulationAddress& addr = DtSimSendToAll)
const;
716 virtual void createControlArea(
717 const DtList& vertices,
718 const DtString& uniqueName = DtString::nullString(),
719 const DtString& label = DtString::nullString(),
720 const DtSimulationAddress& addr = DtSimSendToAll)
const;
725 virtual void createControlArea(
727 const DtList& vertices,
728 const DtString& uniqueName = DtString::nullString(),
729 const DtString& label = DtString::nullString(),
730 const DtSimulationAddress& addr = DtSimSendToAll) ;
733 virtual void modifyControlArea(
737 DtList* newVertices = 0,
738 const DtSimulationAddress& addr = DtSimSendToAll)
const;
747 virtual void createObstacle(
748 const DtList& vertices,
749 const DtString& uniqueName = DtString::nullString(),
750 const DtString& label = DtString::nullString(),
751 const DtSimulationAddress& addr = DtSimSendToAll)
const;
756 virtual void createObstacle(
758 const DtList& vertices,
759 const DtString& uniqueName = DtString::nullString(),
760 const DtString& label = DtString::nullString(),
761 const DtSimulationAddress& addr = DtSimSendToAll) ;
764 virtual void modifyObstacle(
768 DtList* newVertices = 0,
769 const DtSimulationAddress& addr = DtSimSendToAll)
const;
779 virtual void createDisaggregationArea(
780 const DtList& vertices,
781 const DtString& uniqueName = DtString::nullString(),
782 const DtString& label = DtString::nullString(),
783 const DtSimulationAddress& addr = DtSimSendToAll)
const;
789 virtual void createDisaggregationArea(
791 const DtList& vertices,
792 const DtString& uniqueName = DtString::nullString(),
793 const DtString& label = DtString::nullString(),
794 const DtSimulationAddress& addr = DtSimSendToAll) ;
797 virtual void modifyDisaggregationArea(
801 DtList* newVertices = 0,
802 const DtSimulationAddress& addr = DtSimSendToAll)
const;
817 virtual void createOverlayObject(
818 const DtEntityType& type,
819 const DtList& vertices,
820 const DtForceType& force,
827 const DtAppearance& appearance = DtAppearance::nullAppearance(),
831 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
832 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
834 const DtSimulationAddress& addr = DtSimSendToAll,
835 unsigned int rId = 0,
836 std::list<DtAdminContent*>* initialAdminContent = 0,
837 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0);
839 virtual void createIndirectArtillery(
841 const DtSimulationAddress& addr);
847 virtual void createObject(
848 const DtEntityType& type,
852 const DtSimulationAddress& addr);
855 virtual void createEntity(
856 const DtEntityType& type,
860 const DtString& uniqueName = DtString::nullString(),
861 const DtString& label = DtString::nullString(),
862 const DtSimulationAddress& addr = DtSimSendToAll,
863 bool groundClamp =
true)
const;
868 virtual void createEntity(
870 const DtEntityType& type,
874 const DtString& uniqueName = DtString::nullString(),
875 const DtString& label = DtString::nullString(),
876 const DtSimulationAddress& addr = DtSimSendToAll,
877 bool groundClamp =
true);
879 virtual void createAggregate(
881 const DtEntityType& type,
886 const DtString& label = DtString::nullString(),
887 const DtSimulationAddress& addr = DtSimSendToAll,
888 DtAggregateState initialAggregateState = DtDisaggregated);
891 virtual void createAggregate(
892 const DtEntityType& type,
896 DtList* entityNames = 0,
897 const DtSimulationAddress& addr = DtSimSendToAll,
898 DtAggregateState initialAggregateState = DtDisaggregated,
899 unsigned int requestId = 0)
const;
904 virtual void createAggregate(
906 const DtEntityType& type,
910 DtList* entityNames = 0,
911 const DtSimulationAddress& addr = DtSimSendToAll,
912 DtAggregateState initialAggregateState = DtDisaggregated) ;
916 virtual void addToOrganization(
918 const DtUUID& newSuperiorId,
919 const DtSimulationAddress& addr = DtSimSendToAll);
924 virtual void addToForceLevelOrganization(
926 const DtSimulationAddress& addr = DtSimSendToAll);
930 virtual void removeFromOrganization(
932 const DtSimulationAddress& addr = DtSimSendToAll);
941 virtual void setLabel(
943 const DtSimulationAddress& addr = DtSimSendToAll)
const;
946 virtual void setOverlayParent(
948 const DtSimulationAddress& addr = DtSimSendToAll)
const;
951 virtual void setAltitude(
952 const DtUUID& uuid,
double altitude,
bool aboveGroundLevel =
false,
953 const DtSimulationAddress& addr = DtSimSendToAll)
const;
956 virtual void setLocation(
958 const DtSimulationAddress& addr = DtSimSendToAll)
const;
961 virtual void setAppearance(
962 const DtUUID& uuid,
int appearance,
963 const DtSimulationAddress& addr = DtSimSendToAll)
const;
966 virtual void setCapabilities(
967 const DtUUID& uuid,
int capabilities,
968 const DtSimulationAddress& addr = DtSimSendToAll)
const;
971 virtual void setHeading(
972 const DtUUID& uuid,
double degrees,
973 const DtSimulationAddress& addr = DtSimSendToAll)
const;
976 virtual void setForce(
977 const DtUUID& uuid, DtForceType force,
978 const DtSimulationAddress& addr = DtSimSendToAll)
const;
983 virtual void requestSpotReports(
const DtUUID& uuid,
bool onOff,
984 const DtSimulationAddress& addr = DtSimSendToAll)
const;
989 virtual void requestEngagementReports(
const DtUUID& uuid,
bool onOff,
990 const DtSimulationAddress& addr = DtSimSendToAll)
const;
993 virtual void setResource(
const DtUUID& uuid,
994 const char* resourceType,
double value,
995 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1000 virtual void setRulesOfEngagement(
1001 const DtUUID& uuid,
const char* rulesType,
1002 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1005 virtual void setSectorOfResponsibility(
1006 const DtUUID& uuid,
double center,
double size,
1007 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1010 virtual void setSpeed(
1011 const DtUUID& uuid,
double speed,
1012 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1015 virtual void setCurrentSpeed(
1016 const DtUUID& uuid,
double speed,
1017 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1020 virtual void setTarget(
1022 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1026 virtual void setSuperior(
1028 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1031 virtual void setTaskedBySuperior(
const DtUUID& uuid,
1032 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1035 virtual void setConcealed(
const DtUUID& uuid,
1036 bool yes,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
1039 virtual void setEmitter(
const DtUUID& uuid,
1040 int emitterId,
bool on,
1041 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1044 virtual void setIff(
const DtUUID& uuid,
1045 bool mode1on,
int mode1code,
1046 bool mode2on,
int mode2code,
1047 bool mode3on,
int mode3code,
1048 bool mode4on,
int mode4code,
1049 DtIffAtcNavaidsAltParm4 altParm4,
1050 bool modeCon,
bool useAltModeC,
1051 bool modeSon,
bool emergency,
1052 bool flash,
bool sti,
bool modeSTcasI,
1053 int pin,
bool mode5LevelSelection,
1054 unsigned int messageFormatsPresent,
unsigned int nationalOrigin,
1055 unsigned int navigationSource,
unsigned int figureOfMerit,
1056 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1059 virtual void restore(
const DtUUID& uuid,
1060 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1064 virtual void setDestroyed(
const DtUUID& uuid,
1065 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1070 virtual void setLifeformWeaponState(
1071 const DtUUID& uuid, DtWeaponState weapon,
1072 const DtSimulationAddress& addr)
const;
1077 virtual void setLifeformPosture(
1078 const DtUUID& uuid, DtLifeformState posture,
1079 const DtSimulationAddress& addr)
const;
1083 virtual void setAggregateFormation(
1085 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1090 virtual void reorganizeAggregate(
const DtUUID& leader,
1091 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1096 virtual void disaggregateEntity(
const DtUUID& entity,
1097 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1102 virtual void aggregateEntity(
const DtUUID& entity,
1103 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1107 virtual void sendSetDataMsg(
1109 const DtSimulationAddress& addr)
const;
1121 virtual void sendVrfObjectCreateMsg(
1122 const DtSimulationAddress& addr,
1123 unsigned int requestId,
1126 const DtList& vertices,
1128 const DtAppearance& appearance,
1133 bool createSubObjects,
1134 bool clampToGroundFlag =
true,
1135 const DtString& initialFormation = DtString::nullString(),
1136 DtAggregateState initialAggregateState = DtDisaggregated,
1137 const DtString& userData = DtString::nullString(),
1138 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1139 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1140 std::list<DtAdminContent*>* initialAdminContent = 0,
1141 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1142 const DtString& overlayParent =
"")
const;
1150 virtual void sendVrfObjectModifyMsg(
1151 const DtSimulationAddress& addr,
1154 DtList* vertices = 0,
1155 DtForceType* force = 0,
1156 DtReal* heading = 0,
1158 DtAppearance* appearance = 0,
1163 virtual void setPhysicalLineWidth(
const DtSimulationAddress& addr,
1164 const DtUUID& entityId,
double w);
1167 virtual void setPhysicalLineHeight(
const DtSimulationAddress& addr,
1168 const DtUUID& entityId,
double h);
1171 virtual void setCeiling(
const DtSimulationAddress& addr,
1172 const DtUUID& entityId,
double c);
1177 virtual void sendVrfOverlayObjectModifyMsg(
1178 const DtSimulationAddress& addr,
1183 bool keepExistingAttachment =
true,
1187 virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1188 const DtSimulationAddress& addr,
1198 virtual void moveAlongRoute(
1200 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1204 virtual void moveToWaypoint(
1206 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1211 virtual void moveToLocation(
1213 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1217 virtual void patrolBetweenWaypoints(
1220 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1224 virtual void patrolAlongRoute(
1226 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1233 virtual void followEntity(
1236 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1242 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1246 virtual void waitDuration(
1248 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1252 virtual void waitElapsed(
1254 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1259 virtual void sendTaskMsg(
1261 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1265 virtual void abandonPlan(
const DtUUID& uuid,
1266 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1269 virtual void skipTask(
const DtUUID& uuid,
1270 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1274 virtual void restartPlan(
const DtUUID& uuid,
1275 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1284 virtual void assignPlanByName(
1286 const DtSimulationAddress& addr = DtSimSendToAll,
1287 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1290 virtual void assignMultiplePlanByName(
1291 const std::vector<DtUUID>& entities,
const DtPlan& plan,
1292 const DtSimulationAddress& addr = DtSimSendToAll,
1293 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1299 virtual void requestPlan(
1301 bool addStmtCallback =
true,
1302 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1308 virtual void subscribePlan(
const DtUUID& uuid,
1310 const DtSimulationAddress& addr = DtSimSendToAll);
1317 virtual void requestMultiplePlan(
const std::vector<DtUUID>& entities,
1319 const DtSimulationAddress& addr = DtSimSendToAll);
1321 virtual void requestMultiplePlan(
const std::vector<DtUUID>& entities,
1322 const DtSimulationAddress& addr = DtSimSendToAll);
1326 virtual void unsubscribePlan(
const DtUUID& uuid,
1331 virtual void unsubscribeAllPlans();
1337 virtual void addPlanStatementCallback(
const DtUUID& uuid,
1342 virtual void removePlanStatementCallback(
const DtUUID& uuid,
1347 virtual void removeAllPlanStatementCallbacks();
1353 virtual void addPlanCompleteCallback(
const DtUUID& uuid,
1358 virtual void removePlanCompleteCallback(
const DtUUID& uuid,
1363 virtual void removeAllPlanCompleteCallbacks();
1368 virtual void requestGlobalPlansList(
const DtSimulationAddress& addr);
1377 virtual void assignGlobalPlan(
1379 const DtSimulationAddress& addr = DtSimSendToAll,
1380 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1383 virtual void deleteGlobalPlan(
const DtUUID& name,
1384 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1387 virtual void launchGlobalPlan(
const DtUUID&,
const DtSimulationAddress& addr)
const;
1402 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1409 virtual void loadedScenario(
1410 const DtSimulationAddress& addr,
unsigned int requestId);
1415 virtual void processSaveMessages();
1420 virtual DtTime scenarioSimTimeForSave();
1425 virtual void setTerrainDatabaseFilename(
DtScenario* scen);
1430 virtual void setParameterDatabaseFilename(
DtScenario* scen);
1435 virtual void setPhysicalWorldFilename(
DtScenario* scen);
1440 virtual void setTimeMultiplier(
DtScenario* scen);
1445 virtual void setAutoReorganize(
DtScenario* scen);
1450 virtual void setRandomNumberSeed(
DtScenario* scen);
1455 virtual void setFrameRateMode(
DtScenario* scen);
1460 virtual void setFrameDeltaTime(
DtScenario* scen);
1465 virtual void setExerciseStartTime(
DtScenario* scen);
1470 virtual void setExerciseStartDateAndTime(
DtScenario* scen);
1478 virtual bool save(
DtString& sError);
1483 virtual void createSimulationObjectGroup(
const DtSimulationAddress&,
const DtString& simulationObjectGroup,
1484 const DtVector& createPosition,
double offsetRotation,
int createFlags, DtForceType force);
1498 virtual void completeExport();
1503 virtual void savedScenario(
const DtSimulationAddress& addr,
1508 virtual void doPendingSaveWork();
1513 virtual void doPendingExportWork();
1517 virtual void doPendingLoadWork();
1521 virtual void objectCreated(
unsigned int requestId,
1522 const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid);
1525 virtual unsigned int generateRequestId()
const;
1529 virtual void receivedPlan(
const DtUUID& uuid,
bool isGlobal,
1530 const std::vector<DtSimStatement*>& statements);
1537 virtual void receivedPlanStmt(
const DtUUID& uuid,
bool isGlobal,
1546 virtual void embarkObject(
const DtSimulationAddress& addr,
const DtUUID& entity,
const DtUUID& ontoEntity,
1547 bool loadOverride =
false,
const DtVector& loadOverridePosition = DtVector::zero());
1549 virtual void disembarkObject(
const DtSimulationAddress& addr,
const DtUUID& entity);
1550 virtual void disembarkAllObjects(
const DtSimulationAddress& addr,
const DtUUID& entity);
1554 virtual void requestTasksAndSetsFor(
const DtSimulationAddress& addr,
1555 const DtUUID& entityName);
1558 virtual void requestTasksAndSetsFor(
const std::vector<DtUUID>& names);
1562 virtual void requestDIGuyAppearancesAndAnimations(
const DtSimulationAddress& addr,
1563 const DtUUID& entityName);
1566 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtUUID>& names);
1589 virtual void setRotationThreshold(DtReal thresh);
1592 virtual void setTranslationThreshold(DtReal thresh);
1598 virtual void setAggDimensionThreshold(DtReal thresh);
1601 virtual void setHostInetAddr(DtInetAddr);
1602 virtual DtInetAddr hostInetAddr()
const;
1606 virtual void querySpatialSubdivisionConfiguration(
1607 const DtSimulationAddress& backendAddress,
1612 virtual void setSpatialSubdivsionConfiguration(
1613 const DtSimulationAddress& backendAddress,
1615 const int spatialSubdivisionXResolution,
1616 const int spatialSubdivisionYResolution,
1617 const int spatialSubdivisionZResolution);
1620 virtual void requestIndirectArtilleryInformation(
const DtUUID&);
1629 virtual void requestResources(
const DtUUID& uuid = DtString::nullString(),
1630 const std::list<DtString>* list = 0,
1639 virtual void addObjectConsoleMessageCallback(
1642 virtual void removeObjectConsoleMessageCallback(
1648 virtual void setObjectNotifyLevel(
const DtUUID& objectName,
1649 DtNotifyLevelType notifyLevel,
const DtSimulationAddress& addr = DtSimSendToAll);
1654 virtual void logObjectConsoleToFile(
const DtUUID& objectName,
1655 const DtFilename filename);
1659 virtual void stopLoggingObjectConsoleToFile(
const DtUUID& objectName);
1667 virtual void addBackendConsoleMessageCallback(
1670 virtual void removeBackendConsoleMessageCallback(
1678 virtual void requestResourceNames(
const std::vector<DtUUID>& list,
1700 virtual void initializeGlobalEnvironment(
1701 const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
1714 const DtSimulationAddress& addr = DtSimSendToAll);
1718 virtual void takeControlOf(
const DtUUID&,
const std::set<DtString>& functionGroups,
1719 const DtSimulationAddress& addr = DtSimSendToAll);
1723 virtual void releaseControlOf(
const DtUUID&,
const std::set<DtString>& functionGroups =
1724 std::set<DtString>(),
const DtSimulationAddress& addr = DtSimSendToAll);
1728 virtual void sendJoystickControl(
const DtUUID&,
const DtString& functionGroup,
1729 const DtString&
function,
double value,
bool repeat =
false,
const DtSimulationAddress& addr = DtSimSendToAll);
1735 static void doPendingSaveWorkCb(
void* usr);
1739 static void doPendingExportWorkCb(
void* usr);
1743 static void doPendingLoadWorkCb(
void* usr);
1747 static void savedScenarioCb(
DtSimMessage* msg,
void* usr);
1751 static void exportScenarioCb(
DtSimMessage* msg,
void* usr);
1755 static void loadedScenarioCb(
DtSimMessage* msg,
void* usr);
1759 static void receiveFileCb(
const DtFilename& filename,
void* usr);
1762 static void receivedMultiPlanCb(
DtSimMessage* msg,
void* usr);
1768 static void objectCreatedCb(
DtSimMessage* msg,
void* usr);
1771 static void receivedPlanCb(
DtSimMessage* msg,
void* usr);
1774 static void receivedPlanStmtCb(
DtSimMessage* msg,
void* usr);
1778 static void overlayObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1779 const DtUUID& uuid,
void* usr);
1780 virtual void processOverlayObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid,
1785 static void indirectArtilleryObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1786 const DtUUID& uuid,
void* usr);
1787 virtual void processIndirectArtilleryObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid,
1791 static void resourcesProcessedCb(
DtSimMessage* msg,
void* usr);
1798 static void spatialSubdivisionConfigurationCb(
DtSimMessage* msg,
void* usr);
1802 virtual void processSpatialSubdivisionConfigurationCb(
1807 static void commentInteractionCallback(DtCommentInteraction *inter,
void* usr);
1811 virtual void processCommentInteraction(DtCommentInteraction* inter);
1819 static void joystickControlResponse(
DtSimMessage* msg,
void* usr);
1820 virtual void processJoystickControlResponse(
DtSimMessage* msg);
1825 virtual void onInit();
1826 virtual void resetStateData();
1827 virtual void emptyLists();
1830 virtual void sendAggregateAsMsg(
1831 const DtSimulationAddress& addr,
1832 unsigned int requestId,
1837 DtList* entityNames,
1838 DtAggregateState initialAggregateState)
const;
1849 virtual void sendQuerySpatialSubdivisionConfigurationRequest(
1850 const DtSimulationAddress& backendAddress,
1860 virtual bool arbitrarySimAddress(DtSimulationAddress& address)
const;
1869 virtual bool addStatementsAndSendPlan(
const DtPlan& plan,
DtIfPlan& planMsg,
1870 const DtSimulationAddress& addr = DtSimSendToAll,
1871 int *retiStatus = 0,
DtString* retsStmt = 0)
const;
1875 static void deliverRadioMessageCallback(
DtSimMessage* msg,
void* usr);
1883 static void globalEnvironmentCreatedCb(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid,
void* usr);
1884 virtual void processGlobalEnvironmentCreated(
const DtString& name,
const DtEntityIdentifier&
id,
const DtUUID& uuid);
1892 virtual bool newScenario(
1893 const DtFilename& dbname,
1894 const DtFilename& guidbname,
1895 const DtFilename& opdname,
1896 const DtFilename& physicalWorldName,
1897 const std::vector<DtString>& simulationModelSetFiles,
1899 time_t startTimeOfDay = 12 * 3600,
1933 typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
1937 typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
2052 virtual int color()
const;
2053 virtual const DtUUID& attachTo()
const;
2054 virtual void userData(
char** data,
int* userDataSize);