VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
cgf.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 
12 
13 #ifdef WIN32
14 #include <winsock2.h>
15 #endif
16 
17 #include <vlutil/vlFilename.h>
18 #include <vlutil/vlTime.h>
19 #include <vl/hostStructs.h>
20 #include <vector>
21 #include <vlutil/vlPrint.h>
26 #include "vrfcgf/snapshotManager.h"
27 #include "vrfutil/scenario.h"
29 #include "vrfutil/outputLogger.h"
30 #include "vrfutil/rwActivities.h"
32 #include "vrfutil/itt.h"
33 #include <boost/unordered_set.hpp>
34 
35 class DtOrbatManager;
36 class DtAdminContent;
37 class DtIfScenarioStatus;
39 class DtExerciseConn;
40 class DtScenario;
41 class DtScenarioExplorer;
42 class DtPhysicalWorld;
44 class DtCommModelManager;
45 class DtTerrainInterface;
46 class DtVrfCreator;
47 struct DtInMemorySnapshot;
48 class DtSimManager;
54 class DtIfSaveScenario;
61 class DtFireManager;
63 class DtJoyDeviceManager;
64 class DtHostilityManager;
67 class DtCustomReportManager;
69 class DtFactoryManager;
70 class DtVrfObject;
71 class DtObjectType;
72 class DtList;
73 class DtSimTask;
74 class DtSetDataRequest;
75 class DtPlan;
76 class DtPaperMapDatabase;
77 class DtMapDatum;
78 class DtVrfParameterDb;
79 class DtSimMessage;
80 class DtResourceMonitor;
83 class DtVrfPlugin;
84 class DtVrfPluginManager;
85 class DtHlaExerciseClock;
86 class DtExerciseClock;
87 class DtSimCommand;
93 class DtTimer;
95 class DtSpawnSinkManager;
96 class DtSnapshotManager;
98 
111 #include "vrfcgf/vrfcgfDefines.h"
113 {
114 public:
115 
122  DtCgf(const DtSimulationAddress& addr, DtU32 sessionId = 1, const DtU32& capabilities = 0xffff);
123 
147  virtual bool init(DtExerciseConn* conn, DtVrfCreator* creator = 0,
148  int entityAdvisory = 100);
149 
151  virtual ~DtCgf();
152 
154  virtual const DtVrfSimOptionsInterface* simOptions() const;
155 
157  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
158 
161  virtual void tick();
162 
165  virtual void sendFinalStatus();
166 
167  //-------------------------------------------------------
169  //-------------------------------------------------------
170 
172  virtual bool importScenarioDescriptionFile(const DtFilename& file, const DtString& format,
173  const std::map<std::string, std::string>& importData);
174 
178  virtual DtString exportScenarioDescriptionFile(const DtFilename& file, const DtString& format,
179  const std::map<std::string, std::string>& exportData);
180 
182  virtual void setAppDataDir(const DtString&);
183  virtual DtFilename appDataDir() const;
184 
186  virtual void setUserDataDir(const DtString&);
187  virtual DtFilename userDataDir() const;
188 
190  virtual void setDataDir(const DtString&);
191  virtual DtFilename dataDir() const;
192 
196  virtual bool loadScenario(const DtFilename& name, int scenarioRunId = 0,
197  bool isOrbatEnabled = false, bool createGlobalEnv = false,
198  bool createGlobalDynamicTerrain = false);
199 
206  virtual bool loadScenario(const DtScenario& scenario, int scenarioRunId = 0,
207  bool isOrbatEnabled = false, bool createGlobalEnv = false,
208  bool createGlobalDynamicTerrain = false);
209 
211  virtual void queueRollbackTo(DtInMemorySnapshot* chkp, int scenarioRunId = 0);
212 
214  virtual bool rollbackTo(DtInMemorySnapshot* chkp, int scenarioRunId = 0);
215 
217  virtual void clearSimulationObjects();
218 
221  virtual bool importScenario(const DtScenario&);
222  virtual bool importScenario(const DtFilename&);
223 
230  virtual bool newScenario(const DtFilename& dbname =
231  DtFilename::nullFilename(), const DtFilename& simulationModelSet =
232  DtFilename::nullFilename());
233 
235  DtIfScenarioStatus* scenarioStatus() { return myScenarioStatus; };
236  const DtIfScenarioStatus* scenarioStatus() const { return myScenarioStatus; };
237 
238  virtual void sendScenarioStatusMessage();
239 
243  virtual bool saveScenario(const DtFilename& savename, bool saveAsSip = false);
244 
246  virtual bool takeSnapshot(DtInMemorySnapshot*);
247 
250  virtual void rollbackToSimTime(double simTime);
251 
254  virtual void takeSnapshot(bool makeBase);
255 
258  virtual bool saveSnapshot(const DtFilename& saveFolder,
259  DtCompressedFileTransporter&, DtIfSaveScenario* msg, const DtSimulationAddress& requestor);
260 
264  virtual bool saveSimulationObjectGroup(DtFilename saveFolder, const DtString& groupName,
265  int flags, boost::unordered_set<DtUUID>& uuidsSaved, bool& savAsZipFile);
266 
272  virtual bool createSimulationObjectGroup(const DtString& group, int flags, int force, const DtVector& geocentricLocation,
273  double offsetRotation, bool storedInZipFile = false);
274 
279  virtual void closeScenario(const DtFilename& terrainToOpen = "", bool forceCloseAll = false);
280 
285  virtual bool loadAdditionalObjectParameters(const DtFilename& paramsFileName,
286  const DtReaderWriter::SearchPaths& searchPaths, bool preloadParameters = false);
287 
290  virtual void run();
291 
293  virtual void pause();
294 
300  virtual void rewind(int scenarioRunId = 0);
301 
303  virtual void setRejectMismatchedScenarioMessages(bool);
304  virtual bool rejectMismatchedScenarioMessages() const;
305 
310 
311  virtual void setForceParameterDbReload(bool reload);
312  virtual bool forceParameterDbReload() const;
314 
318 
319  virtual void setEnableResourceMonitor(bool b);
320  virtual bool isResourceMonitorEnabled() const;
322 
324  virtual bool canSimulate() const { return myCanSimulate; };
325 
327  virtual bool aboutToLoadOrRewindScenario() const { return myAboutToLoadOrRewindScenario; };
328 
332  virtual void setSmsValidationEnabled(bool b);
333 
345 
346  virtual const DtFilename& defaultTerrainDirectory();
347  virtual void setDefaultTerrainDirectory(const DtFilename& directory);
349 
351  virtual void sendServerLoadMessage(const DtString& error, int level = DtNlWarn);
352 
357 
358  virtual const DtFilename& defaultSimulationModelSetFilename();
359  virtual void setDefaultSimulationModelSetFilename(const DtFilename& filename);
361 
363 
364  virtual void setUseDIGuy(bool diguy);
365  virtual bool useDIGuy() const;
367 
371 
372  virtual const DtFilename& diGuyAnimationsFilename();
373  virtual void setDIGuyAnimationsFilename(const DtFilename& filename);
375 
377 
378  virtual void setMsdlSidcMappingFile(const DtFilename&);
379  virtual const DtFilename& msdlSidcMappingFile() const;
381 
383 
384  virtual void setCountryCodesMappingFile(const DtFilename&);
385  virtual const DtFilename& countryCodesMappingFile() const;
387 
390  virtual DtSimulationModelSet* defaultModelSet();
391 
392  //-------------------------------------------------------
394  //-------------------------------------------------------
395 
398  virtual void deleteObject(const DtUUID& name, bool andRemoveFromOrbat = true) const;
399 
402  virtual void deleteObject(const DtEntityIdentifier& objectIdentifier, bool andRemoveFromOrbat = true) const;
403 
404  //-------------------------------------------------------
406  //-------------------------------------------------------
407 
409 
420  virtual DtVrfObject* createWaypoint(const DtVector& localPosition,
421  const DtString& uniqueName = DtString::nullString()) const;
422 
424 
437  virtual DtVrfObject* createRoute(const DtList& vertices,
438  const DtString& uniqueName = DtString::nullString()) const;
439 
441 
453  virtual DtVrfObject* createPhaseLine(
454  const DtVector& dbPoint1,
455  const DtVector& dbPoint2,
456  const DtString& uniqueName = DtString::nullString()) const;
457 
459 
471  virtual DtVrfObject* createControlArea(
472  const DtList& vertices,
473  const DtString& uniqueName = DtString::nullString()) const;
474 
476 
488  virtual DtVrfObject* createObstacle(
489  const DtList& vertices,
490  const DtString& uniqueName = DtString::nullString()) const;
491 
493 
506  virtual DtVrfObject* createDisaggregationArea(
507  const DtList& vertices,
508  const DtString& uniqueName = DtString::nullString()) const;
509 
510  //-------------------------------------------------------
512  //-------------------------------------------------------
513 
515 
544  virtual DtVrfObject* createEntity(
545  const DtEntityType& entityType,
546  DtForceType force,
547  const DtVector& dbPosition,
548  DtReal heading,
549  const DtString& entityName = DtString::nullString(),
550  bool allowBlocking = true,
551  std::list<DtAdminContent*>* initialAdminContent = 0,
552  bool addToOrbat = true) const;
553 
554 
556 
587  virtual DtVrfObject* createAggregate(
588  const DtEntityType& aggregateType,
589  DtForceType force,
590  const DtVector& localPosition,
591  DtReal heading,
592  const std::vector<DtUUID>& subordinates = std::vector<DtUUID>(),
593  const DtString& aggregateName = DtString::nullString(),
594  bool addToOrbat = true) const;
595 
607  virtual DtVrfObject* createAggregate(
608  const DtEntityType& aggregateType,
609  DtForceType force,
610  const DtVector& localPosition,
611  DtReal heading,
612  bool createSubordinates,
613  const DtString& aggregateName = DtString::nullString(),
614  bool allowBlocking = true,
615  bool addToOrbat = true) const;
616 
628  virtual bool addSubordinate(DtVrfObject* subordinate,
629  DtVrfObject* aggregate);
630 
646  virtual bool removeSubordinate(DtVrfObject* subordinate,
647  DtVrfObject* aggregate);
648 
649  //-------------------------------------------------------
651  //-------------------------------------------------------
652 
659  virtual void assignTask(DtVrfObject* entity, const DtSimTask& task);
660 
668  virtual void sendSetDataRequest(DtVrfObject* entity,
669  const DtSetDataRequest& request);
670 
673  virtual void assignPlanByUUID(const DtUUID&, const DtPlan& plan);
674 
679  virtual void abandonPlan(DtVrfObject* entity);
680 
685  virtual void restartPlan(DtVrfObject* entity);
686 
687  //-------------------------------------------------------
689  //-------------------------------------------------------
690 
694  virtual void logObjectConsoleToFile(DtVrfObject* object,
695  DtFilename filename = DtFilename::nullFilename());
696 
698  virtual void stopLoggingObjectConsoleToFile(DtVrfObject* object);
699 
703  virtual void setObjectConsoleNotificationLevel(DtVrfObject* object,
704  DtNotifyLevelType level);
705 
708  virtual void setPublishZeroVelocityWhenPaused(bool);
709  virtual bool publishZeroVelocityWhenPaused() const;
710 
714  virtual void setSetDeadReckoningAlgorithmToStaticOnPause(bool);
715  virtual bool setDeadReckoningAlgorithmToStaticOnPause() const;
716 
722  virtual bool reuseEntityIdentifiersOnScenarioLoad() const;
723  virtual void setReuseEntityIdentifiersOnScenarioLoad(bool);
724 
726  virtual void setTaskVisualizationPublicationMode(DtTaskVisualizationPublicationMode mode);
727  virtual DtTaskVisualizationPublicationMode taskVisualizationPublicationMode() const;
728 
731  virtual void setUseDrawControlForTaskVisualizations(bool);
732  virtual bool useDrawControlForTaskVisualizations() const;
733 
734  //-------------------------------------------------------
736  //-------------------------------------------------------
737 
740  virtual DtSimManager* simManager() const;
741 
743  virtual DtImportExportScenarioDescriptionManager* importExportScenarioDescriptionManager() const;
744 
747  virtual DtResourceMonitor* resourceMonitor() const;
748 
750  virtual DtRadarCoverageMonitor* radarCoverageMonitor() const;
751 
753  virtual DtVrfObjectIdGenerator* vrfObjectIdGenerator() const;
754 
757  virtual DtFactoryManager* factoryManager() const;
758 
760  virtual DtSnapshotManager* snapshotManager() const;
761 
764  virtual DtVrfObjectManager* vrfObjectManager() const;
765 
767  virtual DtScriptedTaskManager* scriptedTaskManager() const;
768 
770  virtual DtScenarioEventManager* scenarioEventManager() const;
771 
773  virtual DtHazardAreaManager* hazardAreaManager() const;
774 
776  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
777 
779  virtual DtScriptedObjectsMovementManager* ScriptedObjectsMovementManager() const;
780 
783  virtual DtAggregateSpatialModel* aggregateSpatialModel() const;
784 
787  virtual DtDetonationManager* detonationManager() const;
788 
791  virtual DtVrfAmmunitionManager* ammunitionManager() const;
792 
795  virtual DtFireManager* fireManager() const;
796 
801  virtual DtScenarioExtrasMgr* scenarioExtrasMgr() const;
802 
804  virtual DtVrfParameterDb* parameterDatabase() const;
805 
807  virtual DtGlobalPlanManager* globalPlanManager();
808 
810  virtual DtStealthCommandsManager* stealthCommandsManager();
811 
814 
815  virtual DtTerrainInterface* terrainInterface();
816  virtual const DtTerrainInterface* terrainInterface() const;
818 
821 
822  virtual DtPhysicalWorld* physicalWorld();
823  virtual const DtPhysicalWorld* physicalWorld() const;
825 
827  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
828 
829  virtual DtVrfNavAreaManager* vrfNavAreaManager();
830  virtual const DtVrfNavAreaManager* vrfNavAreaManager() const;
831 
832  virtual void setVrfNavAreaManager(DtVrfNavAreaManager* newVrfNavAreaManager);
833 
834  virtual DtSpawnSinkManager* spawnSinkManager();
835  virtual const DtSpawnSinkManager* spawnSinkManager() const;
836 
838 
839  virtual DtCommModelManager* commModelManager();
840  virtual const DtCommModelManager* commModelManager() const;
842 
844 
845  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
846  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
848 
850  virtual DtSimCommandDistributor* simCommandDistributor();
851 
853  virtual DtScenario* scenario() const;
854 
857  virtual const DtSimulationAddress& simulationAddress() const;
858 
864  virtual int sessionId() const;
865 
871 
872  virtual DtU32 scenarioCapabilities() const;
873  virtual void setScenarioCapabilities(DtU32 v);
874  virtual void setScenarioCapability(DtU32 v, bool);
876 
879 
880  virtual DtString applicationType() const;
881  virtual void setApplicationType(const DtString& type);
883 
886  virtual DtVrfStatusPublisher* statusPublisher() const;
887 
890  virtual DtExerciseConn* exerciseConn() const;
891 
895  virtual void useMapDatum(const DtMapDatum& mapDatum);
896 
898  virtual void setParameterDbLoaded(bool flag);
899 
900  virtual void setMaxDrainInputTime(DtFloat64 maxTime);
901  virtual DtFloat64 maxDrainInputTime() const;
902 
903 #ifdef DtHLA
904  virtual void setMinDrainInputTime(DtFloat64 minTime);
905  virtual DtFloat64 minDrainInputTime() const;
906 #else
907  virtual void setMaxDrainInputReads(int maxReads);
908  virtual int maxDrainInputReads() const;
909 #endif
910 
911  virtual bool logFrameRateStatistics() const;
912  virtual void setLogFrameRateStatistics(bool yesOrNo);
913 
919  virtual void setDefaultParameterDbDirectory(const DtFilename& filename);
920 
922  virtual DtFilename objectGroupsRoot() const;
923 
924 #if DtHLA
925 
926 
927  virtual void setRunInTimeManagementMode(bool yesOrNo);
928  virtual bool runInTimeManagementMode() const;
929 
933  static void startTimeManagement(void* usr);
934  static void stopTimeManagement(void* usr);
935 
938  virtual void processStartTimeManagement();
939  virtual void processStopTimeManagement();
940 
941 #endif
942 
947  virtual bool reinitializeScenario();
948 
949  virtual void setFullyLoadTerrain(bool yesOrNo);
950  virtual bool fullyLoadTerrain() const;
951 
955 
956  virtual void setAssertOnBlockingTerrainCalls(bool b);
957  virtual bool assertOnBlockingTerrainCalls() const;
959 
960  //-------------------------------------------------------
962  //-------------------------------------------------------
963 
966  virtual void addPluginToLoad(const DtString&);
967 
970  virtual void setLoadPluginsIfVersionMismatch(bool);
971  virtual bool loadPluginsIfVersionMismatch() const;
972 
974 
975  DtVrfCreator* vrfCreator();
976  const DtVrfCreator* vrfCreator() const;
978 
982 
983  virtual void addPreLoadTerrainCallback(
985  virtual void removePreLoadTerrainCallback(
988 
992 
993  virtual void addPostLoadTerrainCallback(
995  virtual void removePostLoadTerrainCallback(
998 
1001  virtual void runForDuration(double);
1002 
1004  virtual void stopSimulationDurationTimer();
1005 
1007  static void runDurationCompleteCallback(void*);
1008  virtual void processRunDurationComplete();
1009 
1011  virtual void setPublishingGlobalEnvironment(bool);
1012 
1016 
1017  virtual void addPreLoadScenarioCallback(
1019  virtual void removePreLoadScenarioCallback(
1022 
1024 
1025  virtual void addPreScenarioReinitializeCallback(
1027  virtual void removePreScenarioReinitializeCallback(
1030 
1033 
1034  virtual void addPostScenarioReinitializeCallback(
1036  virtual void removePostScenarioReinitializeCallback(
1039 
1041 
1042  virtual void addPreCreateSimulationObjectGroupCallback(
1044  virtual void removePreCreateSimulationObjectGroupCallback(
1047 
1051 
1052  virtual void addPostLoadScenarioCallback(
1054  virtual void removePostLoadScenarioCallback(
1057 
1059 
1060  virtual void addPostCreateSimulationObjectGroupCallback(
1062  virtual void removePostCreateSimulationObjectGroupCallback(
1065 
1067 
1068  virtual void addPreImportScenarioCallback(
1070  virtual void removePreImportScenarioCallback(
1073 
1075 
1076  virtual void addPostImportScenarioCallback(
1078  virtual void removePostImportScenarioCallback(
1081 
1084 
1085  virtual void addPreSaveScenarioCallback(
1087  virtual void removePreSaveScenarioCallback(
1090 
1093 
1094  virtual void addPostSaveScenarioCallback(
1096  virtual void removePostSaveScenarioCallback(
1099 
1102 
1103  virtual void addPreCloseScenarioCallback(
1105  virtual void removePreCloseScenarioCallback(
1108 
1111 
1112  virtual void addPostCloseScenarioCallback(
1114  virtual void removePostCloseScenarioCallback(
1117 
1119 
1120  virtual void addPreSaveSimulationObjectGroupsCallback(
1122  virtual void removePreSaveSimulationObjectGroupsCallback(
1125 
1127 
1128  virtual void addPostSaveSimulationObjectGroupsCallback(
1130  virtual void removePostSaveSimulationObjectGroupsCallback(
1133 
1136 
1137  virtual void addScenarioPauseCallback(
1139  virtual void removeScenarioPauseCallback(
1142 
1145 
1146  virtual void addScenarioRunCallback(
1148  virtual void removeScenarioRunCallback(
1151 
1156 
1157  virtual void addPreScenarioRewindCallback(
1159  virtual void removePreScenarioRewindCallback(
1162 
1165 
1166  virtual void addPostScenarioRewindCallback(
1168  virtual void removePostScenarioRewindCallback(
1171 
1174 
1175  virtual void addPostTickCallback(
1177  virtual void removePostTickCallback(
1180 
1182 
1183  virtual void setTimeToQuit(bool);
1184  virtual bool timeToQuit() const;
1186 
1190  virtual bool executeSimCommand(const DtSimCommand& simCommand);
1191 
1194  virtual void unloadTerrain();
1195 
1197  virtual bool isOrbatEnabled() const;
1198 
1200  virtual bool canSleep() const;
1202  virtual double timeScale() const;
1203 
1204 public:
1205 
1209  static void objectParametersOpCallback(DtSimMessage* msg, void* usr);
1210 
1211 protected:
1213  static void scenarioDescriptionCallback(DtSimMessage*, void* usr);
1214  virtual void processScenarioDescription(DtSimMessage*);
1215 
1217  static void setScenarioFilenameCallback(DtSimMessage*, void* usr);
1218  virtual void processSetScenarioFilename(DtSimMessage*);
1219 
1221  static void setRunDurationCallback(DtSimMessage*, void* usr);
1222  virtual void processSetRunDuration(DtSimMessage*);
1223 
1225  static void actionCategoriesRequestCallback(DtSimMessage* msg, void* usr);
1226  virtual void processActionCategoriesRequest(DtSimMessage* msg);
1227 
1229  static void scenarioStatusRequestCallback(DtSimMessage* msg, void* usr);
1230  virtual void processScenarioStatusRequest(DtSimMessage* msg);
1231 
1233  static void adjustSettingsForTimeMultiplierCallback(DtFloat64 timeMult, void* usr);
1234 
1235 private:
1237  DtCgf(const DtCgf& original);
1239  DtCgf& operator=(const DtCgf& original);
1240 
1241 protected:
1243  virtual void loadAllPlugins();
1244 
1246  virtual bool loadComponentAttachmentTable(const DtFilename& filename);
1252  virtual bool loadTerrain(const DtFilename& filename);
1253 
1257  virtual DtFilename findTerrainFile(const DtFilename& startFile, const std::vector<DtFilename>& searchPaths,
1258  const std::string& extension) const;
1259 
1261  virtual bool loadOrderOfBattle(const DtFilename& filename);
1262  virtual bool loadOrderOfBattleFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1263  virtual bool loadOrderOfBattle(const DtInMemorySnapshot::OOB&);
1264 
1266  virtual bool loadScenarioScripts(const DtFilename& filename);
1267  virtual bool loadScenarioScriptsFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1268  virtual bool loadScenarioScripts(const std::string& buffer);
1269 
1271  virtual bool loadOrbat(const DtFilename& filename, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1272  virtual bool loadOrbatFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1273  virtual bool loadOrbat(const std::string& buffer, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1274 
1277  virtual void prepareForScenarioReinitialize();
1278 
1280  virtual bool isScenarioReinitializing() const;
1281 
1285  virtual bool loadParameterDb(const DtFilename& filename,
1286  const DtReaderWriter::SearchPaths& searchPaths, bool clearLoadedObjects = true, bool preloadParameters = false);
1287 
1290  virtual bool loadObjectParametersDBFile(const DtFilename& opdFile,
1291  const DtReaderWriter::SearchPaths& searchPaths, bool clearLoadedObjects = true, bool preloadParameters = false);
1292 
1296  virtual bool loadPhysicalWorldFile(const DtFilename& file, bool force = false);
1297 
1301  virtual bool loadDetonationParametersFile(const DtFilename& file, bool force = false);
1302 
1306  virtual bool loadAmmunitionParametersFile(const DtFilename& file, bool force = false);
1307 
1309  virtual bool loadPlans(const DtFilename& filename);
1310  virtual bool loadPlansFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1311  virtual bool loadPlans(const std::string& buffer);
1312 
1314  virtual bool loadGlobalPlans(const DtFilename& filename);
1315  virtual bool loadGlobalPlansFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1316 
1318  virtual void loadHostilityAndExtras(const DtScenarioExplorer& se);
1319  virtual void loadHostilityAndExtrasFromZipFile(const DtFilename& scenarioZipFile, const DtScenarioExplorer& se);
1320  virtual void loadHostilityAndExtras(const std::string& buffer);
1321 
1324  virtual void loadActivities(const DtScenarioExplorer&);
1325 
1328  virtual void loadModelSetFiles(const DtScenarioExplorer&);
1329 
1332  virtual void loadActionCategories(const DtFilename& f);
1333 
1334  virtual bool loadForceHostility(const DtFilename& filename, bool clear = true);
1335  virtual bool loadForceHostilityFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename, bool clear = true);
1336 
1337  virtual bool loadScenarioExtras(const DtFilename& filename);
1338  virtual bool loadScenarioExtrasFromZipFile(const DtFilename&, const DtFilename& filename);
1339  virtual bool loadScenarioExtras(const std::string& buffer);
1340 
1343  virtual void processObjectParametersOp(DtSimMessage * msg);
1344 
1345 
1348  virtual void emptyParametersDB();
1349 
1360  virtual void setFrameRateMode(const DtString& mode, DtReal deltaTime);
1361 
1363  virtual void setAutoReorganization(bool onOff);
1364 
1367  virtual void drainInput();
1368 
1372  virtual DtVrfPlugin* loadPlugin(const DtString&);
1373 
1378 #if DtHLA
1379  DtHlaExerciseClock* exerciseClock() const;
1380 #else
1381  DtExerciseClock* exerciseClock() const;
1382 #endif
1383 
1386  virtual bool setupCommModelsForScenario(const DtScenarioExplorer& e);
1387 
1391  virtual void updateReadyStatus();
1392 
1394  virtual void processOrganizationManagerReady(const DtOrganizationManagerReadyCallbackInfo&);
1395  static void organizationManagerReadyCallback(const DtOrganizationManagerReadyCallbackInfo&, void* usr);
1396 
1399 
1400  static void simCommandCallback(DtSimMessage* msg, void* usr);
1401  virtual void processSimCommand(DtSimMessage* msg);
1403 
1407 
1408  static void deferredLoadScenarioCallback(void * data);
1409  virtual void processDeferredLoadScenario();
1410 
1413  virtual void processLoadScenario(const DtScenario* = 0, const DtInMemorySnapshot* = 0);
1415 
1417 
1418  static void deferredReinitializeScenarioCallback(void * data);
1419  virtual void processDeferredReinitializeScenario();
1421 
1426 
1427  static void deferredRollbackCallback(void * data);
1428  virtual void processDeferredRollback();
1430 
1434 
1435  static void deferredImportScenarioCallback(void * data);
1436  virtual void processDeferredImportScenario();
1438 
1442 
1443  static void deferredRewindCallback(void * data);
1444  virtual void processDeferredRewind();
1446 
1447  //-------------------------------------------------------
1449  //-------------------------------------------------------
1450 
1451  void rolloverStatsLogFilename(const DtScenario* scenario);
1452 
1453  void logScenarioLoad(const DtScenario* scenario);
1454  void logScenarioRewind();
1455  void logScenarioClose();
1456 
1459  virtual void clearAllSimulationModelSetInformation();
1460 
1461  virtual void adjustSettingsForTimeMultiplier(double timeMultiplier);
1462 
1463 protected:
1465 
1467  DtSimulationAddress mySimulationAddress;
1468 
1471 
1473  bool myOK;
1474 
1477 
1480  std::vector<DtString> myPluginsToLoad;
1482 
1485 
1488 
1490 
1492 
1494 
1496 
1498  DtExerciseConn* myExerciseConn;
1499 
1502 
1505 
1508 
1511 
1513 
1522 
1524 
1527 
1530 
1533 
1536 
1539 
1542 
1544 
1547 
1549 
1552 
1555 
1557 
1563 
1568 
1571 
1574 
1577 
1580 
1583 
1586 
1590 
1593 
1598 
1611 
1614 
1622 
1624 #if DtHLA
1626 #else
1627  int myMaxDrainInputReads;
1628 #endif
1629 
1634  void setVrfCreator(DtVrfCreator* creator);
1636 
1638 
1639  bool ownVrfCreator() const;
1640  void setOwnVrfCreator(bool yesOrNo);
1642 
1644  virtual bool differingModelSets(DtScenario*) const;
1645 
1646 protected:
1651 
1652 #if DtHLA
1654 #endif
1655 
1658 
1663 
1667 #if DtHLA
1669 #else
1670  DtExerciseClock* myExerciseClockPtr;
1671 #endif
1672 
1674 
1678 
1683 
1688 
1694 
1697 
1699 
1702  typedef std::pair<std::string, bool> ActionCategory;
1703  typedef std::map<std::string, ActionCategory> ActionCategories;
1705 
1708 
1714 
1717 
1719 
1724 
1725  std::vector<DtFilename> myObjectGroupsRoot;
1726 
1728  {
1729  DtlObjPtr planArgs;
1730  DtlObjPtr oobArgs;
1731  };
1732 
1733  std::set<DtGlobalObjectDesignator> myRemoteObjectGlobalIds;
1734 
1735  typedef std::map<DtString, SimulationObjectGroupInformation> StoredSimulationObjectGroupInformation;
1737 
1744 
1745  std::set<DtFilename> myLoadedModelSets;
1746 
1749 
1760 };
1761 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)