VR-Forces 4.6.1 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 <boost/unordered_set.hpp>
33 
34 class DtOrbatManager;
35 class DtAdminContent;
36 class DtIfScenarioStatus;
38 class DtExerciseConn;
39 class DtScenario;
40 class DtScenarioExplorer;
41 class DtPhysicalWorld;
43 class DtCommModelManager;
44 class DtTerrainInterface;
45 class DtVrfCreator;
46 struct DtInMemorySnapshot;
47 class DtSimManager;
53 class DtIfSaveScenario;
59 class DtFireManager;
61 class DtJoyDeviceManager;
62 class DtHostilityManager;
64 class DtCustomReportManager;
66 class DtFactoryManager;
67 class DtVrfObject;
68 class DtObjectType;
69 class DtList;
70 class DtSimTask;
71 class DtSetDataRequest;
72 class DtPlan;
73 class DtPaperMapDatabase;
74 class DtMapDatum;
75 class DtVrfParameterDb;
76 class DtSimMessage;
77 class DtResourceMonitor;
79 class DtVrfPlugin;
80 class DtVrfPluginManager;
81 class DtHlaExerciseClock;
82 class DtExerciseClock;
83 class DtSimCommand;
89 class DtTimer;
91 class DtSpawnSinkManager;
92 class DtSnapshotManager;
94 
107 #include "vrfcgf/vrfcgfDefines.h"
109 {
110 public:
111 
118  DtCgf(const DtSimulationAddress& addr, DtU32 sessionId = 1, const DtU32& capabilities = 0xffff);
119 
143  virtual bool init(DtExerciseConn* conn, DtVrfCreator* creator = 0,
144  int entityAdvisory = 100);
145 
147  virtual ~DtCgf();
148 
150  virtual const DtVrfSimOptionsInterface* simOptions() const;
151 
153  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
154 
157  virtual void tick();
158 
161  virtual void sendFinalStatus();
162 
163  //-------------------------------------------------------
165  //-------------------------------------------------------
166 
168  virtual bool importScenarioDescriptionFile(const DtFilename& file, const DtString& format,
169  const std::map<std::string, std::string>& importData);
170 
174  virtual DtString exportScenarioDescriptionFile(const DtFilename& file, const DtString& format,
175  const std::map<std::string, std::string>& exportData);
176 
178  virtual void setAppDataDir(const DtString&);
179  virtual DtFilename appDataDir() const;
180 
182  virtual void setUserDataDir(const DtString&);
183  virtual DtFilename userDataDir() const;
184 
186  virtual void setDataDir(const DtString&);
187  virtual DtFilename dataDir() const;
188 
192  virtual bool loadScenario(const DtFilename& name, int scenarioRunId = 0,
193  bool isOrbatEnabled = false, bool createGlobalEnv = false,
194  bool createGlobalDynamicTerrain = false);
195 
202  virtual bool loadScenario(const DtScenario& scenario, int scenarioRunId = 0,
203  bool isOrbatEnabled = false, bool createGlobalEnv = false,
204  bool createGlobalDynamicTerrain = false);
205 
207  virtual void queueRollbackTo(DtInMemorySnapshot* chkp, int scenarioRunId = 0);
208 
210  virtual bool rollbackTo(DtInMemorySnapshot* chkp, int scenarioRunId = 0);
211 
213  virtual void clearSimulationObjects();
214 
217  virtual bool importScenario(const DtScenario&);
218  virtual bool importScenario(const DtFilename&);
219 
226  virtual bool newScenario(const DtFilename& dbname =
227  DtFilename::nullFilename(), const DtFilename& simulationModelSet =
228  DtFilename::nullFilename());
229 
231  DtIfScenarioStatus* scenarioStatus() { return myScenarioStatus; };
232  const DtIfScenarioStatus* scenarioStatus() const { return myScenarioStatus; };
233 
234  virtual void sendScenarioStatusMessage();
235 
239  virtual bool saveScenario(const DtFilename& savename, bool saveAsSip = false);
240 
242  virtual bool takeSnapshot(DtInMemorySnapshot*);
243 
246  virtual void rollbackToSimTime(double simTime);
247 
250  virtual void takeSnapshot(bool makeBase);
251 
254  virtual bool saveSnapshot(const DtFilename& saveFolder,
255  DtCompressedFileTransporter&, DtIfSaveScenario* msg, const DtSimulationAddress& requestor);
256 
260  virtual bool saveSimulationObjectGroup(DtFilename saveFolder, const DtString& groupName,
261  int flags, boost::unordered_set<DtUUID>& uuidsSaved, bool& savAsZipFile);
262 
268  virtual bool createSimulationObjectGroup(const DtString& group, int flags, int force, const DtVector& geocentricLocation,
269  double offsetRotation, bool storedInZipFile = false);
270 
275  virtual void closeScenario(const DtFilename& terrainToOpen = "", bool forceCloseAll = false);
276 
281  virtual bool loadAdditionalObjectParameters(const DtFilename& paramsFileName,
282  const DtReaderWriter::SearchPaths& searchPaths);
283 
286  virtual void run();
287 
289  virtual void pause();
290 
296  virtual void rewind(int scenarioRunId = 0);
297 
299  virtual void setRejectMismatchedScenarioMessages(bool);
300  virtual bool rejectMismatchedScenarioMessages() const;
301 
306 
307  virtual void setForceParameterDbReload(bool reload);
308  virtual bool forceParameterDbReload() const;
310 
314 
315  virtual void setEnableResourceMonitor(bool b);
316  virtual bool isResourceMonitorEnabled() const;
318 
320  virtual bool canSimulate() const { return myCanSimulate; };
321 
323  virtual bool aboutToLoadOrRewindScenario() const { return myAboutToLoadOrRewindScenario; };
324 
328  virtual void setSmsValidationEnabled(bool b);
329 
341 
342  virtual const DtFilename& defaultTerrainDirectory();
343  virtual void setDefaultTerrainDirectory(const DtFilename& directory);
345 
347  virtual void sendServerLoadMessage(const DtString& error, int level = DtNlWarn);
348 
353 
354  virtual const DtFilename& defaultSimulationModelSetFilename();
355  virtual void setDefaultSimulationModelSetFilename(const DtFilename& filename);
357 
359 
360  virtual void setUseDIGuy(bool diguy);
361  virtual bool useDIGuy() const;
363 
367 
368  virtual const DtFilename& diGuyAnimationsFilename();
369  virtual void setDIGuyAnimationsFilename(const DtFilename& filename);
371 
373 
374  virtual void setMsdlSidcMappingFile(const DtFilename&);
375  virtual const DtFilename& msdlSidcMappingFile() const;
377 
379 
380  virtual void setCountryCodesMappingFile(const DtFilename&);
381  virtual const DtFilename& countryCodesMappingFile() const;
383 
386  virtual DtSimulationModelSet* defaultModelSet();
387 
388  //-------------------------------------------------------
390  //-------------------------------------------------------
391 
394  virtual void deleteObject(const DtUUID& name, bool andRemoveFromOrbat = true) const;
395 
398  virtual void deleteObject(const DtEntityIdentifier& objectIdentifier, bool andRemoveFromOrbat = true) const;
399 
400  //-------------------------------------------------------
402  //-------------------------------------------------------
403 
405 
416  virtual DtVrfObject* createWaypoint(const DtVector& localPosition,
417  const DtString& uniqueName = DtString::nullString()) const;
418 
420 
433  virtual DtVrfObject* createRoute(const DtList& vertices,
434  const DtString& uniqueName = DtString::nullString()) const;
435 
437 
449  virtual DtVrfObject* createPhaseLine(
450  const DtVector& dbPoint1,
451  const DtVector& dbPoint2,
452  const DtString& uniqueName = DtString::nullString()) const;
453 
455 
467  virtual DtVrfObject* createControlArea(
468  const DtList& vertices,
469  const DtString& uniqueName = DtString::nullString()) const;
470 
472 
484  virtual DtVrfObject* createObstacle(
485  const DtList& vertices,
486  const DtString& uniqueName = DtString::nullString()) const;
487 
489 
502  virtual DtVrfObject* createDisaggregationArea(
503  const DtList& vertices,
504  const DtString& uniqueName = DtString::nullString()) const;
505 
506  //-------------------------------------------------------
508  //-------------------------------------------------------
509 
511 
540  virtual DtVrfObject* createEntity(
541  const DtEntityType& entityType,
542  DtForceType force,
543  const DtVector& dbPosition,
544  DtReal heading,
545  const DtString& entityName = DtString::nullString(),
546  bool allowBlocking = true,
547  std::list<DtAdminContent*>* initialAdminContent = 0,
548  bool addToOrbat = true) const;
549 
550 
552 
583  virtual DtVrfObject* createAggregate(
584  const DtEntityType& aggregateType,
585  DtForceType force,
586  const DtVector& localPosition,
587  DtReal heading,
588  const std::vector<DtUUID>& subordinates = std::vector<DtUUID>(),
589  const DtString& aggregateName = DtString::nullString(),
590  bool addToOrbat = true) const;
591 
603  virtual DtVrfObject* createAggregate(
604  const DtEntityType& aggregateType,
605  DtForceType force,
606  const DtVector& localPosition,
607  DtReal heading,
608  bool createSubordinates,
609  const DtString& aggregateName = DtString::nullString(),
610  bool allowBlocking = true,
611  bool addToOrbat = true) const;
612 
624  virtual bool addSubordinate(DtVrfObject* subordinate,
625  DtVrfObject* aggregate);
626 
642  virtual bool removeSubordinate(DtVrfObject* subordinate,
643  DtVrfObject* aggregate);
644 
645  //-------------------------------------------------------
647  //-------------------------------------------------------
648 
655  virtual void assignTask(DtVrfObject* entity, const DtSimTask& task);
656 
664  virtual void sendSetDataRequest(DtVrfObject* entity,
665  const DtSetDataRequest& request);
666 
669  virtual void assignPlanByUUID(const DtUUID&, const DtPlan& plan);
670 
675  virtual void abandonPlan(DtVrfObject* entity);
676 
681  virtual void restartPlan(DtVrfObject* entity);
682 
683  //-------------------------------------------------------
685  //-------------------------------------------------------
686 
690  virtual void logObjectConsoleToFile(DtVrfObject* object,
691  DtFilename filename = DtFilename::nullFilename());
692 
694  virtual void stopLoggingObjectConsoleToFile(DtVrfObject* object);
695 
699  virtual void setObjectConsoleNotificationLevel(DtVrfObject* object,
700  DtNotifyLevelType level);
701 
704  virtual void setPublishZeroVelocityWhenPaused(bool);
705  virtual bool publishZeroVelocityWhenPaused() const;
706 
710  virtual void setSetDeadReckoningAlgorithmToStaticOnPause(bool);
711  virtual bool setDeadReckoningAlgorithmToStaticOnPause() const;
712 
718  virtual bool reuseEntityIdentifiersOnScenarioLoad() const;
719  virtual void setReuseEntityIdentifiersOnScenarioLoad(bool);
720 
722  virtual void setTaskVisualizationPublicationMode(DtTaskVisualizationPublicationMode mode);
723  virtual DtTaskVisualizationPublicationMode taskVisualizationPublicationMode() const;
724 
727  virtual void setUseDrawControlForTaskVisualizations(bool);
728  virtual bool useDrawControlForTaskVisualizations() const;
729 
730  //-------------------------------------------------------
732  //-------------------------------------------------------
733 
736  virtual DtSimManager* simManager() const;
737 
739  virtual DtImportExportScenarioDescriptionManager* importExportScenarioDescriptionManager() const;
740 
743  virtual DtResourceMonitor* resourceMonitor() const;
744 
746  virtual DtVrfObjectIdGenerator* vrfObjectIdGenerator() const;
747 
750  virtual DtFactoryManager* factoryManager() const;
751 
753  virtual DtSnapshotManager* snapshotManager() const;
754 
757  virtual DtVrfObjectManager* vrfObjectManager() const;
758 
760  virtual DtScriptedTaskManager* scriptedTaskManager() const;
761 
763  virtual DtScenarioEventManager* scenarioEventManager() const;
764 
766  virtual DtHazardAreaManager* hazardAreaManager() const;
767 
769  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
770 
772  virtual DtScriptedObjectsMovementManager* ScriptedObjectsMovementManager() const;
773 
776  virtual DtAggregateSpatialModel* aggregateSpatialModel() const;
777 
780  virtual DtDetonationManager* detonationManager() const;
781 
784  virtual DtFireManager* fireManager() const;
785 
790  virtual DtScenarioExtrasMgr* scenarioExtrasMgr() const;
791 
793  virtual DtVrfParameterDb* parameterDatabase() const;
794 
796  virtual DtGlobalPlanManager* globalPlanManager();
797 
799  virtual DtStealthCommandsManager* stealthCommandsManager();
800 
803 
804  virtual DtTerrainInterface* terrainInterface();
805  virtual const DtTerrainInterface* terrainInterface() const;
807 
810 
811  virtual DtPhysicalWorld* physicalWorld();
812  virtual const DtPhysicalWorld* physicalWorld() const;
814 
816  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
817 
818  virtual DtVrfNavAreaManager* vrfNavAreaManager();
819  virtual const DtVrfNavAreaManager* vrfNavAreaManager() const;
820 
821  virtual void setVrfNavAreaManager(DtVrfNavAreaManager* newVrfNavAreaManager);
822 
823  virtual DtSpawnSinkManager* spawnSinkManager();
824  virtual const DtSpawnSinkManager* spawnSinkManager() const;
825 
827 
828  virtual DtCommModelManager* commModelManager();
829  virtual const DtCommModelManager* commModelManager() const;
831 
833 
834  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
835  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
837 
839  virtual DtSimCommandDistributor* simCommandDistributor();
840 
842  virtual DtScenario* scenario() const;
843 
846  virtual const DtSimulationAddress& simulationAddress() const;
847 
853  virtual int sessionId() const;
854 
860 
861  virtual DtU32 scenarioCapabilities() const;
862  virtual void setScenarioCapabilities(DtU32 v);
863  virtual void setScenarioCapability(DtU32 v, bool);
865 
868 
869  virtual DtString applicationType() const;
870  virtual void setApplicationType(const DtString& type);
872 
875  virtual DtVrfStatusPublisher* statusPublisher() const;
876 
879  virtual DtExerciseConn* exerciseConn() const;
880 
884  virtual void useMapDatum(const DtMapDatum& mapDatum);
885 
887  virtual void setParameterDbLoaded(bool flag);
888 
889  virtual void setMaxDrainInputTime(DtFloat64 maxTime);
890  virtual DtFloat64 maxDrainInputTime() const;
891 
892 #ifdef DtHLA
893  virtual void setMinDrainInputTime(DtFloat64 minTime);
894  virtual DtFloat64 minDrainInputTime() const;
895 #else
896  virtual void setMaxDrainInputReads(int maxReads);
897  virtual int maxDrainInputReads() const;
898 #endif
899 
900  virtual bool logFrameRateStatistics() const;
901  virtual void setLogFrameRateStatistics(bool yesOrNo);
902 
908  virtual void setDefaultParameterDbDirectory(const DtFilename& filename);
909 
911  virtual DtFilename objectGroupsRoot() const;
912 
913 #if DtHLA
914 
915 
916  virtual void setRunInTimeManagementMode(bool yesOrNo);
917  virtual bool runInTimeManagementMode() const;
918 
922  static void startTimeManagement(void* usr);
923  static void stopTimeManagement(void* usr);
924 
927  virtual void processStartTimeManagement();
928  virtual void processStopTimeManagement();
929 
930 #endif
931 
932  virtual void setFullyLoadTerrain(bool yesOrNo);
933  virtual bool fullyLoadTerrain() const;
934 
938 
939  virtual void setAssertOnBlockingTerrainCalls(bool b);
940  virtual bool assertOnBlockingTerrainCalls() const;
942 
943  //-------------------------------------------------------
945  //-------------------------------------------------------
946 
949  virtual void addPluginToLoad(const DtString&);
950 
953  virtual void setLoadPluginsIfVersionMismatch(bool);
954  virtual bool loadPluginsIfVersionMismatch() const;
955 
957 
958  DtVrfCreator* vrfCreator();
959  const DtVrfCreator* vrfCreator() const;
961 
965 
966  virtual void addPreLoadTerrainCallback(
968  virtual void removePreLoadTerrainCallback(
971 
975 
976  virtual void addPostLoadTerrainCallback(
978  virtual void removePostLoadTerrainCallback(
981 
984  virtual void runForDuration(double);
985 
987  virtual void stopSimulationDurationTimer();
988 
990  static void runDurationCompleteCallback(void*);
991  virtual void processRunDurationComplete();
992 
994  virtual void setPublishingGlobalEnvironment(bool);
995 
999 
1000  virtual void addPreLoadScenarioCallback(
1002  virtual void removePreLoadScenarioCallback(
1005 
1007 
1008  virtual void addPreCreateSimulationObjectGroupCallback(
1010  virtual void removePreCreateSimulationObjectGroupCallback(
1013 
1017 
1018  virtual void addPostLoadScenarioCallback(
1020  virtual void removePostLoadScenarioCallback(
1023 
1025 
1026  virtual void addPostCreateSimulationObjectGroupCallback(
1028  virtual void removePostCreateSimulationObjectGroupCallback(
1031 
1033 
1034  virtual void addPreImportScenarioCallback(
1036  virtual void removePreImportScenarioCallback(
1039 
1041 
1042  virtual void addPostImportScenarioCallback(
1044  virtual void removePostImportScenarioCallback(
1047 
1050 
1051  virtual void addPreSaveScenarioCallback(
1053  virtual void removePreSaveScenarioCallback(
1056 
1059 
1060  virtual void addPostSaveScenarioCallback(
1062  virtual void removePostSaveScenarioCallback(
1065 
1068 
1069  virtual void addPreCloseScenarioCallback(
1071  virtual void removePreCloseScenarioCallback(
1074 
1077 
1078  virtual void addPostCloseScenarioCallback(
1080  virtual void removePostCloseScenarioCallback(
1083 
1085 
1086  virtual void addPreSaveSimulationObjectGroupsCallback(
1088  virtual void removePreSaveSimulationObjectGroupsCallback(
1091 
1093 
1094  virtual void addPostSaveSimulationObjectGroupsCallback(
1096  virtual void removePostSaveSimulationObjectGroupsCallback(
1099 
1102 
1103  virtual void addScenarioPauseCallback(
1105  virtual void removeScenarioPauseCallback(
1108 
1111 
1112  virtual void addScenarioRunCallback(
1114  virtual void removeScenarioRunCallback(
1117 
1122 
1123  virtual void addPreScenarioRewindCallback(
1125  virtual void removePreScenarioRewindCallback(
1128 
1131 
1132  virtual void addPostScenarioRewindCallback(
1134  virtual void removePostScenarioRewindCallback(
1137 
1140 
1141  virtual void addPostTickCallback(
1143  virtual void removePostTickCallback(
1146 
1148 
1149  virtual void setTimeToQuit(bool);
1150  virtual bool timeToQuit() const;
1152 
1156  virtual bool executeSimCommand(const DtSimCommand& simCommand);
1157 
1160  virtual void unloadTerrain();
1161 
1163  virtual bool isOrbatEnabled() const;
1164 
1166  virtual bool canSleep() const;
1168  virtual double timeScale() const;
1169 
1170 public:
1171 
1175  static void objectParametersOpCallback(DtSimMessage* msg, void* usr);
1176 
1177 protected:
1179  static void scenarioDescriptionCallback(DtSimMessage*, void* usr);
1180  virtual void processScenarioDescription(DtSimMessage*);
1181 
1183  static void setScenarioFilenameCallback(DtSimMessage*, void* usr);
1184  virtual void processSetScenarioFilename(DtSimMessage*);
1185 
1187  static void setRunDurationCallback(DtSimMessage*, void* usr);
1188  virtual void processSetRunDuration(DtSimMessage*);
1189 
1191  static void actionCategoriesRequestCallback(DtSimMessage* msg, void* usr);
1192  virtual void processActionCategoriesRequest(DtSimMessage* msg);
1193 
1195  static void scenarioStatusRequestCallback(DtSimMessage* msg, void* usr);
1196  virtual void processScenarioStatusRequest(DtSimMessage* msg);
1197 
1199  static void adjustSettingsForTimeMultiplierCallback(DtFloat64 timeMult, void* usr);
1200 
1201 private:
1203  DtCgf(const DtCgf& original);
1205  DtCgf& operator=(const DtCgf& original);
1206 
1207 protected:
1209  virtual void loadAllPlugins();
1210 
1212  virtual bool loadComponentAttachmentTable(const DtFilename& filename);
1218  virtual bool loadTerrain(const DtFilename& filename);
1219 
1223  virtual DtFilename findTerrainFile(const DtFilename& startFile, const std::vector<DtFilename>& searchPaths,
1224  const std::string& extension) const;
1225 
1227  virtual bool loadOrderOfBattle(const DtFilename& filename);
1228  virtual bool loadOrderOfBattleFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1229  virtual bool loadOrderOfBattle(const DtInMemorySnapshot::OOB&);
1230 
1232  virtual bool loadScenarioScripts(const DtFilename& filename);
1233  virtual bool loadScenarioScriptsFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1234  virtual bool loadScenarioScripts(const std::string& buffer);
1235 
1237  virtual bool loadOrbat(const DtFilename& filename, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1238  virtual bool loadOrbatFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1239  virtual bool loadOrbat(const std::string& buffer, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1240 
1244  virtual bool loadParameterDb(const DtFilename& filename,
1245  const DtReaderWriter::SearchPaths& searchPaths, bool clearLoadedObjects = true);
1246 
1249  virtual bool loadObjectParametersDBFile(const DtFilename& opdFile,
1250  const DtReaderWriter::SearchPaths& searchPaths, bool clearLoadedObjects = true);
1251 
1255  virtual bool loadPhysicalWorldFile(const DtFilename& file, bool force = false);
1256 
1260  virtual bool loadDetonationParametersFile(const DtFilename& file, bool force = false);
1261 
1263  virtual bool loadPlans(const DtFilename& filename);
1264  virtual bool loadPlansFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1265  virtual bool loadPlans(const std::string& buffer);
1266 
1268  virtual bool loadGlobalPlans(const DtFilename& filename);
1269  virtual bool loadGlobalPlansFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1270 
1272  virtual void loadHostilityAndExtras(const DtScenarioExplorer& se);
1273  virtual void loadHostilityAndExtrasFromZipFile(const DtFilename& scenarioZipFile, const DtScenarioExplorer& se);
1274  virtual void loadHostilityAndExtras(const std::string& buffer);
1275 
1278  virtual void loadActivities(const DtScenarioExplorer&);
1279 
1282  virtual void loadModelSetFiles(const DtScenarioExplorer&);
1283 
1286  virtual void loadActionCategories(const DtFilename& f);
1287 
1288  virtual bool loadForceHostility(const DtFilename& filename, bool clear = true);
1289  virtual bool loadForceHostilityFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename, bool clear = true);
1290 
1291  virtual bool loadScenarioExtras(const DtFilename& filename);
1292  virtual bool loadScenarioExtrasFromZipFile(const DtFilename&, const DtFilename& filename);
1293  virtual bool loadScenarioExtras(const std::string& buffer);
1294 
1297  virtual void processObjectParametersOp(DtSimMessage * msg);
1298 
1299 
1302  virtual void emptyParametersDB();
1303 
1314  virtual void setFrameRateMode(const DtString& mode, DtReal deltaTime);
1315 
1317  virtual void setAutoReorganization(bool onOff);
1318 
1321  virtual void drainInput();
1322 
1326  virtual DtVrfPlugin* loadPlugin(const DtString&);
1327 
1332 #if DtHLA
1333  DtHlaExerciseClock* exerciseClock() const;
1334 #else
1335  DtExerciseClock* exerciseClock() const;
1336 #endif
1337 
1340  virtual bool setupCommModelsForScenario(const DtScenarioExplorer& e);
1341 
1345  virtual void updateReadyStatus();
1346 
1348  virtual void processOrganizationManagerReady(const DtOrganizationManagerReadyCallbackInfo&);
1349  static void organizationManagerReadyCallback(const DtOrganizationManagerReadyCallbackInfo&, void* usr);
1350 
1353 
1354  static void simCommandCallback(DtSimMessage* msg, void* usr);
1355  virtual void processSimCommand(DtSimMessage* msg);
1357 
1361 
1362  static void deferredLoadScenarioCallback(void * data);
1363  virtual void processDeferredLoadScenario();
1364 
1367  virtual void processLoadScenario(const DtScenario* = 0, const DtInMemorySnapshot* = 0);
1369 
1374 
1375  static void deferredRollbackCallback(void * data);
1376  virtual void processDeferredRollback();
1378 
1382 
1383  static void deferredImportScenarioCallback(void * data);
1384  virtual void processDeferredImportScenario();
1386 
1390 
1391  static void deferredRewindCallback(void * data);
1392  virtual void processDeferredRewind();
1394 
1395  //-------------------------------------------------------
1397  //-------------------------------------------------------
1398 
1399  void rolloverStatsLogFilename(const DtScenario* scenario);
1400 
1401  void logScenarioLoad(const DtScenario* scenario);
1402  void logScenarioRewind();
1403  void logScenarioClose();
1404 
1407  virtual void clearAllSimulationModelSetInformation();
1408 
1409  virtual void adjustSettingsForTimeMultiplier(double timeMultiplier);
1410 
1411 protected:
1413 
1415  DtSimulationAddress mySimulationAddress;
1416 
1419 
1421  bool myOK;
1422 
1425 
1428  std::vector<DtString> myPluginsToLoad;
1430 
1433 
1436 
1438 
1440 
1442 
1444 
1446  DtExerciseConn* myExerciseConn;
1447 
1450 
1453 
1456 
1459 
1461 
1469 
1471 
1474 
1477 
1480 
1483 
1486 
1488 
1490 
1492 
1495 
1498 
1500 
1506 
1511 
1514 
1517 
1520 
1523 
1526 
1529 
1533 
1536 
1541 
1552 
1555 
1563 
1565 #if DtHLA
1567 #else
1568  int myMaxDrainInputReads;
1569 #endif
1570 
1575  void setVrfCreator(DtVrfCreator* creator);
1577 
1579 
1580  bool ownVrfCreator() const;
1581  void setOwnVrfCreator(bool yesOrNo);
1583 
1585  virtual bool differingModelSets(DtScenario*) const;
1586 
1587 protected:
1592 
1593 #if DtHLA
1595 #endif
1596 
1599 
1604 
1608 #if DtHLA
1610 #else
1611  DtExerciseClock* myExerciseClockPtr;
1612 #endif
1613 
1615 
1619 
1624 
1629 
1635 
1638 
1640 
1643  typedef std::pair<std::string, bool> ActionCategory;
1644  typedef std::map<std::string, ActionCategory> ActionCategories;
1646 
1649 
1654 
1657 
1659 
1664 
1665  std::vector<DtFilename> myObjectGroupsRoot;
1666 
1668  {
1669  DtlObjPtr planArgs;
1670  DtlObjPtr oobArgs;
1671  };
1672 
1673  std::set<DtGlobalObjectDesignator> myRemoteObjectGlobalIds;
1674 
1675  typedef std::map<DtString, SimulationObjectGroupInformation> StoredSimulationObjectGroupInformation;
1677 
1684 
1685  std::set<DtFilename> myLoadedModelSets;
1686 
1689 };
1690 

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)