15 #ifndef vrfController_H_
16 #define vrfController_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>
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,
203 virtual void init(DtExerciseConn* exConn,
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 setDRThresholds(
double translation,
double rotation);
287 virtual void setCommModelSettings(
bool useExternalComms);
290 virtual void setRoadDrivingSettings(
bool driveOnLeft);
294 virtual void setAutomaticAggregationDisaggregationEnabled(
bool enabled);
300 virtual void setPublishAggregateFormationRoutes(
bool yesNo);
328 virtual bool loadScenario(
const DtFilename& filename,
331 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
342 virtual bool loadScenario(
const DtScenario& scenario,
345 const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>());
351 virtual bool importScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
352 const std::map<std::string, std::string>& importData);
356 virtual bool exportScenarioDescriptionFile(
const DtFilename& file, DtSimulationAddress,
const DtString& format,
357 const std::map<std::string, std::string>& importData);
362 virtual DtString guiTerrainDatabaseFilename()
const;
363 virtual void setGuiTerrainDatabaseFilename(
DtString db);
373 virtual bool newScenario(
374 const DtFilename& dbname,
375 const DtFilename& guidbname,
376 const DtFilename& opdname = DtFilename::nullFilename(),
377 const DtFilename& physicalWorldName = DtFilename::nullFilename(),
379 int startTimeOfDay = 12 * 3600);
382 virtual bool newScenario(
383 const DtFilename& dbname,
384 const DtFilename& guidbname,
385 const std::vector<DtString>& simulationModelSetFiles,
387 int startTimeOfDay = 12 * 3600);
394 virtual bool sendLoadScenarioMessage(
396 const DtSimulationAddress& addr = DtSimSendToAll)
const;
424 virtual bool saveScenario(
const DtFilename& saveName,
429 virtual void sendSaveScenarioMessage(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
440 virtual void addScenarioSavedCallback(
442 virtual void removeScenarioSavedCallback(
447 virtual void addScenarioExportedCallback(
449 virtual void removeScenarioExportedCallback(
455 virtual void addScenarioSavedCallback(
457 virtual void removeScenarioSavedCallback(
461 virtual void closeScenario(
const DtSimulationAddress& addr = DtSimSendToAll);
465 virtual void run(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
466 virtual void pause(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
467 virtual void rewind(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
468 virtual void exit(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
469 virtual void step(
const DtSimulationAddress& addr = DtSimSendToAll)
const;
480 virtual void setOpdSaveName(
const DtFilename& f);
481 virtual const DtFilename& opdSaveName()
const;
488 virtual void setMaxWaitSaveTime(DtTime t);
489 virtual DtTime maxWaitSaveTime()
const;
496 virtual void setMaxWaitLoadTime(DtTime t);
497 virtual DtTime maxWaitLoadTime()
const;
504 virtual void setOverlayFilename(
const DtFilename& overlay);
505 virtual const DtFilename& overlayFilename()
const;
512 virtual void setHostilityFilename(
const DtFilename& hostilty);
513 virtual const DtFilename& hostilityFilename()
const;
516 virtual void setScenarioExtrasFilename(
const DtFilename& extras);
517 virtual const DtFilename& scenarioExtrasFilename()
const;
523 virtual void setSelectionGroupsFilename(
const DtFilename& sel);
524 virtual const DtFilename& selectionGroupsFilename()
const;
531 virtual void setSymbolMapFilename(
const DtFilename& overlay);
532 virtual const DtFilename& symbolMapFilename()
const;
539 virtual void setCreateMenuFilename(
const DtFilename& overlay);
540 virtual const DtFilename& createMenuFilename()
const;
544 virtual void saveParameterDb(
const DtFilename& filename);
551 virtual void deleteObject(
const DtString& name,
552 const DtSimulationAddress& addr = DtSimSendToAll)
const;
555 virtual void deleteObject(
const DtEntityIdentifier&
id,
556 const DtSimulationAddress& addr = DtSimSendToAll)
const;
568 virtual void createWaypoint(
570 const DtString& uniqueName = DtString::nullString(),
571 const DtString& label = DtString::nullString(),
572 const DtSimulationAddress& addr = DtSimSendToAll)
const;
577 virtual void createWaypoint(
580 const DtString& uniqueName = DtString::nullString(),
581 const DtString& label = DtString::nullString(),
582 const DtSimulationAddress& addr = DtSimSendToAll);
585 virtual void modifyWaypoint(
586 const DtEntityIdentifier& uniqueId,
590 const DtSimulationAddress& addr = DtSimSendToAll)
const;
598 virtual void createRoute(
599 const DtList& vertices,
600 const DtString& uniqueName = DtString::nullString(),
601 const DtString& label = DtString::nullString(),
602 const DtSimulationAddress& addr = DtSimSendToAll)
const;
607 virtual void createRoute(
609 const DtList& vertices,
610 const DtString& uniqueName = DtString::nullString(),
611 const DtString& label = DtString::nullString(),
612 const DtSimulationAddress& addr = DtSimSendToAll) ;
615 virtual void modifyRoute(
616 const DtEntityIdentifier& uniqueId,
619 DtList* vertices = 0,
620 const DtSimulationAddress& addr = DtSimSendToAll)
const;
628 virtual void createPhaseLine(
631 const DtString& uniqueName = DtString::nullString(),
632 const DtString& label = DtString::nullString(),
633 const DtSimulationAddress& addr = DtSimSendToAll)
const;
638 virtual void createPhaseLine(
642 const DtString& uniqueName = DtString::nullString(),
643 const DtString& label = DtString::nullString(),
644 const DtSimulationAddress& addr = DtSimSendToAll) ;
647 virtual void modifyPhaseLine(
648 const DtEntityIdentifier& uniqueId,
653 const DtSimulationAddress& addr = DtSimSendToAll)
const;
662 virtual void createControlArea(
663 const DtList& vertices,
664 const DtString& uniqueName = DtString::nullString(),
665 const DtString& label = DtString::nullString(),
666 const DtSimulationAddress& addr = DtSimSendToAll)
const;
671 virtual void createControlArea(
673 const DtList& vertices,
674 const DtString& uniqueName = DtString::nullString(),
675 const DtString& label = DtString::nullString(),
676 const DtSimulationAddress& addr = DtSimSendToAll) ;
679 virtual void modifyControlArea(
680 const DtEntityIdentifier& uniqueId,
683 DtList* newVertices = 0,
684 const DtSimulationAddress& addr = DtSimSendToAll)
const;
693 virtual void createObstacle(
694 const DtList& vertices,
695 const DtString& uniqueName = DtString::nullString(),
696 const DtString& label = DtString::nullString(),
697 const DtSimulationAddress& addr = DtSimSendToAll)
const;
702 virtual void createObstacle(
704 const DtList& vertices,
705 const DtString& uniqueName = DtString::nullString(),
706 const DtString& label = DtString::nullString(),
707 const DtSimulationAddress& addr = DtSimSendToAll) ;
710 virtual void modifyObstacle(
711 const DtEntityIdentifier& uniqueId,
714 DtList* newVertices = 0,
715 const DtSimulationAddress& addr = DtSimSendToAll)
const;
725 virtual void createDisaggregationArea(
726 const DtList& vertices,
727 const DtString& uniqueName = DtString::nullString(),
728 const DtString& label = DtString::nullString(),
729 const DtSimulationAddress& addr = DtSimSendToAll)
const;
735 virtual void createDisaggregationArea(
737 const DtList& vertices,
738 const DtString& uniqueName = DtString::nullString(),
739 const DtString& label = DtString::nullString(),
740 const DtSimulationAddress& addr = DtSimSendToAll) ;
743 virtual void modifyDisaggregationArea(
744 const DtEntityIdentifier& uniqueId,
747 DtList* newVertices = 0,
748 const DtSimulationAddress& addr = DtSimSendToAll)
const;
763 virtual void createOverlayObject(
764 const DtEntityType& type,
765 const DtList& vertices,
766 const DtForceType& force,
773 const DtAppearance& appearance = DtAppearance::nullAppearance(),
778 const DtSimulationAddress& addr = DtSimSendToAll,
779 unsigned int rId = 0);
781 virtual void createIndirectArtillery(
783 const DtSimulationAddress& addr);
789 virtual void createObject(
790 const DtEntityType& type,
794 const DtSimulationAddress& addr);
797 virtual void createEntity(
798 const DtEntityType& type,
802 const DtString& uniqueName = DtString::nullString(),
803 const DtString& label = DtString::nullString(),
804 const DtSimulationAddress& addr = DtSimSendToAll,
805 bool groundClamp =
true)
const;
810 virtual void createEntity(
812 const DtEntityType& type,
816 const DtString& uniqueName = DtString::nullString(),
817 const DtString& label = DtString::nullString(),
818 const DtSimulationAddress& addr = DtSimSendToAll,
819 bool groundClamp =
true);
821 virtual void createAggregate(
823 const DtEntityType& type,
828 const DtString& label = DtString::nullString(),
829 const DtSimulationAddress& addr = DtSimSendToAll,
830 DtAggregateState initialAggregateState = DtDisaggregated);
833 virtual void createAggregate(
834 const DtEntityType& type,
838 DtList* entityNames = 0,
839 const DtSimulationAddress& addr = DtSimSendToAll,
840 DtAggregateState initialAggregateState = DtDisaggregated,
841 unsigned int requestId = 0)
const;
846 virtual void createAggregate(
848 const DtEntityType& type,
852 DtList* entityNames = 0,
853 const DtSimulationAddress& addr = DtSimSendToAll,
854 DtAggregateState initialAggregateState = DtDisaggregated) ;
858 virtual void addToOrganization(
859 const DtEntityIdentifier& objectId,
860 const DtEntityIdentifier& newSuperiorId,
861 const DtSimulationAddress& addr = DtSimSendToAll);
866 virtual void addToForceLevelOrganization(
867 const DtEntityIdentifier& orjectId,
868 const DtSimulationAddress& addr = DtSimSendToAll);
872 virtual void removeFromOrganization(
873 const DtEntityIdentifier& objectId,
874 const DtSimulationAddress& addr = DtSimSendToAll);
883 virtual void setLabel(
884 const DtEntityIdentifier&
id,
const DtString& label,
885 const DtSimulationAddress& addr = DtSimSendToAll)
const;
888 virtual void setOverlayParent(
889 const DtEntityIdentifier&
id,
const DtString& label,
890 const DtSimulationAddress& addr = DtSimSendToAll)
const;
893 virtual void setAltitude(
894 const DtString& name,
double altitude,
895 const DtSimulationAddress& addr = DtSimSendToAll)
const;
898 virtual void setLocation(
900 const DtSimulationAddress& addr = DtSimSendToAll)
const;
903 virtual void setAppearance(
904 const DtString& name,
int appearance,
905 const DtSimulationAddress& addr = DtSimSendToAll)
const;
908 virtual void setCapabilities(
909 const DtString& name,
int capabilities,
910 const DtSimulationAddress& addr = DtSimSendToAll)
const;
913 virtual void setHeading(
914 const DtString& name,
double degrees,
915 const DtSimulationAddress& addr = DtSimSendToAll)
const;
918 virtual void setForce(
919 const DtString& name, DtForceType force,
920 const DtSimulationAddress& addr = DtSimSendToAll)
const;
925 virtual void requestSpotReports(
const DtString& name,
bool onOff,
926 const DtSimulationAddress& addr = DtSimSendToAll)
const;
931 virtual void setResource(
const DtString& name,
932 const char* resourceType,
double value,
933 const DtSimulationAddress& addr = DtSimSendToAll)
const;
938 virtual void setRulesOfEngagement(
939 const DtString& name,
const char* rulesType,
940 const DtSimulationAddress& addr = DtSimSendToAll)
const;
943 virtual void setSectorOfResponsibility(
944 const DtString& name,
double center,
double size,
945 const DtSimulationAddress& addr = DtSimSendToAll)
const;
948 virtual void setSpeed(
950 const DtSimulationAddress& addr = DtSimSendToAll)
const;
953 virtual void setTarget(
955 const DtSimulationAddress& addr = DtSimSendToAll)
const;
958 virtual void setTaskedBySuperior(
const DtString& name,
959 const DtSimulationAddress& addr = DtSimSendToAll)
const;
962 virtual void setConcealed(
const DtString& name,
963 bool yes,
const DtSimulationAddress& addr = DtSimSendToAll)
const;
966 virtual void setEmitter(
const DtString& name,
967 int emitterId,
bool on,
968 const DtSimulationAddress& addr = DtSimSendToAll)
const;
971 virtual void setIff(
const DtString& name,
972 bool mode1on,
int mode1code,
973 bool mode2on,
int mode2code,
974 bool mode3on,
int mode3code,
975 bool mode4on,
int mode4code,
976 DtIffAtcNavaidsAltParm4 altParm4,
977 bool mode5on,
bool useAltMode5,
978 bool modeSon,
bool emergency,
979 bool flash,
bool sti,
bool modeSTcasI,
980 const DtSimulationAddress& addr = DtSimSendToAll)
const;
983 virtual void restore(
const DtString& name,
984 const DtSimulationAddress& addr = DtSimSendToAll)
const;
988 virtual void setDestroyed(
const DtString& name,
989 const DtSimulationAddress& addr = DtSimSendToAll)
const;
994 virtual void setLifeformWeaponState(
995 const DtString& name, DtWeaponState weapon,
996 const DtSimulationAddress& addr)
const;
1001 virtual void setLifeformPosture(
1002 const DtString& name, DtLifeformState posture,
1003 const DtSimulationAddress& addr)
const;
1007 virtual void setAggregateFormation(
1009 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1014 virtual void reorganizeAggregate(
const DtString& leader,
1015 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1020 virtual void disaggregateEntity(
const DtString& entity,
1021 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1026 virtual void aggregateEntity(
const DtString& entity,
1027 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1031 virtual void sendSetDataMsg(
1033 const DtSimulationAddress& addr)
const;
1045 virtual void sendVrfObjectCreateMsg(
1046 const DtSimulationAddress& addr,
1047 unsigned int requestId,
1050 const DtList& vertices,
1052 const DtAppearance& appearance,
1057 bool createSubObjects,
1058 bool clampToGroundFlag =
true,
1059 const DtString& initialFormation = DtString::nullString(),
1060 DtAggregateState initialAggregateState = DtDisaggregated,
1061 const DtString& userData = DtString::nullString(),
1062 std::list<DtAdminContent*>* initialAdminContent = 0,
1063 std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0)
const;
1071 virtual void sendVrfObjectModifyMsg(
1072 const DtSimulationAddress& addr,
1073 const DtEntityIdentifier&
id,
1075 DtList* vertices = 0,
1076 DtForceType* force = 0,
1077 DtReal* heading = 0,
1079 DtAppearance* appearance = 0,
1086 virtual void sendVrfOverlayObjectModifyMsg(
1087 const DtSimulationAddress& addr,
1088 const DtEntityIdentifier&
id,
1092 bool keepExistingAttachment =
true,
1096 virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1097 const DtSimulationAddress& addr,
1098 const DtEntityIdentifier&
id,
1107 virtual void moveAlongRoute(
1109 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1113 virtual void moveToWaypoint(
1115 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1120 virtual void moveToLocation(
1122 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1126 virtual void patrolBetweenWaypoints(
1129 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1133 virtual void patrolAlongRoute(
1135 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1142 virtual void followEntity(
1145 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1151 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1155 virtual void waitDuration(
1156 const DtString& name, DtTime duration,
1157 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1161 virtual void waitElapsed(
1162 const DtString& name, DtTime elapsed,
1163 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1168 virtual void sendTaskMsg(
1170 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1174 virtual void abandonPlan(
const DtString& name,
1175 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1178 virtual void skipTask(
const DtString& name,
1179 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1183 virtual void restartPlan(
const DtString& name,
1184 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1193 virtual void assignPlanByName(
1195 const DtSimulationAddress& addr = DtSimSendToAll,
1196 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1199 virtual void assignMultiplePlanByName(
1200 const std::vector<DtString>& entities,
const DtPlan& plan,
1201 const DtSimulationAddress& addr = DtSimSendToAll,
1202 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1208 virtual void requestPlan(
1210 bool addStmtCallback =
true,
1211 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1217 virtual void subscribePlan(
const DtString& name,
1219 const DtSimulationAddress& addr = DtSimSendToAll);
1226 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1228 const DtSimulationAddress& addr = DtSimSendToAll);
1230 virtual void requestMultiplePlan(
const std::vector<DtString>& entities,
1231 const DtSimulationAddress& addr = DtSimSendToAll);
1235 virtual void unsubscribePlan(
const DtString& name,
1240 virtual void unsubscribeAllPlans();
1246 virtual void addPlanStatementCallback(
const DtString& name,
1251 virtual void removePlanStatementCallback(
const DtString& name,
1256 virtual void removeAllPlanStatementCallbacks();
1262 virtual void addPlanCompleteCallback(
const DtString& name,
1267 virtual void removePlanCompleteCallback(
const DtString& name,
1272 virtual void removeAllPlanCompleteCallbacks();
1277 virtual void requestGlobalPlansList(
const DtSimulationAddress& addr);
1286 virtual void assignGlobalPlan(
1288 const DtSimulationAddress& addr = DtSimSendToAll,
1289 int *retiStatus = NULL,
DtString* retsStmt = NULL)
const;
1292 virtual void deleteGlobalPlan(
const DtString& name,
1293 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1298 virtual void requestGlobalPlan(
1300 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1306 virtual void subscribeGlobalPlan(
const DtString& name,
1308 const DtSimulationAddress& addr = DtSimSendToAll);
1312 virtual void unsubscribeGlobalPlan(
const DtString& name,
1318 virtual void addGlobalPlanStatementCallback(
const DtString& name,
1322 virtual void removeGlobalPlanStatementCallback(
const DtString& name,
1328 virtual void addGlobalPlanCompleteCallback(
const DtString& name,
1332 virtual void removeGlobalPlanCompleteCallback(
const DtString& name,
1348 const DtSimulationAddress& addr = DtSimSendToAll)
const;
1355 virtual void loadedScenario(
1356 const DtSimulationAddress& addr,
unsigned int requestId);
1361 virtual void processSaveMessages();
1366 virtual DtTime scenarioSimTimeForSave();
1371 virtual void setTerrainDatabaseFilename(
DtScenario* scen);
1376 virtual void setParameterDatabaseFilename(
DtScenario* scen);
1381 virtual void setPhysicalWorldFilename(
DtScenario* scen);
1386 virtual void setTimeMultiplier(
DtScenario* scen);
1391 virtual void setAutoReorganize(
DtScenario* scen);
1396 virtual void setRandomNumberSeed(
DtScenario* scen);
1401 virtual void setFrameRateMode(
DtScenario* scen);
1406 virtual void setFrameDeltaTime(
DtScenario* scen);
1411 virtual void setExerciseStartTime(
DtScenario* scen);
1418 virtual bool save();
1432 virtual void completeExport();
1437 virtual void savedScenario(
const DtSimulationAddress& addr,
1442 virtual void doPendingSaveWork();
1446 virtual void doPendingExportWork();
1450 virtual void doPendingLoadWork();
1454 virtual void objectCreated(
unsigned int requestId,
1455 const DtString& name,
const DtEntityIdentifier&
id);
1458 virtual unsigned int generateRequestId()
const;
1462 virtual void receivedPlan(
const DtString& name,
bool isGlobal,
1463 const DtList& statements);
1470 virtual void receivedPlanStmt(
const DtString& name,
bool isGlobal,
1479 virtual void embarkObject(
const DtSimulationAddress& addr,
const DtString& entity,
const DtString& ontoEntity,
1480 bool loadOverride =
false,
const DtVector& loadOverridePosition = DtVector::zero());
1482 virtual void disembarkObject(
const DtSimulationAddress& addr,
const DtString& entity);
1483 virtual void disembarkAllObjects(
const DtSimulationAddress& addr,
const DtString& entity);
1487 virtual void requestTasksAndSetsFor(
const DtSimulationAddress& addr,
1491 virtual void requestTasksAndSetsFor(
const std::vector<DtString>& names);
1495 virtual void requestDIGuyAppearancesAndAnimations(
const DtSimulationAddress& addr,
1499 virtual void requestDIGuyAppearancesAndAnimations(
const std::vector<DtString>& names);
1522 virtual void setRotationThreshold(DtReal thresh);
1525 virtual void setTranslationThreshold(DtReal thresh);
1531 virtual void setAggDimensionThreshold(DtReal thresh);
1534 virtual void setHostInetAddr(DtInetAddr);
1535 virtual DtInetAddr hostInetAddr()
const;
1539 virtual void querySpatialSubdivisionConfiguration(
1540 const DtSimulationAddress& backendAddress,
1545 virtual void setSpatialSubdivsionConfiguration(
1546 const DtSimulationAddress& backendAddress,
1548 const int spatialSubdivisionXResolution,
1549 const int spatialSubdivisionYResolution,
1550 const int spatialSubdivisionZResolution);
1553 virtual void requestIndirectArtilleryInformation(
const DtString&);
1566 virtual void requestResources(
const DtString& name = DtString::nullString(),
1567 const std::list<DtString>* list = 0,
1576 virtual void addObjectConsoleMessageCallback(
1579 virtual void removeObjectConsoleMessageCallback(
1585 virtual void setObjectNotifyLevel(
const DtString& objectName,
1586 DtNotifyLevelType notifyLevel,
const DtSimulationAddress& addr = DtSimSendToAll);
1591 virtual void logObjectConsoleToFile(
const DtString& objectName,
1592 const DtFilename filename);
1596 virtual void stopLoggingObjectConsoleToFile(
const DtString& objectName);
1604 virtual void addBackendConsoleMessageCallback(
1607 virtual void removeBackendConsoleMessageCallback(
1615 virtual void requestResourceNames(
const std::list<DtString>& list,
1637 virtual void initializeGlobalEnvironment(
1638 const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
1648 static void doPendingSaveWorkCb(
void* usr);
1652 static void doPendingExportWorkCb(
void* usr);
1656 static void doPendingLoadWorkCb(
void* usr);
1660 static void savedScenarioCb(
DtSimMessage* msg,
void* usr);
1664 static void exportScenarioCb(
DtSimMessage* msg,
void* usr);
1668 static void loadedScenarioCb(
DtSimMessage* msg,
void* usr);
1672 static void receiveFileCb(
const DtFilename& filename,
void* usr);
1675 static void receivedMultiPlanCb(
DtSimMessage* msg,
void* usr);
1681 static void objectCreatedCb(
DtSimMessage* msg,
void* usr);
1684 static void receivedPlanCb(
DtSimMessage* msg,
void* usr);
1687 static void receivedPlanStmtCb(
DtSimMessage* msg,
void* usr);
1691 static void overlayObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1693 virtual void processOverlayObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1698 static void indirectArtilleryObjectCreatedCallback(
const DtString& name,
const DtEntityIdentifier&
id,
1700 virtual void processIndirectArtilleryObjectCreated(
const DtString& name,
const DtEntityIdentifier&
id,
1704 static void resourcesProcessedCb(
DtSimMessage* msg,
void* usr);
1711 static void spatialSubdivisionConfigurationCb(
DtSimMessage* msg,
void* usr);
1715 virtual void processSpatialSubdivisionConfigurationCb(
1720 static void commentInteractionCallback(DtCommentInteraction *inter,
void* usr);
1724 virtual void processCommentInteraction(DtCommentInteraction* inter);
1731 virtual void onInit();
1732 virtual void resetStateData();
1733 virtual void emptyLists();
1736 virtual void sendAggregateAsMsg(
1737 const DtSimulationAddress& addr,
1738 unsigned int requestId,
1743 DtList* entityNames,
1744 DtAggregateState initialAggregateState)
const;
1751 virtual void sendQuerySpatialSubdivisionConfigurationRequest(
1752 const DtSimulationAddress& backendAddress,
1762 virtual bool arbitrarySimAddress(DtSimulationAddress& address)
const;
1771 virtual bool addStatementsAndSendPlan(
const DtPlan& plan,
DtIfPlan& planMsg,
1772 const DtSimulationAddress& addr = DtSimSendToAll,
1773 int *retiStatus = 0,
DtString* retsStmt = 0)
const;
1777 static void deliverRadioMessageCallback(
DtSimMessage* msg,
void* usr);
1785 static void globalEnvironmentCreatedCb(
const DtString& name,
const DtEntityIdentifier&
id,
void* usr);
1786 virtual void processGlobalEnvironmentCreated(
const DtString& name,
const DtEntityIdentifier&
id);
1794 virtual bool newScenario(
1795 const DtFilename& dbname,
1796 const DtFilename& guidbname,
1797 const DtFilename& opdname,
1798 const DtFilename& physicalWorldName,
1799 const std::vector<DtString>& simulationModelSetFiles,
1801 int startTimeOfDay = 12 * 3600);
1834 typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
1838 typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
1943 virtual int color()
const;
1944 virtual const DtString& parentName()
const;
1945 virtual const DtString& attachTo()
const;
1946 virtual void userData(
char** data,
int* userDataSize);