14 #include <vrfExtProtocol/objectType.h>
23 #include <vrfExtProtocol/objectTypeEnums.h>
39 #include <vl/commentInteraction.h>
40 #include <vl/exerciseConn.h>
41 #include <vl/hostStructs.h>
42 #include <vlpi/disEnums.h>
43 #include <vlpi/appearance.h>
44 #include <vlutil/vlHashlist.h>
61 class DtReflectedEnvironmentProcessList;
77 (
const DtSimulationAddress& addr,
DtSaveResult result,
void * usr);
83 (
const DtString& name,
const DtEntityIdentifier& id,
void* usr);
89 (
const DtString& name,
const DtEntityIdentifier& id,
93 (
const DtEntityIdentifier& id,
int notifyLevel,
const DtString& message,
97 (
const DtSimulationAddress& id,
int notifyLevel,
const DtString& message,
203 virtual void init(DtExerciseConn* exConn,
204 DtReflectedEnvironmentProcessList* rel = NULL);
206 DtReflectedEnvironmentProcessList* rel = NULL);
215 virtual const DtSimulationAddress& simulationAddress()
const;
216 virtual int sessionId()
const;
220 virtual double simTime(
const DtSimulationAddress* a = NULL)
const;
223 virtual const DtList& backends()
const;
227 virtual const DtList& pendingBackends()
const;
233 virtual void addBackendDiscoveryCallback(
235 virtual void removeBackendDiscoveryCallback(
239 virtual void addBackendRemovalCallback(
241 virtual void removeBackendRemovalCallback(
247 virtual int backendsControlState()
const;
250 virtual int numberBackendsLoaded()
const;
254 virtual bool allBackendsReady()
const;
257 virtual bool backendLoaded(
const DtSimulationAddress& addr)
const;
262 const DtSimulationAddress& addr = DtSimSendToAll);
274 virtual void requestBackEndSetting(std::string name,
276 const DtSimulationAddress& addr = DtSimSendToAll);
280 virtual void setSpotReportsGloballyEnabled(
bool enabled);
284 virtual void setEngagementReportsGloballyEnabled(
bool enabled);
288 virtual void setDRThresholds(
double translation,
double rotation);
291 virtual void setCommModelSettings(
bool useExternalComms);
294 virtual void setRoadDrivingSettings(
bool driveOnLeft);
298 virtual void setAutomaticAggregationDisaggregationEnabled(
bool enabled);
304 virtual void setPublishAggregateFormationRoutes(
bool yesNo);
332 virtual bool loadScenario(
const DtFilename& filename,
335 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
347 virtual bool loadScenario(
const DtScenario& scenario,
350 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
357 virtual bool importScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
358 const std::map<std::string, std::string>& importData);
362 virtual bool exportScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
363 const std::map<std::string, std::string>& importData);
368 virtual DtString guiTerrainDatabaseFilename()
const;
369 virtual void setGuiTerrainDatabaseFilename(
DtString db);
379 virtual bool newScenario(
380 const DtFilename& dbname,
381 const DtFilename& guidbname,
382 const DtFilename& opdname = DtFilename::nullFilename(),
383 const DtFilename& physicalWorldName = DtFilename::nullFilename(),
385 time_t startTimeOfDay = 12 * 3600,
389 virtual bool newScenario(
390 const DtFilename& dbname,
391 const DtFilename& guidbname,
392 const std::vector<DtString>& simulationModelSetFiles,
394 time_t startTimeOfDay = 12 * 3600,
402 virtual bool sendLoadScenarioMessage(
404 const DtSimulationAddress& addr = DtSimSendToAll)
const;
432 virtual bool saveScenario(
const DtFilename& saveName,
437 virtual void sendSaveScenarioMessage(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
448 virtual void addScenarioSavedCallback(
450 virtual void removeScenarioSavedCallback(
455 virtual void addScenarioExportedCallback(
457 virtual void removeScenarioExportedCallback(
463 virtual void addScenarioSavedCallback(
465 virtual void removeScenarioSavedCallback(
469 virtual void closeScenario(
const DtSimulationAddress& addr = DtSimSendToAll);
475 virtual void run(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
476 virtual void pause(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
478 virtual void rewind()
const;
479 virtual void exit()
const;
480 virtual void step()
const;
481 virtual void setTimeMultiplier(
double multiplier)
const;
492 virtual void setOpdSaveName(
const DtFilename& f);
493 virtual const DtFilename& opdSaveName()
const;
500 virtual void setMaxWaitSaveTime(
DtTime t);
501 virtual DtTime maxWaitSaveTime()
const;
508 virtual void setMaxWaitLoadTime(
DtTime t);
509 virtual DtTime maxWaitLoadTime()
const;
516 virtual void setOverlayFilename(
const DtFilename& overlay);
517 virtual const DtFilename& overlayFilename()
const;
524 virtual void setHostilityFilename(
const DtFilename& hostilty);
525 virtual const DtFilename& hostilityFilename()
const;
528 virtual void setScenarioExtrasFilename(
const DtFilename& extras);
529 virtual const DtFilename& scenarioExtrasFilename()
const;
535 virtual void setSelectionGroupsFilename(
const DtFilename& sel);
536 virtual const DtFilename& selectionGroupsFilename()
const;
543 virtual void setSymbolMapFilename(
const DtFilename& overlay);
544 virtual const DtFilename& symbolMapFilename()
const;
551 virtual void setCreateMenuFilename(
const DtFilename& overlay);
552 virtual const DtFilename& createMenuFilename()
const;
556 virtual void saveParameterDb(
const DtFilename& filename);
563 virtual void deleteObject(
const DtString& name,
564 const DtSimulationAddress& addr = DtSimSendToAll)
const;
567 virtual void deleteObject(
const DtEntityIdentifier&
id,
568 const DtSimulationAddress& addr = DtSimSendToAll)
const;
580 virtual void createWaypoint(
582 const DtString& uniqueName = DtString::nullString(),
583 const DtString& label = DtString::nullString(),
584 const DtSimulationAddress& addr = DtSimSendToAll)
const;
589 virtual void createWaypoint(
592 const DtString& uniqueName = DtString::nullString(),
593 const DtString& label = DtString::nullString(),
594 const DtSimulationAddress& addr = DtSimSendToAll);
597 virtual void modifyWaypoint(
598 const DtEntityIdentifier& uniqueId,
602 const DtSimulationAddress& addr = DtSimSendToAll)
const;
610 virtual void createRoute(
611 const DtList& vertices,
612 const DtString& uniqueName = DtString::nullString(),
613 const DtString& label = DtString::nullString(),
614 const DtSimulationAddress& addr = DtSimSendToAll)
const;
619 virtual void createRoute(
621 const DtList& vertices,
622 const DtString& uniqueName = DtString::nullString(),
623 const DtString& label = DtString::nullString(),
624 const DtSimulationAddress& addr = DtSimSendToAll) ;
627 virtual void modifyRoute(
628 const DtEntityIdentifier& uniqueId,
631 DtList* vertices = 0,
632 const DtSimulationAddress& addr = DtSimSendToAll)
const;
640 virtual void createPhaseLine(
643 const DtString& uniqueName = DtString::nullString(),
644 const DtString& label = DtString::nullString(),
645 const DtSimulationAddress& addr = DtSimSendToAll)
const;
650 virtual void createPhaseLine(
654 const DtString& uniqueName = DtString::nullString(),
655 const DtString& label = DtString::nullString(),
656 const DtSimulationAddress& addr = DtSimSendToAll) ;
659 virtual void modifyPhaseLine(
660 const DtEntityIdentifier& uniqueId,
665 const DtSimulationAddress& addr = DtSimSendToAll)
const;
674 virtual void createControlArea(
675 const DtList& vertices,
676 const DtString& uniqueName = DtString::nullString(),
677 const DtString& label = DtString::nullString(),
678 const DtSimulationAddress& addr = DtSimSendToAll)
const;
683 virtual void createControlArea(
685 const DtList& vertices,
686 const DtString& uniqueName = DtString::nullString(),
687 const DtString& label = DtString::nullString(),
688 const DtSimulationAddress& addr = DtSimSendToAll) ;
691 virtual void modifyControlArea(
692 const DtEntityIdentifier& uniqueId,
695 DtList* newVertices = 0,
696 const DtSimulationAddress& addr = DtSimSendToAll)
const;
705 virtual void createObstacle(
706 const DtList& vertices,
707 const DtString& uniqueName = DtString::nullString(),
708 const DtString& label = DtString::nullString(),
709 const DtSimulationAddress& addr = DtSimSendToAll)
const;
714 virtual void createObstacle(
716 const DtList& vertices,
717 const DtString& uniqueName = DtString::nullString(),
718 const DtString& label = DtString::nullString(),
719 const DtSimulationAddress& addr = DtSimSendToAll) ;
722 virtual void modifyObstacle(
723 const DtEntityIdentifier& uniqueId,
726 DtList* newVertices = 0,
727 const DtSimulationAddress& addr = DtSimSendToAll)
const;
737 virtual void createDisaggregationArea(
738 const DtList& vertices,
739 const DtString& uniqueName = DtString::nullString(),
740 const DtString& label = DtString::nullString(),
741 const DtSimulationAddress& addr = DtSimSendToAll)
const;
747 virtual void createDisaggregationArea(
749 const DtList& vertices,
750 const DtString& uniqueName = DtString::nullString(),
751 const DtString& label = DtString::nullString(),
752 const DtSimulationAddress& addr = DtSimSendToAll) ;
755 virtual void modifyDisaggregationArea(
756 const DtEntityIdentifier& uniqueId,
759 DtList* newVertices = 0,
760 const DtSimulationAddress& addr = DtSimSendToAll)
const;
775 virtual void createOverlayObject(
776 const DtEntityType& type,
777 const DtList& vertices,
778 const DtForceType& force,
785 const DtAppearance& appearance = DtAppearance::nullAppearance(),
789 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
790 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
792 const DtSimulationAddress& addr = DtSimSendToAll,
793 unsigned int rId = 0,
794 std::list<DtAdminContent*>* initialAdminContent = 0,
795 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0);
797 virtual void createIndirectArtillery(
799 const DtSimulationAddress& addr);
805 virtual void createObject(
806 const DtEntityType& type,
810 const DtSimulationAddress& addr);
813 virtual void createEntity(
814 const DtEntityType& type,
818 const DtString& uniqueName = DtString::nullString(),
819 const DtString& label = DtString::nullString(),
820 const DtSimulationAddress& addr = DtSimSendToAll,
821 bool groundClamp =
true)
const;
826 virtual void createEntity(
828 const DtEntityType& type,
832 const DtString& uniqueName = DtString::nullString(),
833 const DtString& label = DtString::nullString(),
834 const DtSimulationAddress& addr = DtSimSendToAll,
835 bool groundClamp =
true);
837 virtual void createAggregate(
839 const DtEntityType& type,
844 const DtString& label = DtString::nullString(),
845 const DtSimulationAddress& addr = DtSimSendToAll,
846 DtAggregateState initialAggregateState = DtDisaggregated);
849 virtual void createAggregate(
850 const DtEntityType& type,
854 DtList* entityNames = 0,
855 const DtSimulationAddress& addr = DtSimSendToAll,
856 DtAggregateState initialAggregateState = DtDisaggregated,
857 unsigned int requestId = 0)
const;
862 virtual void createAggregate(
864 const DtEntityType& type,
868 DtList* entityNames = 0,
869 const DtSimulationAddress& addr = DtSimSendToAll,
870 DtAggregateState initialAggregateState = DtDisaggregated) ;
874 virtual void addToOrganization(
875 const DtEntityIdentifier& objectId,
876 const DtEntityIdentifier& newSuperiorId,
877 const DtSimulationAddress& addr = DtSimSendToAll);
882 virtual void addToForceLevelOrganization(
883 const DtEntityIdentifier& orjectId,
884 const DtSimulationAddress& addr = DtSimSendToAll);
888 virtual void removeFromOrganization(
889 const DtEntityIdentifier& objectId,
890 const DtSimulationAddress& addr = DtSimSendToAll);
899 virtual void setLabel(
900 const DtEntityIdentifier&
id,
const DtString& label,
901 const DtSimulationAddress& addr = DtSimSendToAll)
const;
904 virtual void setOverlayParent(
905 const DtEntityIdentifier&
id,
const DtString& label,
906 const DtSimulationAddress& addr = DtSimSendToAll)
const;
909 virtual void setAltitude(
910 const DtString& name,
double altitude,
bool aboveGroundLevel =
false,
911 const DtSimulationAddress& addr = DtSimSendToAll)
const;
914 virtual void setLocation(
916 const DtSimulationAddress& addr = DtSimSendToAll)
const;
919 virtual void setAppearance(
920 const DtString& name,
int appearance,
921 const DtSimulationAddress& addr = DtSimSendToAll)
const;
924 virtual void setCapabilities(
925 const DtString& name,
int capabilities,
926 const DtSimulationAddress& addr = DtSimSendToAll)
const;
929 virtual void setHeading(
930 const DtString& name,
double degrees,
931 const DtSimulationAddress& addr = DtSimSendToAll)
const;
934 virtual void setForce(
935 const DtString& name, DtForceType force,
936 const DtSimulationAddress& addr = DtSimSendToAll)
const;
941 virtual void requestSpotReports(
const DtString& name,
bool onOff,
942 const DtSimulationAddress& addr = DtSimSendToAll)
const;
947 virtual void requestEngagementReports(
const DtString& name,
bool onOff,
948 const DtSimulationAddress& addr = DtSimSendToAll)
const;
951 virtual void setResource(
const DtString& name,
952 const char* resourceType,
double value,
953 const DtSimulationAddress& addr = DtSimSendToAll)
const;
958 virtual void setRulesOfEngagement(
959 const DtString& name,
const char* rulesType,
960 const DtSimulationAddress& addr = DtSimSendToAll)
const;
963 virtual void setSectorOfResponsibility(
964 const DtString& name,
double center,
double size,
965 const DtSimulationAddress& addr = DtSimSendToAll)
const;
968 virtual void setSpeed(
970 const DtSimulationAddress& addr = DtSimSendToAll)
const;
973 virtual void setTarget(
975 const DtSimulationAddress& addr = DtSimSendToAll)
const;
979 virtual void setSuperior(
981 const DtSimulationAddress& addr = DtSimSendToAll)
const;
984 virtual void setTaskedBySuperior(
const DtString& name,
985 const DtSimulationAddress& addr = DtSimSendToAll)
const;
988 virtual void setConcealed(
const DtString& name,
989 bool yes,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
992 virtual void setEmitter(
const DtString& name,
993 int emitterId,
bool on,
994 const DtSimulationAddress& addr = DtSimSendToAll)
const;
997 virtual void setIff(
const DtString& name,
998 bool mode1on,
int mode1code,
999 bool mode2on,
int mode2code,
1000 bool mode3on,
int mode3code,
1001 bool mode4on,
int mode4code,
1002 DtIffAtcNavaidsAltParm4 altParm4,
1003 bool modeCon,
bool useAltModeC,
1004 bool modeSon,
bool emergency,
1005 bool flash,
bool sti,
bool modeSTcasI,
1006 int pin,
bool mode5LevelSelection,
1007 unsigned int messageFormatsPresent,
unsigned int nationalOrigin,
1008 unsigned int navigationSource,
unsigned int figureOfMerit,
1009 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1012 virtual void restore(
const DtString& name,
1013 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1017 virtual void setDestroyed(
const DtString& name,
1018 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1023 virtual void setLifeformWeaponState(
1024 const DtString& name, DtWeaponState weapon,
1025 const DtSimulationAddress& addr)
const;
1030 virtual void setLifeformPosture(
1031 const DtString& name, DtLifeformState posture,
1032 const DtSimulationAddress& addr)
const;
1036 virtual void setAggregateFormation(
1038 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1043 virtual void reorganizeAggregate(
const DtString& leader,
1044 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1049 virtual void disaggregateEntity(
const DtString& entity,
1050 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1055 virtual void aggregateEntity(
const DtString& entity,
1056 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1060 virtual void sendSetDataMsg(
1062 const DtSimulationAddress& addr)
const;
1074 virtual void sendVrfObjectCreateMsg(
1075 const DtSimulationAddress& addr,
1076 unsigned int requestId,
1078 const DtObjectType& type,
1079 const DtList& vertices,
1081 const DtAppearance& appearance,
1086 bool createSubObjects,
1087 bool clampToGroundFlag =
true,
1088 const DtString& initialFormation = DtString::nullString(),
1089 DtAggregateState initialAggregateState = DtDisaggregated,
1090 const DtString& userData = DtString::nullString(),
1091 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1092 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1093 std::list<DtAdminContent*>* initialAdminContent = 0,
1094 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1095 const DtString& overlayParent =
"")
const;
1103 virtual void sendVrfObjectModifyMsg(
1104 const DtSimulationAddress& addr,
1105 const DtEntityIdentifier&
id,
1107 DtList* vertices = 0,
1108 DtForceType* force = 0,
1109 DtReal* heading = 0,
1111 DtAppearance* appearance = 0,
1118 virtual void sendVrfOverlayObjectModifyMsg(
1119 const DtSimulationAddress& addr,
1120 const DtEntityIdentifier&
id,
1124 bool keepExistingAttachment =
true,
1128 virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1129 const DtSimulationAddress& addr,
1130 const DtEntityIdentifier&
id,
1139 virtual void moveAlongRoute(
1141 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1145 virtual void moveToWaypoint(
1147 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1152 virtual void moveToLocation(
1154 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1158 virtual void patrolBetweenWaypoints(
1161 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1165 virtual void patrolAlongRoute(
1167 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1174 virtual void followEntity(
1177 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1183 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1187 virtual void waitDuration(
1189 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1193 virtual void waitElapsed(
1195 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1200 virtual void sendTaskMsg(
1202 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1206 virtual void abandonPlan(
const DtString& name,
1207 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1210 virtual void skipTask(
const DtString& name,
1211 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1215 virtual void restartPlan(
const DtString& name,
1216 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1225 virtual void assignPlanByName(
1227 const DtSimulationAddress& addr = DtSimSendToAll,
1228 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1231 virtual void assignMultiplePlanByName(
1232 const std::vector<DtString>& entities,
const DtPlan& plan,
1233 const DtSimulationAddress& addr = DtSimSendToAll,
1234 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1240 virtual void requestPlan(
1242 bool addStmtCallback =
true,
1243 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1249 virtual void subscribePlan(
const DtString& name,
1251 const DtSimulationAddress& addr = DtSimSendToAll);
1258 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1260 const DtSimulationAddress& addr = DtSimSendToAll);
1262 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1263 const DtSimulationAddress& addr = DtSimSendToAll);
1267 virtual void unsubscribePlan(
const DtString& name,
1272 virtual void unsubscribeAllPlans();
1278 virtual void addPlanStatementCallback(
const DtString& name,
1283 virtual void removePlanStatementCallback(
const DtString& name,
1288 virtual void removeAllPlanStatementCallbacks();
1294 virtual void addPlanCompleteCallback(
const DtString& name,
1299 virtual void removePlanCompleteCallback(
const DtString& name,
1304 virtual void removeAllPlanCompleteCallbacks();
1309 virtual void requestGlobalPlansList(
const DtSimulationAddress& addr);
1318 virtual void assignGlobalPlan(
1320 const DtSimulationAddress& addr = DtSimSendToAll,
1321 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1324 virtual void deleteGlobalPlan(
const DtString& name,
1325 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1330 virtual void requestGlobalPlan(
1332 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1338 virtual void subscribeGlobalPlan(
const DtString& name,
1340 const DtSimulationAddress& addr = DtSimSendToAll);
1344 virtual void unsubscribeGlobalPlan(
const DtString& name,
1350 virtual void addGlobalPlanStatementCallback(
const DtString& name,
1354 virtual void removeGlobalPlanStatementCallback(
const DtString& name,
1360 virtual void addGlobalPlanCompleteCallback(
const DtString& name,
1364 virtual void removeGlobalPlanCompleteCallback(
const DtString& name,
1380 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1387 virtual void loadedScenario(
1388 const DtSimulationAddress& addr,
unsigned int requestId);
1393 virtual void processSaveMessages();
1398 virtual DtTime scenarioSimTimeForSave();
1403 virtual void setTerrainDatabaseFilename(
DtScenario* scen);
1408 virtual void setParameterDatabaseFilename(
DtScenario* scen);
1413 virtual void setPhysicalWorldFilename(
DtScenario* scen);
1418 virtual void setTimeMultiplier(
DtScenario* scen);
1423 virtual void setAutoReorganize(
DtScenario* scen);
1428 virtual void setRandomNumberSeed(
DtScenario* scen);
1433 virtual void setFrameRateMode(
DtScenario* scen);
1438 virtual void setFrameDeltaTime(
DtScenario* scen);
1443 virtual void setExerciseStartTime(
DtScenario* scen);
1448 virtual void setExerciseStartDateAndTime(
DtScenario* scen);
1456 virtual bool save(
DtString& sError);
1470 virtual void completeExport();
1475 virtual void savedScenario(
const DtSimulationAddress& addr,
1480 virtual void doPendingSaveWork();
1484 virtual void doPendingExportWork();
1488 virtual void doPendingLoadWork();
1492 virtual void objectCreated(
unsigned int requestId,
1493 const DtString& name,
const DtEntityIdentifier&
id);
1496 virtual unsigned int generateRequestId()
const;
1500 virtual void receivedPlan(
const DtString& name,
bool isGlobal,
1501 const DtList& statements);
1508 virtual void receivedPlanStmt(
const DtString& name,
bool isGlobal,
1517 virtual void embarkObject(
const DtSimulationAddress& addr,
const DtString& entity,
const DtString& ontoEntity,
1518 bool loadOverride =
false,
const DtVector& loadOverridePosition = DtVector::zero());
1520 virtual void disembarkObject(
const DtSimulationAddress& addr,
const DtString& entity);
1521 virtual void disembarkAllObjects(
const DtSimulationAddress& addr,
const DtString& entity);
1525 virtual void requestTasksAndSetsFor(
const DtSimulationAddress& addr,
1529 virtual void requestTasksAndSetsFor(
const std::vector<DtString>& names);
1533 virtual void requestDIGuyAppearancesAndAnimations(
const DtSimulationAddress& addr,
1537 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtString>& names);
1560 virtual void setRotationThreshold(DtReal thresh);
1563 virtual void setTranslationThreshold(DtReal thresh);
1569 virtual void setAggDimensionThreshold(DtReal thresh);
1572 virtual void setHostInetAddr(DtInetAddr);
1573 virtual DtInetAddr hostInetAddr()
const;
1577 virtual void querySpatialSubdivisionConfiguration(
1578 const DtSimulationAddress& backendAddress,
1583 virtual void setSpatialSubdivsionConfiguration(
1584 const DtSimulationAddress& backendAddress,
1586 const int spatialSubdivisionXResolution,
1587 const int spatialSubdivisionYResolution,
1588 const int spatialSubdivisionZResolution);
1591 virtual void requestIndirectArtilleryInformation(
const DtString&);
1600 virtual void requestResources(
const DtString& name = DtString::nullString(),
1601 const std::list<DtString>* list = 0,
1610 virtual void addObjectConsoleMessageCallback(
1613 virtual void removeObjectConsoleMessageCallback(
1619 virtual void setObjectNotifyLevel(
const DtString& objectName,
1620 DtNotifyLevelType notifyLevel,
const DtSimulationAddress& addr = DtSimSendToAll);
1625 virtual void logObjectConsoleToFile(
const DtString& objectName,
1626 const DtFilename filename);
1630 virtual void stopLoggingObjectConsoleToFile(
const DtString& objectName);
1638 virtual void addBackendConsoleMessageCallback(
1641 virtual void removeBackendConsoleMessageCallback(
1649 virtual void requestResourceNames(
const std::list<DtString>& list,
1671 virtual void initializeGlobalEnvironment(
1672 const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
1682 static void doPendingSaveWorkCb(
void* usr);
1686 static void doPendingExportWorkCb(
void* usr);
1690 static void doPendingLoadWorkCb(
void* usr);
1694 static void savedScenarioCb(
DtSimMessage* msg,
void* usr);
1698 static void exportScenarioCb(
DtSimMessage* msg,
void* usr);
1702 static void loadedScenarioCb(
DtSimMessage* msg,
void* usr);
1706 static void receiveFileCb(
const DtFilename& filename,
void* usr);
1709 static void receivedMultiPlanCb(
DtSimMessage* msg,
void* usr);
1715 static void objectCreatedCb(
DtSimMessage* msg,
void* usr);
1718 static void receivedPlanCb(
DtSimMessage* msg,
void* usr);
1721 static void receivedPlanStmtCb(
DtSimMessage* msg,
void* usr);
1725 static void overlayObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1727 virtual void processOverlayObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1732 static void indirectArtilleryObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1734 virtual void processIndirectArtilleryObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1738 static void resourcesProcessedCb(
DtSimMessage* msg,
void* usr);
1745 static void spatialSubdivisionConfigurationCb(
DtSimMessage* msg,
void* usr);
1749 virtual void processSpatialSubdivisionConfigurationCb(
1754 static void commentInteractionCallback(DtCommentInteraction *inter,
void* usr);
1758 virtual void processCommentInteraction(DtCommentInteraction* inter);
1768 virtual void onInit();
1769 virtual void resetStateData();
1770 virtual void emptyLists();
1773 virtual void sendAggregateAsMsg(
1774 const DtSimulationAddress& addr,
1775 unsigned int requestId,
1776 const DtObjectType& objectType,
1780 DtList* entityNames,
1781 DtAggregateState initialAggregateState)
const;
1788 virtual void sendQuerySpatialSubdivisionConfigurationRequest(
1789 const DtSimulationAddress& backendAddress,
1799 virtual bool arbitrarySimAddress(DtSimulationAddress& address)
const;
1808 virtual bool addStatementsAndSendPlan(
const DtPlan& plan,
DtIfPlan& planMsg,
1809 const DtSimulationAddress& addr = DtSimSendToAll,
1810 int *retiStatus = 0,
DtString* retsStmt = 0)
const;
1814 static void deliverRadioMessageCallback(
DtSimMessage* msg,
void* usr);
1822 static void globalEnvironmentCreatedCb(
const DtString& name,
const DtEntityIdentifier&
id,
void* usr);
1823 virtual void processGlobalEnvironmentCreated(
const DtString& name,
const DtEntityIdentifier&
id);
1831 virtual bool newScenario(
1832 const DtFilename& dbname,
1833 const DtFilename& guidbname,
1834 const DtFilename& opdname,
1835 const DtFilename& physicalWorldName,
1836 const std::vector<DtString>& simulationModelSetFiles,
1838 time_t startTimeOfDay = 12 * 3600,
1872 typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
1876 typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
1983 virtual int color()
const;
1984 virtual const DtString& attachTo()
const;
1985 virtual void userData(
char** data,
int* userDataSize);