15 #ifndef vrfController_H_
16 #define vrfController_H_
18 #include <vrfExtProtocol/objType.h>
27 #include <vrfExtProtocol/objTypeEnums.h>
42 #include <vl/commentInter.h>
43 #include <vl/exerciseConn.h>
44 #include <vl/hostStructs.h>
45 #include <vlpi/disEnums.h>
46 #include <vlpi/appearance.h>
47 #include <vlutil/vlHashlist.h>
64 class DtReflectedEnvironmentProcessList;
80 (
const DtSimulationAddress& addr,
DtSaveResult result,
void * usr);
86 (
const DtString& name,
const DtEntityIdentifier& id,
void* usr);
92 (
const DtString& name,
const DtEntityIdentifier& id,
96 (
const DtEntityIdentifier& id,
int notifyLevel,
const DtString& message,
100 (
const DtSimulationAddress& id,
int notifyLevel,
const DtString& message,
206 virtual void init(DtExerciseConn* exConn,
207 DtReflectedEnvironmentProcessList* rel = NULL);
209 DtReflectedEnvironmentProcessList* rel = NULL);
218 virtual const DtSimulationAddress& simulationAddress()
const;
219 virtual int sessionId()
const;
223 virtual double simTime(
const DtSimulationAddress* a = NULL)
const;
226 virtual const DtList& backends()
const;
230 virtual const DtList& pendingBackends()
const;
236 virtual void addBackendDiscoveryCallback(
238 virtual void removeBackendDiscoveryCallback(
242 virtual void addBackendRemovalCallback(
244 virtual void removeBackendRemovalCallback(
250 virtual int backendsControlState()
const;
253 virtual int numberBackendsLoaded()
const;
257 virtual bool allBackendsReady()
const;
260 virtual bool backendLoaded(
const DtSimulationAddress& addr)
const;
265 const DtSimulationAddress& addr = DtSimSendToAll);
277 virtual void requestBackEndSetting(std::string name,
279 const DtSimulationAddress& addr = DtSimSendToAll);
283 virtual void setSpotReportsGloballyEnabled(
bool enabled);
287 virtual void setDRThresholds(
double translation,
double rotation);
290 virtual void setCommModelSettings(
bool useExternalComms);
293 virtual void setRoadDrivingSettings(
bool driveOnLeft);
297 virtual void setAutomaticAggregationDisaggregationEnabled(
bool enabled);
303 virtual void setPublishAggregateFormationRoutes(
bool yesNo);
331 virtual bool loadScenario(
const DtFilename& filename,
334 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
345 virtual bool loadScenario(
const DtScenario& scenario,
348 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>());
354 virtual bool importScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
355 const std::map<std::string, std::string>& importData);
359 virtual bool exportScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
360 const std::map<std::string, std::string>& importData);
365 virtual DtString guiTerrainDatabaseFilename()
const;
366 virtual void setGuiTerrainDatabaseFilename(
DtString db);
376 virtual bool newScenario(
377 const DtFilename& dbname,
378 const DtFilename& guidbname,
379 const DtFilename& opdname = DtFilename::nullFilename(),
380 const DtFilename& physicalWorldName = DtFilename::nullFilename(),
382 int startTimeOfDay = 12 * 3600);
385 virtual bool newScenario(
386 const DtFilename& dbname,
387 const DtFilename& guidbname,
388 const std::vector<DtString>& simulationModelSetFiles,
390 int startTimeOfDay = 12 * 3600);
397 virtual bool sendLoadScenarioMessage(
399 const DtSimulationAddress& addr = DtSimSendToAll)
const;
427 virtual bool saveScenario(
const DtFilename& saveName,
432 virtual void sendSaveScenarioMessage(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
443 virtual void addScenarioSavedCallback(
445 virtual void removeScenarioSavedCallback(
450 virtual void addScenarioExportedCallback(
452 virtual void removeScenarioExportedCallback(
458 virtual void addScenarioSavedCallback(
460 virtual void removeScenarioSavedCallback(
464 virtual void closeScenario(
const DtSimulationAddress& addr = DtSimSendToAll);
468 virtual void run(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
469 virtual void pause(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
470 virtual void rewind(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
471 virtual void exit(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
472 virtual void step(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
483 virtual void setOpdSaveName(
const DtFilename& f);
484 virtual const DtFilename& opdSaveName()
const;
491 virtual void setMaxWaitSaveTime(DtTime t);
492 virtual DtTime maxWaitSaveTime()
const;
499 virtual void setMaxWaitLoadTime(DtTime t);
500 virtual DtTime maxWaitLoadTime()
const;
507 virtual void setOverlayFilename(
const DtFilename& overlay);
508 virtual const DtFilename& overlayFilename()
const;
515 virtual void setHostilityFilename(
const DtFilename& hostilty);
516 virtual const DtFilename& hostilityFilename()
const;
519 virtual void setScenarioExtrasFilename(
const DtFilename& extras);
520 virtual const DtFilename& scenarioExtrasFilename()
const;
526 virtual void setSelectionGroupsFilename(
const DtFilename& sel);
527 virtual const DtFilename& selectionGroupsFilename()
const;
534 virtual void setSymbolMapFilename(
const DtFilename& overlay);
535 virtual const DtFilename& symbolMapFilename()
const;
542 virtual void setCreateMenuFilename(
const DtFilename& overlay);
543 virtual const DtFilename& createMenuFilename()
const;
547 virtual void saveParameterDb(
const DtFilename& filename);
554 virtual void deleteObject(
const DtString& name,
555 const DtSimulationAddress& addr = DtSimSendToAll)
const;
558 virtual void deleteObject(
const DtEntityIdentifier&
id,
559 const DtSimulationAddress& addr = DtSimSendToAll)
const;
571 virtual void createWaypoint(
573 const DtString& uniqueName = DtString::nullString(),
574 const DtString& label = DtString::nullString(),
575 const DtSimulationAddress& addr = DtSimSendToAll)
const;
580 virtual void createWaypoint(
583 const DtString& uniqueName = DtString::nullString(),
584 const DtString& label = DtString::nullString(),
585 const DtSimulationAddress& addr = DtSimSendToAll);
588 virtual void modifyWaypoint(
589 const DtEntityIdentifier& uniqueId,
593 const DtSimulationAddress& addr = DtSimSendToAll)
const;
601 virtual void createRoute(
602 const DtList& vertices,
603 const DtString& uniqueName = DtString::nullString(),
604 const DtString& label = DtString::nullString(),
605 const DtSimulationAddress& addr = DtSimSendToAll)
const;
610 virtual void createRoute(
612 const DtList& vertices,
613 const DtString& uniqueName = DtString::nullString(),
614 const DtString& label = DtString::nullString(),
615 const DtSimulationAddress& addr = DtSimSendToAll) ;
618 virtual void modifyRoute(
619 const DtEntityIdentifier& uniqueId,
622 DtList* vertices = 0,
623 const DtSimulationAddress& addr = DtSimSendToAll)
const;
631 virtual void createPhaseLine(
634 const DtString& uniqueName = DtString::nullString(),
635 const DtString& label = DtString::nullString(),
636 const DtSimulationAddress& addr = DtSimSendToAll)
const;
641 virtual void createPhaseLine(
645 const DtString& uniqueName = DtString::nullString(),
646 const DtString& label = DtString::nullString(),
647 const DtSimulationAddress& addr = DtSimSendToAll) ;
650 virtual void modifyPhaseLine(
651 const DtEntityIdentifier& uniqueId,
656 const DtSimulationAddress& addr = DtSimSendToAll)
const;
665 virtual void createControlArea(
666 const DtList& vertices,
667 const DtString& uniqueName = DtString::nullString(),
668 const DtString& label = DtString::nullString(),
669 const DtSimulationAddress& addr = DtSimSendToAll)
const;
674 virtual void createControlArea(
676 const DtList& vertices,
677 const DtString& uniqueName = DtString::nullString(),
678 const DtString& label = DtString::nullString(),
679 const DtSimulationAddress& addr = DtSimSendToAll) ;
682 virtual void modifyControlArea(
683 const DtEntityIdentifier& uniqueId,
686 DtList* newVertices = 0,
687 const DtSimulationAddress& addr = DtSimSendToAll)
const;
696 virtual void createObstacle(
697 const DtList& vertices,
698 const DtString& uniqueName = DtString::nullString(),
699 const DtString& label = DtString::nullString(),
700 const DtSimulationAddress& addr = DtSimSendToAll)
const;
705 virtual void createObstacle(
707 const DtList& vertices,
708 const DtString& uniqueName = DtString::nullString(),
709 const DtString& label = DtString::nullString(),
710 const DtSimulationAddress& addr = DtSimSendToAll) ;
713 virtual void modifyObstacle(
714 const DtEntityIdentifier& uniqueId,
717 DtList* newVertices = 0,
718 const DtSimulationAddress& addr = DtSimSendToAll)
const;
728 virtual void createDisaggregationArea(
729 const DtList& vertices,
730 const DtString& uniqueName = DtString::nullString(),
731 const DtString& label = DtString::nullString(),
732 const DtSimulationAddress& addr = DtSimSendToAll)
const;
738 virtual void createDisaggregationArea(
740 const DtList& vertices,
741 const DtString& uniqueName = DtString::nullString(),
742 const DtString& label = DtString::nullString(),
743 const DtSimulationAddress& addr = DtSimSendToAll) ;
746 virtual void modifyDisaggregationArea(
747 const DtEntityIdentifier& uniqueId,
750 DtList* newVertices = 0,
751 const DtSimulationAddress& addr = DtSimSendToAll)
const;
766 virtual void createOverlayObject(
767 const DtEntityType& type,
768 const DtList& vertices,
769 const DtForceType& force,
776 const DtAppearance& appearance = DtAppearance::nullAppearance(),
781 const DtSimulationAddress& addr = DtSimSendToAll,
782 unsigned int rId = 0);
784 virtual void createIndirectArtillery(
786 const DtSimulationAddress& addr);
792 virtual void createObject(
793 const DtEntityType& type,
797 const DtSimulationAddress& addr);
800 virtual void createEntity(
801 const DtEntityType& type,
805 const DtString& uniqueName = DtString::nullString(),
806 const DtString& label = DtString::nullString(),
807 const DtSimulationAddress& addr = DtSimSendToAll,
808 bool groundClamp =
true)
const;
813 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);
824 virtual void createAggregate(
826 const DtEntityType& type,
831 const DtString& label = DtString::nullString(),
832 const DtSimulationAddress& addr = DtSimSendToAll,
833 DtAggregateState initialAggregateState = DtDisaggregated);
836 virtual void createAggregate(
837 const DtEntityType& type,
841 DtList* entityNames = 0,
842 const DtSimulationAddress& addr = DtSimSendToAll,
843 DtAggregateState initialAggregateState = DtDisaggregated,
844 unsigned int requestId = 0)
const;
849 virtual void createAggregate(
851 const DtEntityType& type,
855 DtList* entityNames = 0,
856 const DtSimulationAddress& addr = DtSimSendToAll,
857 DtAggregateState initialAggregateState = DtDisaggregated) ;
861 virtual void addToOrganization(
862 const DtEntityIdentifier& objectId,
863 const DtEntityIdentifier& newSuperiorId,
864 const DtSimulationAddress& addr = DtSimSendToAll);
869 virtual void addToForceLevelOrganization(
870 const DtEntityIdentifier& orjectId,
871 const DtSimulationAddress& addr = DtSimSendToAll);
875 virtual void removeFromOrganization(
876 const DtEntityIdentifier& objectId,
877 const DtSimulationAddress& addr = DtSimSendToAll);
886 virtual void setLabel(
887 const DtEntityIdentifier&
id,
const DtString& label,
888 const DtSimulationAddress& addr = DtSimSendToAll)
const;
891 virtual void setOverlayParent(
892 const DtEntityIdentifier&
id,
const DtString& label,
893 const DtSimulationAddress& addr = DtSimSendToAll)
const;
896 virtual void setAltitude(
897 const DtString& name,
double altitude,
898 const DtSimulationAddress& addr = DtSimSendToAll)
const;
901 virtual void setLocation(
903 const DtSimulationAddress& addr = DtSimSendToAll)
const;
906 virtual void setAppearance(
907 const DtString& name,
int appearance,
908 const DtSimulationAddress& addr = DtSimSendToAll)
const;
911 virtual void setCapabilities(
912 const DtString& name,
int capabilities,
913 const DtSimulationAddress& addr = DtSimSendToAll)
const;
916 virtual void setHeading(
917 const DtString& name,
double degrees,
918 const DtSimulationAddress& addr = DtSimSendToAll)
const;
921 virtual void setForce(
922 const DtString& name, DtForceType force,
923 const DtSimulationAddress& addr = DtSimSendToAll)
const;
928 virtual void requestSpotReports(
const DtString& name,
bool onOff,
929 const DtSimulationAddress& addr = DtSimSendToAll)
const;
934 virtual void setResource(
const DtString& name,
935 const char* resourceType,
double value,
936 const DtSimulationAddress& addr = DtSimSendToAll)
const;
941 virtual void setRulesOfEngagement(
942 const DtString& name,
const char* rulesType,
943 const DtSimulationAddress& addr = DtSimSendToAll)
const;
946 virtual void setSectorOfResponsibility(
947 const DtString& name,
double center,
double size,
948 const DtSimulationAddress& addr = DtSimSendToAll)
const;
951 virtual void setSpeed(
953 const DtSimulationAddress& addr = DtSimSendToAll)
const;
956 virtual void setTarget(
958 const DtSimulationAddress& addr = DtSimSendToAll)
const;
961 virtual void setTaskedBySuperior(
const DtString& name,
962 const DtSimulationAddress& addr = DtSimSendToAll)
const;
965 virtual void setConcealed(
const DtString& name,
966 bool yes,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
969 virtual void setEmitter(
const DtString& name,
970 int emitterId,
bool on,
971 const DtSimulationAddress& addr = DtSimSendToAll)
const;
974 virtual void setIff(
const DtString& name,
975 bool mode1on,
int mode1code,
976 bool mode2on,
int mode2code,
977 bool mode3on,
int mode3code,
978 bool mode4on,
int mode4code,
979 DtIffAtcNavaidsAltParm4 altParm4,
980 bool mode5on,
bool useAltMode5,
981 bool modeSon,
bool emergency,
982 bool flash,
bool sti,
bool modeSTcasI,
983 const DtSimulationAddress& addr = DtSimSendToAll)
const;
986 virtual void restore(
const DtString& name,
987 const DtSimulationAddress& addr = DtSimSendToAll)
const;
991 virtual void setDestroyed(
const DtString& name,
992 const DtSimulationAddress& addr = DtSimSendToAll)
const;
997 virtual void setLifeformWeaponState(
998 const DtString& name, DtWeaponState weapon,
999 const DtSimulationAddress& addr)
const;
1004 virtual void setLifeformPosture(
1005 const DtString& name, DtLifeformState posture,
1006 const DtSimulationAddress& addr)
const;
1010 virtual void setAggregateFormation(
1012 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1017 virtual void reorganizeAggregate(
const DtString& leader,
1018 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1023 virtual void disaggregateEntity(
const DtString& entity,
1024 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1029 virtual void aggregateEntity(
const DtString& entity,
1030 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1034 virtual void sendSetDataMsg(
1036 const DtSimulationAddress& addr)
const;
1048 virtual void sendVrfObjectCreateMsg(
1049 const DtSimulationAddress& addr,
1050 unsigned int requestId,
1052 const DtObjectType& type,
1053 const DtList& vertices,
1055 const DtAppearance& appearance,
1060 bool createSubObjects,
1061 bool clampToGroundFlag =
true,
1062 const DtString& initialFormation = DtString::nullString(),
1063 DtAggregateState initialAggregateState = DtDisaggregated,
1064 const DtString& userData = DtString::nullString(),
1065 std::list<DtAdminContent*>* initialAdminContent = 0,
1066 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0)
const;
1074 virtual void sendVrfObjectModifyMsg(
1075 const DtSimulationAddress& addr,
1076 const DtEntityIdentifier&
id,
1078 DtList* vertices = 0,
1079 DtForceType* force = 0,
1080 DtReal* heading = 0,
1082 DtAppearance* appearance = 0,
1089 virtual void sendVrfOverlayObjectModifyMsg(
1090 const DtSimulationAddress& addr,
1091 const DtEntityIdentifier&
id,
1095 bool keepExistingAttachment =
true,
1099 virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1100 const DtSimulationAddress& addr,
1101 const DtEntityIdentifier&
id,
1110 virtual void moveAlongRoute(
1112 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1116 virtual void moveToWaypoint(
1118 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1123 virtual void moveToLocation(
1125 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1129 virtual void patrolBetweenWaypoints(
1132 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1136 virtual void patrolAlongRoute(
1138 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1145 virtual void followEntity(
1148 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1154 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1158 virtual void waitDuration(
1159 const DtString& name, DtTime duration,
1160 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1164 virtual void waitElapsed(
1165 const DtString& name, DtTime elapsed,
1166 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1171 virtual void sendTaskMsg(
1173 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1177 virtual void abandonPlan(
const DtString& name,
1178 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1181 virtual void skipTask(
const DtString& name,
1182 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1186 virtual void restartPlan(
const DtString& name,
1187 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1196 virtual void assignPlanByName(
1198 const DtSimulationAddress& addr = DtSimSendToAll,
1199 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1202 virtual void assignMultiplePlanByName(
1203 const std::vector<DtString>& entities,
const DtPlan& plan,
1204 const DtSimulationAddress& addr = DtSimSendToAll,
1205 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1211 virtual void requestPlan(
1213 bool addStmtCallback =
true,
1214 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1220 virtual void subscribePlan(
const DtString& name,
1222 const DtSimulationAddress& addr = DtSimSendToAll);
1229 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1231 const DtSimulationAddress& addr = DtSimSendToAll);
1233 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1234 const DtSimulationAddress& addr = DtSimSendToAll);
1238 virtual void unsubscribePlan(
const DtString& name,
1243 virtual void unsubscribeAllPlans();
1249 virtual void addPlanStatementCallback(
const DtString& name,
1254 virtual void removePlanStatementCallback(
const DtString& name,
1259 virtual void removeAllPlanStatementCallbacks();
1265 virtual void addPlanCompleteCallback(
const DtString& name,
1270 virtual void removePlanCompleteCallback(
const DtString& name,
1275 virtual void removeAllPlanCompleteCallbacks();
1280 virtual void requestGlobalPlansList(
const DtSimulationAddress& addr);
1289 virtual void assignGlobalPlan(
1291 const DtSimulationAddress& addr = DtSimSendToAll,
1292 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1295 virtual void deleteGlobalPlan(
const DtString& name,
1296 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1301 virtual void requestGlobalPlan(
1303 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1309 virtual void subscribeGlobalPlan(
const DtString& name,
1311 const DtSimulationAddress& addr = DtSimSendToAll);
1315 virtual void unsubscribeGlobalPlan(
const DtString& name,
1321 virtual void addGlobalPlanStatementCallback(
const DtString& name,
1325 virtual void removeGlobalPlanStatementCallback(
const DtString& name,
1331 virtual void addGlobalPlanCompleteCallback(
const DtString& name,
1335 virtual void removeGlobalPlanCompleteCallback(
const DtString& name,
1351 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1358 virtual void loadedScenario(
1359 const DtSimulationAddress& addr,
unsigned int requestId);
1364 virtual void processSaveMessages();
1369 virtual DtTime scenarioSimTimeForSave();
1374 virtual void setTerrainDatabaseFilename(
DtScenario* scen);
1379 virtual void setParameterDatabaseFilename(
DtScenario* scen);
1384 virtual void setPhysicalWorldFilename(
DtScenario* scen);
1389 virtual void setTimeMultiplier(
DtScenario* scen);
1394 virtual void setAutoReorganize(
DtScenario* scen);
1399 virtual void setRandomNumberSeed(
DtScenario* scen);
1404 virtual void setFrameRateMode(
DtScenario* scen);
1409 virtual void setFrameDeltaTime(
DtScenario* scen);
1414 virtual void setExerciseStartTime(
DtScenario* scen);
1421 virtual bool save();
1435 virtual void completeExport();
1440 virtual void savedScenario(
const DtSimulationAddress& addr,
1445 virtual void doPendingSaveWork();
1449 virtual void doPendingExportWork();
1453 virtual void doPendingLoadWork();
1457 virtual void objectCreated(
unsigned int requestId,
1458 const DtString& name,
const DtEntityIdentifier&
id);
1461 virtual unsigned int generateRequestId()
const;
1465 virtual void receivedPlan(
const DtString& name,
bool isGlobal,
1466 const DtList& statements);
1473 virtual void receivedPlanStmt(
const DtString& name,
bool isGlobal,
1482 virtual void embarkObject(
const DtSimulationAddress& addr,
const DtString& entity,
const DtString& ontoEntity,
1483 bool loadOverride =
false,
const DtVector& loadOverridePosition = DtVector::zero());
1485 virtual void disembarkObject(
const DtSimulationAddress& addr,
const DtString& entity);
1486 virtual void disembarkAllObjects(
const DtSimulationAddress& addr,
const DtString& entity);
1490 virtual void requestTasksAndSetsFor(
const DtSimulationAddress& addr,
1494 virtual void requestTasksAndSetsFor(
const std::vector<DtString>& names);
1498 virtual void requestDIGuyAppearancesAndAnimations(
const DtSimulationAddress& addr,
1502 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtString>& names);
1525 virtual void setRotationThreshold(DtReal thresh);
1528 virtual void setTranslationThreshold(DtReal thresh);
1534 virtual void setAggDimensionThreshold(DtReal thresh);
1537 virtual void setHostInetAddr(DtInetAddr);
1538 virtual DtInetAddr hostInetAddr()
const;
1542 virtual void querySpatialSubdivisionConfiguration(
1543 const DtSimulationAddress& backendAddress,
1548 virtual void setSpatialSubdivsionConfiguration(
1549 const DtSimulationAddress& backendAddress,
1551 const int spatialSubdivisionXResolution,
1552 const int spatialSubdivisionYResolution,
1553 const int spatialSubdivisionZResolution);
1556 virtual void requestIndirectArtilleryInformation(
const DtString&);
1569 virtual void requestResources(
const DtString& name = DtString::nullString(),
1570 const std::list<DtString>* list = 0,
1579 virtual void addObjectConsoleMessageCallback(
1582 virtual void removeObjectConsoleMessageCallback(
1588 virtual void setObjectNotifyLevel(
const DtString& objectName,
1589 DtNotifyLevelType notifyLevel,
const DtSimulationAddress& addr = DtSimSendToAll);
1594 virtual void logObjectConsoleToFile(
const DtString& objectName,
1595 const DtFilename filename);
1599 virtual void stopLoggingObjectConsoleToFile(
const DtString& objectName);
1607 virtual void addBackendConsoleMessageCallback(
1610 virtual void removeBackendConsoleMessageCallback(
1618 virtual void requestResourceNames(
const std::list<DtString>& list,
1640 virtual void initializeGlobalEnvironment(
1641 const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
1651 static void doPendingSaveWorkCb(
void* usr);
1655 static void doPendingExportWorkCb(
void* usr);
1659 static void doPendingLoadWorkCb(
void* usr);
1663 static void savedScenarioCb(
DtSimMessage* msg,
void* usr);
1667 static void exportScenarioCb(
DtSimMessage* msg,
void* usr);
1671 static void loadedScenarioCb(
DtSimMessage* msg,
void* usr);
1675 static void receiveFileCb(
const DtFilename& filename,
void* usr);
1678 static void receivedMultiPlanCb(
DtSimMessage* msg,
void* usr);
1684 static void objectCreatedCb(
DtSimMessage* msg,
void* usr);
1687 static void receivedPlanCb(
DtSimMessage* msg,
void* usr);
1690 static void receivedPlanStmtCb(
DtSimMessage* msg,
void* usr);
1694 static void overlayObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1696 virtual void processOverlayObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1701 static void indirectArtilleryObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1703 virtual void processIndirectArtilleryObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1707 static void resourcesProcessedCb(
DtSimMessage* msg,
void* usr);
1714 static void spatialSubdivisionConfigurationCb(
DtSimMessage* msg,
void* usr);
1718 virtual void processSpatialSubdivisionConfigurationCb(
1723 static void commentInteractionCallback(DtCommentInteraction *inter,
void* usr);
1727 virtual void processCommentInteraction(DtCommentInteraction* inter);
1734 virtual void onInit();
1735 virtual void resetStateData();
1736 virtual void emptyLists();
1739 virtual void sendAggregateAsMsg(
1740 const DtSimulationAddress& addr,
1741 unsigned int requestId,
1742 const DtObjectType& objectType,
1746 DtList* entityNames,
1747 DtAggregateState initialAggregateState)
const;
1754 virtual void sendQuerySpatialSubdivisionConfigurationRequest(
1755 const DtSimulationAddress& backendAddress,
1765 virtual bool arbitrarySimAddress(DtSimulationAddress& address)
const;
1774 virtual bool addStatementsAndSendPlan(
const DtPlan& plan,
DtIfPlan& planMsg,
1775 const DtSimulationAddress& addr = DtSimSendToAll,
1776 int *retiStatus = 0,
DtString* retsStmt = 0)
const;
1780 static void deliverRadioMessageCallback(
DtSimMessage* msg,
void* usr);
1788 static void globalEnvironmentCreatedCb(
const DtString& name,
const DtEntityIdentifier&
id,
void* usr);
1789 virtual void processGlobalEnvironmentCreated(
const DtString& name,
const DtEntityIdentifier&
id);
1797 virtual bool newScenario(
1798 const DtFilename& dbname,
1799 const DtFilename& guidbname,
1800 const DtFilename& opdname,
1801 const DtFilename& physicalWorldName,
1802 const std::vector<DtString>& simulationModelSetFiles,
1804 int startTimeOfDay = 12 * 3600);
1837 typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
1841 typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
1946 virtual int color()
const;
1947 virtual const DtString& parentName()
const;
1948 virtual const DtString& attachTo()
const;
1949 virtual void userData(
char** data,
int* userDataSize);