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,
470 const DtFilename& databaseToOpen =
"");
476 virtual void run(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
477 virtual void pause(
bool useStartStopInteraction =
false,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
479 virtual void rewind()
const;
480 virtual void exit()
const;
481 virtual void step()
const;
482 virtual void setTimeMultiplier(
double multiplier)
const;
493 virtual void setOpdSaveName(
const DtFilename& f);
494 virtual const DtFilename& opdSaveName()
const;
501 virtual void setMaxWaitSaveTime(
DtTime t);
502 virtual DtTime maxWaitSaveTime()
const;
509 virtual void setMaxWaitLoadTime(
DtTime t);
510 virtual DtTime maxWaitLoadTime()
const;
517 virtual void setOverlayFilename(
const DtFilename& overlay);
518 virtual const DtFilename& overlayFilename()
const;
525 virtual void setHostilityFilename(
const DtFilename& hostilty);
526 virtual const DtFilename& hostilityFilename()
const;
529 virtual void setScenarioExtrasFilename(
const DtFilename& extras);
530 virtual const DtFilename& scenarioExtrasFilename()
const;
536 virtual void setSelectionGroupsFilename(
const DtFilename& sel);
537 virtual const DtFilename& selectionGroupsFilename()
const;
544 virtual void setSymbolMapFilename(
const DtFilename& overlay);
545 virtual const DtFilename& symbolMapFilename()
const;
552 virtual void setCreateMenuFilename(
const DtFilename& overlay);
553 virtual const DtFilename& createMenuFilename()
const;
557 virtual void saveParameterDb(
const DtFilename& filename);
564 virtual void deleteObject(
const DtString& name,
565 const DtSimulationAddress& addr = DtSimSendToAll)
const;
568 virtual void deleteObject(
const DtEntityIdentifier&
id,
569 const DtSimulationAddress& addr = DtSimSendToAll)
const;
581 virtual void createWaypoint(
583 const DtString& uniqueName = DtString::nullString(),
584 const DtString& label = DtString::nullString(),
585 const DtSimulationAddress& addr = DtSimSendToAll)
const;
590 virtual void createWaypoint(
593 const DtString& uniqueName = DtString::nullString(),
594 const DtString& label = DtString::nullString(),
595 const DtSimulationAddress& addr = DtSimSendToAll);
598 virtual void modifyWaypoint(
599 const DtEntityIdentifier& uniqueId,
603 const DtSimulationAddress& addr = DtSimSendToAll)
const;
611 virtual void createRoute(
612 const DtList& vertices,
613 const DtString& uniqueName = DtString::nullString(),
614 const DtString& label = DtString::nullString(),
615 const DtSimulationAddress& addr = DtSimSendToAll)
const;
620 virtual void createRoute(
622 const DtList& vertices,
623 const DtString& uniqueName = DtString::nullString(),
624 const DtString& label = DtString::nullString(),
625 const DtSimulationAddress& addr = DtSimSendToAll) ;
628 virtual void modifyRoute(
629 const DtEntityIdentifier& uniqueId,
632 DtList* vertices = 0,
633 const DtSimulationAddress& addr = DtSimSendToAll)
const;
641 virtual void createPhaseLine(
644 const DtString& uniqueName = DtString::nullString(),
645 const DtString& label = DtString::nullString(),
646 const DtSimulationAddress& addr = DtSimSendToAll)
const;
651 virtual void createPhaseLine(
655 const DtString& uniqueName = DtString::nullString(),
656 const DtString& label = DtString::nullString(),
657 const DtSimulationAddress& addr = DtSimSendToAll) ;
660 virtual void modifyPhaseLine(
661 const DtEntityIdentifier& uniqueId,
666 const DtSimulationAddress& addr = DtSimSendToAll)
const;
675 virtual void createControlArea(
676 const DtList& vertices,
677 const DtString& uniqueName = DtString::nullString(),
678 const DtString& label = DtString::nullString(),
679 const DtSimulationAddress& addr = DtSimSendToAll)
const;
684 virtual void createControlArea(
686 const DtList& vertices,
687 const DtString& uniqueName = DtString::nullString(),
688 const DtString& label = DtString::nullString(),
689 const DtSimulationAddress& addr = DtSimSendToAll) ;
692 virtual void modifyControlArea(
693 const DtEntityIdentifier& uniqueId,
696 DtList* newVertices = 0,
697 const DtSimulationAddress& addr = DtSimSendToAll)
const;
706 virtual void createObstacle(
707 const DtList& vertices,
708 const DtString& uniqueName = DtString::nullString(),
709 const DtString& label = DtString::nullString(),
710 const DtSimulationAddress& addr = DtSimSendToAll)
const;
715 virtual void createObstacle(
717 const DtList& vertices,
718 const DtString& uniqueName = DtString::nullString(),
719 const DtString& label = DtString::nullString(),
720 const DtSimulationAddress& addr = DtSimSendToAll) ;
723 virtual void modifyObstacle(
724 const DtEntityIdentifier& uniqueId,
727 DtList* newVertices = 0,
728 const DtSimulationAddress& addr = DtSimSendToAll)
const;
738 virtual void createDisaggregationArea(
739 const DtList& vertices,
740 const DtString& uniqueName = DtString::nullString(),
741 const DtString& label = DtString::nullString(),
742 const DtSimulationAddress& addr = DtSimSendToAll)
const;
748 virtual void createDisaggregationArea(
750 const DtList& vertices,
751 const DtString& uniqueName = DtString::nullString(),
752 const DtString& label = DtString::nullString(),
753 const DtSimulationAddress& addr = DtSimSendToAll) ;
756 virtual void modifyDisaggregationArea(
757 const DtEntityIdentifier& uniqueId,
760 DtList* newVertices = 0,
761 const DtSimulationAddress& addr = DtSimSendToAll)
const;
776 virtual void createOverlayObject(
777 const DtEntityType& type,
778 const DtList& vertices,
779 const DtForceType& force,
786 const DtAppearance& appearance = DtAppearance::nullAppearance(),
790 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
791 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
793 const DtSimulationAddress& addr = DtSimSendToAll,
794 unsigned int rId = 0,
795 std::list<DtAdminContent*>* initialAdminContent = 0,
796 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0);
798 virtual void createIndirectArtillery(
800 const DtSimulationAddress& addr);
806 virtual void createObject(
807 const DtEntityType& type,
811 const DtSimulationAddress& addr);
814 virtual void createEntity(
815 const DtEntityType& type,
819 const DtString& uniqueName = DtString::nullString(),
820 const DtString& label = DtString::nullString(),
821 const DtSimulationAddress& addr = DtSimSendToAll,
822 bool groundClamp =
true)
const;
827 virtual void createEntity(
829 const DtEntityType& type,
833 const DtString& uniqueName = DtString::nullString(),
834 const DtString& label = DtString::nullString(),
835 const DtSimulationAddress& addr = DtSimSendToAll,
836 bool groundClamp =
true);
838 virtual void createAggregate(
840 const DtEntityType& type,
845 const DtString& label = DtString::nullString(),
846 const DtSimulationAddress& addr = DtSimSendToAll,
847 DtAggregateState initialAggregateState = DtDisaggregated);
850 virtual void createAggregate(
851 const DtEntityType& type,
855 DtList* entityNames = 0,
856 const DtSimulationAddress& addr = DtSimSendToAll,
857 DtAggregateState initialAggregateState = DtDisaggregated,
858 unsigned int requestId = 0)
const;
863 virtual void createAggregate(
865 const DtEntityType& type,
869 DtList* entityNames = 0,
870 const DtSimulationAddress& addr = DtSimSendToAll,
871 DtAggregateState initialAggregateState = DtDisaggregated) ;
875 virtual void addToOrganization(
876 const DtEntityIdentifier& objectId,
877 const DtEntityIdentifier& newSuperiorId,
878 const DtSimulationAddress& addr = DtSimSendToAll);
883 virtual void addToForceLevelOrganization(
884 const DtEntityIdentifier& orjectId,
885 const DtSimulationAddress& addr = DtSimSendToAll);
889 virtual void removeFromOrganization(
890 const DtEntityIdentifier& objectId,
891 const DtSimulationAddress& addr = DtSimSendToAll);
900 virtual void setLabel(
901 const DtEntityIdentifier&
id,
const DtString& label,
902 const DtSimulationAddress& addr = DtSimSendToAll)
const;
905 virtual void setOverlayParent(
906 const DtEntityIdentifier&
id,
const DtString& label,
907 const DtSimulationAddress& addr = DtSimSendToAll)
const;
910 virtual void setAltitude(
911 const DtString& name,
double altitude,
bool aboveGroundLevel =
false,
912 const DtSimulationAddress& addr = DtSimSendToAll)
const;
915 virtual void setLocation(
917 const DtSimulationAddress& addr = DtSimSendToAll)
const;
920 virtual void setAppearance(
921 const DtString& name,
int appearance,
922 const DtSimulationAddress& addr = DtSimSendToAll)
const;
925 virtual void setCapabilities(
926 const DtString& name,
int capabilities,
927 const DtSimulationAddress& addr = DtSimSendToAll)
const;
930 virtual void setHeading(
931 const DtString& name,
double degrees,
932 const DtSimulationAddress& addr = DtSimSendToAll)
const;
935 virtual void setForce(
936 const DtString& name, DtForceType force,
937 const DtSimulationAddress& addr = DtSimSendToAll)
const;
942 virtual void requestSpotReports(
const DtString& name,
bool onOff,
943 const DtSimulationAddress& addr = DtSimSendToAll)
const;
948 virtual void requestEngagementReports(
const DtString& name,
bool onOff,
949 const DtSimulationAddress& addr = DtSimSendToAll)
const;
952 virtual void setResource(
const DtString& name,
953 const char* resourceType,
double value,
954 const DtSimulationAddress& addr = DtSimSendToAll)
const;
959 virtual void setRulesOfEngagement(
960 const DtString& name,
const char* rulesType,
961 const DtSimulationAddress& addr = DtSimSendToAll)
const;
964 virtual void setSectorOfResponsibility(
965 const DtString& name,
double center,
double size,
966 const DtSimulationAddress& addr = DtSimSendToAll)
const;
969 virtual void setSpeed(
971 const DtSimulationAddress& addr = DtSimSendToAll)
const;
974 virtual void setCurrentSpeed(
976 const DtSimulationAddress& addr = DtSimSendToAll)
const;
979 virtual void setTarget(
981 const DtSimulationAddress& addr = DtSimSendToAll)
const;
985 virtual void setSuperior(
987 const DtSimulationAddress& addr = DtSimSendToAll)
const;
990 virtual void setTaskedBySuperior(
const DtString& name,
991 const DtSimulationAddress& addr = DtSimSendToAll)
const;
994 virtual void setConcealed(
const DtString& name,
995 bool yes,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
998 virtual void setEmitter(
const DtString& name,
999 int emitterId,
bool on,
1000 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1003 virtual void setIff(
const DtString& name,
1004 bool mode1on,
int mode1code,
1005 bool mode2on,
int mode2code,
1006 bool mode3on,
int mode3code,
1007 bool mode4on,
int mode4code,
1008 DtIffAtcNavaidsAltParm4 altParm4,
1009 bool modeCon,
bool useAltModeC,
1010 bool modeSon,
bool emergency,
1011 bool flash,
bool sti,
bool modeSTcasI,
1012 int pin,
bool mode5LevelSelection,
1013 unsigned int messageFormatsPresent,
unsigned int nationalOrigin,
1014 unsigned int navigationSource,
unsigned int figureOfMerit,
1015 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1018 virtual void restore(
const DtString& name,
1019 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1023 virtual void setDestroyed(
const DtString& name,
1024 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1029 virtual void setLifeformWeaponState(
1030 const DtString& name, DtWeaponState weapon,
1031 const DtSimulationAddress& addr)
const;
1036 virtual void setLifeformPosture(
1037 const DtString& name, DtLifeformState posture,
1038 const DtSimulationAddress& addr)
const;
1042 virtual void setAggregateFormation(
1044 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1049 virtual void reorganizeAggregate(
const DtString& leader,
1050 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1055 virtual void disaggregateEntity(
const DtString& entity,
1056 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1061 virtual void aggregateEntity(
const DtString& entity,
1062 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1066 virtual void sendSetDataMsg(
1068 const DtSimulationAddress& addr)
const;
1080 virtual void sendVrfObjectCreateMsg(
1081 const DtSimulationAddress& addr,
1082 unsigned int requestId,
1084 const DtObjectType& type,
1085 const DtList& vertices,
1087 const DtAppearance& appearance,
1092 bool createSubObjects,
1093 bool clampToGroundFlag =
true,
1094 const DtString& initialFormation = DtString::nullString(),
1095 DtAggregateState initialAggregateState = DtDisaggregated,
1096 const DtString& userData = DtString::nullString(),
1097 const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1098 const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1099 std::list<DtAdminContent*>* initialAdminContent = 0,
1100 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1101 const DtString& overlayParent =
"")
const;
1109 virtual void sendVrfObjectModifyMsg(
1110 const DtSimulationAddress& addr,
1111 const DtEntityIdentifier&
id,
1113 DtList* vertices = 0,
1114 DtForceType* force = 0,
1115 DtReal* heading = 0,
1117 DtAppearance* appearance = 0,
1124 virtual void sendVrfOverlayObjectModifyMsg(
1125 const DtSimulationAddress& addr,
1126 const DtEntityIdentifier&
id,
1130 bool keepExistingAttachment =
true,
1134 virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1135 const DtSimulationAddress& addr,
1136 const DtEntityIdentifier&
id,
1145 virtual void moveAlongRoute(
1147 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1151 virtual void moveToWaypoint(
1153 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1158 virtual void moveToLocation(
1160 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1164 virtual void patrolBetweenWaypoints(
1167 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1171 virtual void patrolAlongRoute(
1173 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1180 virtual void followEntity(
1183 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1189 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1193 virtual void waitDuration(
1195 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1199 virtual void waitElapsed(
1201 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1206 virtual void sendTaskMsg(
1208 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1212 virtual void abandonPlan(
const DtString& name,
1213 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1216 virtual void skipTask(
const DtString& name,
1217 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1221 virtual void restartPlan(
const DtString& name,
1222 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1231 virtual void assignPlanByName(
1233 const DtSimulationAddress& addr = DtSimSendToAll,
1234 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1237 virtual void assignMultiplePlanByName(
1238 const std::vector<DtString>& entities,
const DtPlan& plan,
1239 const DtSimulationAddress& addr = DtSimSendToAll,
1240 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1246 virtual void requestPlan(
1248 bool addStmtCallback =
true,
1249 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1255 virtual void subscribePlan(
const DtString& name,
1257 const DtSimulationAddress& addr = DtSimSendToAll);
1264 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1266 const DtSimulationAddress& addr = DtSimSendToAll);
1268 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1269 const DtSimulationAddress& addr = DtSimSendToAll);
1273 virtual void unsubscribePlan(
const DtString& name,
1278 virtual void unsubscribeAllPlans();
1284 virtual void addPlanStatementCallback(
const DtString& name,
1289 virtual void removePlanStatementCallback(
const DtString& name,
1294 virtual void removeAllPlanStatementCallbacks();
1300 virtual void addPlanCompleteCallback(
const DtString& name,
1305 virtual void removePlanCompleteCallback(
const DtString& name,
1310 virtual void removeAllPlanCompleteCallbacks();
1315 virtual void requestGlobalPlansList(
const DtSimulationAddress& addr);
1324 virtual void assignGlobalPlan(
1326 const DtSimulationAddress& addr = DtSimSendToAll,
1327 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1330 virtual void deleteGlobalPlan(
const DtString& name,
1331 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1336 virtual void requestGlobalPlan(
1338 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1344 virtual void subscribeGlobalPlan(
const DtString& name,
1346 const DtSimulationAddress& addr = DtSimSendToAll);
1350 virtual void unsubscribeGlobalPlan(
const DtString& name,
1356 virtual void addGlobalPlanStatementCallback(
const DtString& name,
1360 virtual void removeGlobalPlanStatementCallback(
const DtString& name,
1366 virtual void addGlobalPlanCompleteCallback(
const DtString& name,
1370 virtual void removeGlobalPlanCompleteCallback(
const DtString& name,
1386 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1393 virtual void loadedScenario(
1394 const DtSimulationAddress& addr,
unsigned int requestId);
1399 virtual void processSaveMessages();
1404 virtual DtTime scenarioSimTimeForSave();
1409 virtual void setTerrainDatabaseFilename(
DtScenario* scen);
1414 virtual void setParameterDatabaseFilename(
DtScenario* scen);
1419 virtual void setPhysicalWorldFilename(
DtScenario* scen);
1424 virtual void setTimeMultiplier(
DtScenario* scen);
1429 virtual void setAutoReorganize(
DtScenario* scen);
1434 virtual void setRandomNumberSeed(
DtScenario* scen);
1439 virtual void setFrameRateMode(
DtScenario* scen);
1444 virtual void setFrameDeltaTime(
DtScenario* scen);
1449 virtual void setExerciseStartTime(
DtScenario* scen);
1454 virtual void setExerciseStartDateAndTime(
DtScenario* scen);
1462 virtual bool save(
DtString& sError);
1476 virtual void completeExport();
1481 virtual void savedScenario(
const DtSimulationAddress& addr,
1486 virtual void doPendingSaveWork();
1490 virtual void doPendingExportWork();
1494 virtual void doPendingLoadWork();
1498 virtual void objectCreated(
unsigned int requestId,
1499 const DtString& name,
const DtEntityIdentifier&
id);
1502 virtual unsigned int generateRequestId()
const;
1506 virtual void receivedPlan(
const DtString& name,
bool isGlobal,
1507 const DtList& statements);
1514 virtual void receivedPlanStmt(
const DtString& name,
bool isGlobal,
1523 virtual void embarkObject(
const DtSimulationAddress& addr,
const DtString& entity,
const DtString& ontoEntity,
1524 bool loadOverride =
false,
const DtVector& loadOverridePosition = DtVector::zero());
1526 virtual void disembarkObject(
const DtSimulationAddress& addr,
const DtString& entity);
1527 virtual void disembarkAllObjects(
const DtSimulationAddress& addr,
const DtString& entity);
1531 virtual void requestTasksAndSetsFor(
const DtSimulationAddress& addr,
1535 virtual void requestTasksAndSetsFor(
const std::vector<DtString>& names);
1539 virtual void requestDIGuyAppearancesAndAnimations(
const DtSimulationAddress& addr,
1543 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtString>& names);
1566 virtual void setRotationThreshold(DtReal thresh);
1569 virtual void setTranslationThreshold(DtReal thresh);
1575 virtual void setAggDimensionThreshold(DtReal thresh);
1578 virtual void setHostInetAddr(DtInetAddr);
1579 virtual DtInetAddr hostInetAddr()
const;
1583 virtual void querySpatialSubdivisionConfiguration(
1584 const DtSimulationAddress& backendAddress,
1589 virtual void setSpatialSubdivsionConfiguration(
1590 const DtSimulationAddress& backendAddress,
1592 const int spatialSubdivisionXResolution,
1593 const int spatialSubdivisionYResolution,
1594 const int spatialSubdivisionZResolution);
1597 virtual void requestIndirectArtilleryInformation(
const DtString&);
1606 virtual void requestResources(
const DtString& name = DtString::nullString(),
1607 const std::list<DtString>* list = 0,
1616 virtual void addObjectConsoleMessageCallback(
1619 virtual void removeObjectConsoleMessageCallback(
1625 virtual void setObjectNotifyLevel(
const DtString& objectName,
1626 DtNotifyLevelType notifyLevel,
const DtSimulationAddress& addr = DtSimSendToAll);
1631 virtual void logObjectConsoleToFile(
const DtString& objectName,
1632 const DtFilename filename);
1636 virtual void stopLoggingObjectConsoleToFile(
const DtString& objectName);
1644 virtual void addBackendConsoleMessageCallback(
1647 virtual void removeBackendConsoleMessageCallback(
1655 virtual void requestResourceNames(
const std::list<DtString>& list,
1677 virtual void initializeGlobalEnvironment(
1678 const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
1688 static void doPendingSaveWorkCb(
void* usr);
1692 static void doPendingExportWorkCb(
void* usr);
1696 static void doPendingLoadWorkCb(
void* usr);
1700 static void savedScenarioCb(
DtSimMessage* msg,
void* usr);
1704 static void exportScenarioCb(
DtSimMessage* msg,
void* usr);
1708 static void loadedScenarioCb(
DtSimMessage* msg,
void* usr);
1712 static void receiveFileCb(
const DtFilename& filename,
void* usr);
1715 static void receivedMultiPlanCb(
DtSimMessage* msg,
void* usr);
1721 static void objectCreatedCb(
DtSimMessage* msg,
void* usr);
1724 static void receivedPlanCb(
DtSimMessage* msg,
void* usr);
1727 static void receivedPlanStmtCb(
DtSimMessage* msg,
void* usr);
1731 static void overlayObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1733 virtual void processOverlayObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1738 static void indirectArtilleryObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1740 virtual void processIndirectArtilleryObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1744 static void resourcesProcessedCb(
DtSimMessage* msg,
void* usr);
1751 static void spatialSubdivisionConfigurationCb(
DtSimMessage* msg,
void* usr);
1755 virtual void processSpatialSubdivisionConfigurationCb(
1760 static void commentInteractionCallback(DtCommentInteraction *inter,
void* usr);
1764 virtual void processCommentInteraction(DtCommentInteraction* inter);
1774 virtual void onInit();
1775 virtual void resetStateData();
1776 virtual void emptyLists();
1779 virtual void sendAggregateAsMsg(
1780 const DtSimulationAddress& addr,
1781 unsigned int requestId,
1782 const DtObjectType& objectType,
1786 DtList* entityNames,
1787 DtAggregateState initialAggregateState)
const;
1794 virtual void sendQuerySpatialSubdivisionConfigurationRequest(
1795 const DtSimulationAddress& backendAddress,
1805 virtual bool arbitrarySimAddress(DtSimulationAddress& address)
const;
1814 virtual bool addStatementsAndSendPlan(
const DtPlan& plan,
DtIfPlan& planMsg,
1815 const DtSimulationAddress& addr = DtSimSendToAll,
1816 int *retiStatus = 0,
DtString* retsStmt = 0)
const;
1820 static void deliverRadioMessageCallback(
DtSimMessage* msg,
void* usr);
1828 static void globalEnvironmentCreatedCb(
const DtString& name,
const DtEntityIdentifier&
id,
void* usr);
1829 virtual void processGlobalEnvironmentCreated(
const DtString& name,
const DtEntityIdentifier&
id);
1837 virtual bool newScenario(
1838 const DtFilename& dbname,
1839 const DtFilename& guidbname,
1840 const DtFilename& opdname,
1841 const DtFilename& physicalWorldName,
1842 const std::vector<DtString>& simulationModelSetFiles,
1844 time_t startTimeOfDay = 12 * 3600,
1878 typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
1882 typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
1989 virtual int color()
const;
1990 virtual const DtString& attachTo()
const;
1991 virtual void userData(
char** data,
int* userDataSize);