VR-Forces 4.6 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"
31 #include <boost/unordered_set.hpp>
32 
33 class DtOrbatManager;
34 class DtAdminContent;
35 class DtIfScenarioStatus;
37 class DtExerciseConn;
38 class DtScenario;
39 class DtScenarioExplorer;
40 class DtPhysicalWorld;
42 class DtCommModelManager;
43 class DtTerrainInterface;
44 class DtVrfCreator;
45 struct DtInMemorySnapshot;
46 class DtSimManager;
52 class DtIfSaveScenario;
58 class DtFireManager;
60 class DtJoyDeviceManager;
61 class DtHostilityManager;
63 class DtCustomReportManager;
65 class DtFactoryManager;
66 class DtVrfObject;
67 class DtObjectType;
68 class DtList;
69 class DtSimTask;
70 class DtSetDataRequest;
71 class DtPlan;
72 class DtPaperMapDatabase;
73 class DtMapDatum;
74 class DtVrfParameterDb;
75 class DtSimMessage;
76 class DtResourceMonitor;
78 class DtVrfPlugin;
79 class DtVrfPluginManager;
80 class DtHlaExerciseClock;
81 class DtExerciseClock;
82 class DtSimCommand;
88 class DtTimer;
90 class DtSpawnSinkManager;
91 class DtSnapshotManager;
93 
106 #include "vrfcgf/vrfcgfDefines.h"
108 {
109 public:
110 
117  DtCgf(const DtSimulationAddress& addr, DtU32 sessionId = 1, const DtU32& capabilities = 0xffff);
118 
142  virtual bool init(DtExerciseConn* conn, DtVrfCreator* creator = 0,
143  int entityAdvisory = 100);
144 
146  virtual ~DtCgf();
147 
149  virtual const DtVrfSimOptionsInterface* simOptions() const;
150 
152  virtual void setSimOptions(const DtVrfSimOptionsInterface&);
153 
156  virtual void tick();
157 
160  virtual void sendFinalStatus();
161 
162  //-------------------------------------------------------
164  //-------------------------------------------------------
165 
167  virtual bool importScenarioDescriptionFile(const DtFilename& file, const DtString& format,
168  const std::map<std::string, std::string>& importData);
169 
173  virtual DtString exportScenarioDescriptionFile(const DtFilename& file, const DtString& format,
174  const std::map<std::string, std::string>& exportData);
175 
177  virtual void setAppDataDir(const DtString&);
178  virtual DtFilename appDataDir() const;
179 
181  virtual void setUserDataDir(const DtString&);
182  virtual DtFilename userDataDir() const;
183 
185  virtual void setDataDir(const DtString&);
186  virtual DtFilename dataDir() const;
187 
191  virtual bool loadScenario(const DtFilename& name, int scenarioRunId = 0,
192  bool isOrbatEnabled = false, bool createGlobalEnv = false,
193  bool createGlobalDynamicTerrain = false);
194 
201  virtual bool loadScenario(const DtScenario& scenario, int scenarioRunId = 0,
202  bool isOrbatEnabled = false, bool createGlobalEnv = false,
203  bool createGlobalDynamicTerrain = false);
204 
206  virtual void queueRollbackTo(DtInMemorySnapshot* chkp, int scenarioRunId = 0);
207 
209  virtual bool rollbackTo(DtInMemorySnapshot* chkp, int scenarioRunId = 0);
210 
212  virtual void clearSimulationObjects();
213 
216  virtual bool importScenario(const DtScenario&);
217  virtual bool importScenario(const DtFilename&);
218 
225  virtual bool newScenario(const DtFilename& dbname =
226  DtFilename::nullFilename(), const DtFilename& simulationModelSet =
227  DtFilename::nullFilename());
228 
230  DtIfScenarioStatus* scenarioStatus() { return myScenarioStatus; };
231  const DtIfScenarioStatus* scenarioStatus() const { return myScenarioStatus; };
232 
233  virtual void sendScenarioStatusMessage();
234 
238  virtual bool saveScenario(const DtFilename& savename, bool saveAsSip = false);
239 
241  virtual bool takeSnapshot(DtInMemorySnapshot*);
242 
245  virtual void rollbackToSimTime(double simTime);
246 
249  virtual void takeSnapshot(bool makeBase);
250 
253  virtual bool saveSnapshot(const DtFilename& saveFolder,
254  DtCompressedFileTransporter&, DtIfSaveScenario* msg, const DtSimulationAddress& requestor);
255 
259  virtual bool saveSimulationObjectGroup(DtFilename saveFolder, const DtString& groupName,
260  int flags, boost::unordered_set<DtUUID>& uuidsSaved, bool& savAsZipFile);
261 
267  virtual bool createSimulationObjectGroup(const DtString& group, int flags, int force, const DtVector& geocentricLocation,
268  double offsetRotation, bool storedInZipFile = false);
269 
274  virtual void closeScenario(const DtFilename& terrainToOpen = "", bool forceCloseAll = false);
275 
280  virtual bool loadAdditionalObjectParameters(const DtFilename& paramsFileName,
281  const DtReaderWriter::SearchPaths& searchPaths);
282 
285  virtual void run();
286 
288  virtual void pause();
289 
295  virtual void rewind(int scenarioRunId = 0);
296 
298  virtual void setRejectMismatchedScenarioMessages(bool);
299  virtual bool rejectMismatchedScenarioMessages() const;
300 
305 
306  virtual void setForceParameterDbReload(bool reload);
307  virtual bool forceParameterDbReload() const;
309 
313 
314  virtual void setEnableResourceMonitor(bool b);
315  virtual bool isResourceMonitorEnabled() const;
317 
319  virtual bool canSimulate() const { return myCanSimulate; };
320 
322  virtual bool aboutToLoadOrRewindScenario() const { return myAboutToLoadOrRewindScenario; };
323 
327  virtual void setSmsValidationEnabled(bool b);
328 
340 
341  virtual const DtFilename& defaultTerrainDirectory();
342  virtual void setDefaultTerrainDirectory(const DtFilename& directory);
344 
346  virtual void sendServerLoadMessage(const DtString& error, int level = DtNlWarn);
347 
352 
353  virtual const DtFilename& defaultSimulationModelSetFilename();
354  virtual void setDefaultSimulationModelSetFilename(const DtFilename& filename);
356 
358 
359  virtual void setUseDIGuy(bool diguy);
360  virtual bool useDIGuy() const;
362 
366 
367  virtual const DtFilename& diGuyAnimationsFilename();
368  virtual void setDIGuyAnimationsFilename(const DtFilename& filename);
370 
372 
373  virtual void setMsdlSidcMappingFile(const DtFilename&);
374  virtual const DtFilename& msdlSidcMappingFile() const;
376 
378 
379  virtual void setCountryCodesMappingFile(const DtFilename&);
380  virtual const DtFilename& countryCodesMappingFile() const;
382 
385  virtual DtSimulationModelSet* defaultModelSet();
386 
387  //-------------------------------------------------------
389  //-------------------------------------------------------
390 
393  virtual void deleteObject(const DtUUID& name, bool andRemoveFromOrbat = true) const;
394 
397  virtual void deleteObject(const DtEntityIdentifier& objectIdentifier, bool andRemoveFromOrbat = true) const;
398 
399  //-------------------------------------------------------
401  //-------------------------------------------------------
402 
404 
415  virtual DtVrfObject* createWaypoint(const DtVector& localPosition,
416  const DtString& uniqueName = DtString::nullString()) const;
417 
419 
432  virtual DtVrfObject* createRoute(const DtList& vertices,
433  const DtString& uniqueName = DtString::nullString()) const;
434 
436 
448  virtual DtVrfObject* createPhaseLine(
449  const DtVector& dbPoint1,
450  const DtVector& dbPoint2,
451  const DtString& uniqueName = DtString::nullString()) const;
452 
454 
466  virtual DtVrfObject* createControlArea(
467  const DtList& vertices,
468  const DtString& uniqueName = DtString::nullString()) const;
469 
471 
483  virtual DtVrfObject* createObstacle(
484  const DtList& vertices,
485  const DtString& uniqueName = DtString::nullString()) const;
486 
488 
501  virtual DtVrfObject* createDisaggregationArea(
502  const DtList& vertices,
503  const DtString& uniqueName = DtString::nullString()) const;
504 
505  //-------------------------------------------------------
507  //-------------------------------------------------------
508 
510 
539  virtual DtVrfObject* createEntity(
540  const DtEntityType& entityType,
541  DtForceType force,
542  const DtVector& dbPosition,
543  DtReal heading,
544  const DtString& entityName = DtString::nullString(),
545  bool allowBlocking = true,
546  std::list<DtAdminContent*>* initialAdminContent = 0,
547  bool addToOrbat = true) const;
548 
549 
551 
582  virtual DtVrfObject* createAggregate(
583  const DtEntityType& aggregateType,
584  DtForceType force,
585  const DtVector& localPosition,
586  DtReal heading,
587  const std::vector<DtUUID>& subordinates = std::vector<DtUUID>(),
588  const DtString& aggregateName = DtString::nullString(),
589  bool addToOrbat = true) const;
590 
602  virtual DtVrfObject* createAggregate(
603  const DtEntityType& aggregateType,
604  DtForceType force,
605  const DtVector& localPosition,
606  DtReal heading,
607  bool createSubordinates,
608  const DtString& aggregateName = DtString::nullString(),
609  bool allowBlocking = true,
610  bool addToOrbat = true) const;
611 
623  virtual bool addSubordinate(DtVrfObject* subordinate,
624  DtVrfObject* aggregate);
625 
641  virtual bool removeSubordinate(DtVrfObject* subordinate,
642  DtVrfObject* aggregate);
643 
644  //-------------------------------------------------------
646  //-------------------------------------------------------
647 
654  virtual void assignTask(DtVrfObject* entity, const DtSimTask& task);
655 
663  virtual void sendSetDataRequest(DtVrfObject* entity,
664  const DtSetDataRequest& request);
665 
668  virtual void assignPlanByUUID(const DtUUID&, const DtPlan& plan);
669 
674  virtual void abandonPlan(DtVrfObject* entity);
675 
680  virtual void restartPlan(DtVrfObject* entity);
681 
682  //-------------------------------------------------------
684  //-------------------------------------------------------
685 
689  virtual void logObjectConsoleToFile(DtVrfObject* object,
690  DtFilename filename = DtFilename::nullFilename());
691 
693  virtual void stopLoggingObjectConsoleToFile(DtVrfObject* object);
694 
698  virtual void setObjectConsoleNotificationLevel(DtVrfObject* object,
699  DtNotifyLevelType level);
700 
703  virtual void setPublishZeroVelocityWhenPaused(bool);
704  virtual bool publishZeroVelocityWhenPaused() const;
705 
709  virtual void setSetDeadReckoningAlgorithmToStaticOnPause(bool);
710  virtual bool setDeadReckoningAlgorithmToStaticOnPause() const;
711 
717  virtual bool reuseEntityIdentifiersOnScenarioLoad() const;
718  virtual void setReuseEntityIdentifiersOnScenarioLoad(bool);
719 
721  virtual void setTaskVisualizationPublicationMode(DtTaskVisualizationPublicationMode mode);
722  virtual DtTaskVisualizationPublicationMode taskVisualizationPublicationMode() const;
723 
726  virtual void setUseDrawControlForTaskVisualizations(bool);
727  virtual bool useDrawControlForTaskVisualizations() const;
728 
729  //-------------------------------------------------------
731  //-------------------------------------------------------
732 
735  virtual DtSimManager* simManager() const;
736 
738  virtual DtImportExportScenarioDescriptionManager* importExportScenarioDescriptionManager() const;
739 
742  virtual DtResourceMonitor* resourceMonitor() const;
743 
745  virtual DtVrfObjectIdGenerator* vrfObjectIdGenerator() const;
746 
749  virtual DtFactoryManager* factoryManager() const;
750 
752  virtual DtSnapshotManager* snapshotManager() const;
753 
756  virtual DtVrfObjectManager* vrfObjectManager() const;
757 
759  virtual DtScriptedTaskManager* scriptedTaskManager() const;
760 
762  virtual DtScenarioEventManager* scenarioEventManager() const;
763 
765  virtual DtHazardAreaManager* hazardAreaManager() const;
766 
768  virtual DtIntelCollectionAreaManager* intelCollectionAreaManager() const;
769 
771  virtual DtScriptedObjectsMovementManager* ScriptedObjectsMovementManager() const;
772 
775  virtual DtAggregateSpatialModel* aggregateSpatialModel() const;
776 
779  virtual DtDetonationManager* detonationManager() const;
780 
783  virtual DtFireManager* fireManager() const;
784 
789  virtual DtScenarioExtrasMgr* scenarioExtrasMgr() const;
790 
792  virtual DtVrfParameterDb* parameterDatabase() const;
793 
795  virtual DtGlobalPlanManager* globalPlanManager();
796 
798  virtual DtStealthCommandsManager* stealthCommandsManager();
799 
802 
803  virtual DtTerrainInterface* terrainInterface();
804  virtual const DtTerrainInterface* terrainInterface() const;
806 
809 
810  virtual DtPhysicalWorld* physicalWorld();
811  virtual const DtPhysicalWorld* physicalWorld() const;
813 
815  virtual void setPhysicalWorld(DtPhysicalWorld* newPhysicalWorld);
816 
817  virtual DtVrfNavAreaManager* vrfNavAreaManager();
818  virtual const DtVrfNavAreaManager* vrfNavAreaManager() const;
819 
820  virtual void setVrfNavAreaManager(DtVrfNavAreaManager* newVrfNavAreaManager);
821 
822  virtual DtSpawnSinkManager* spawnSinkManager();
823  virtual const DtSpawnSinkManager* spawnSinkManager() const;
824 
826 
827  virtual DtCommModelManager* commModelManager();
828  virtual const DtCommModelManager* commModelManager() const;
830 
832 
833  virtual DtSimTerrainRequestManager* simTerrainRequestManager();
834  virtual const DtSimTerrainRequestManager* simTerrainRequestManager() const;
836 
838  virtual DtSimCommandDistributor* simCommandDistributor();
839 
841  virtual DtScenario* scenario() const;
842 
845  virtual const DtSimulationAddress& simulationAddress() const;
846 
852  virtual int sessionId() const;
853 
859 
860  virtual DtU32 scenarioCapabilities() const;
861  virtual void setScenarioCapabilities(DtU32 v);
862  virtual void setScenarioCapability(DtU32 v, bool);
864 
867 
868  virtual DtString applicationType() const;
869  virtual void setApplicationType(const DtString& type);
871 
874  virtual DtVrfStatusPublisher* statusPublisher() const;
875 
878  virtual DtExerciseConn* exerciseConn() const;
879 
883  virtual void useMapDatum(const DtMapDatum& mapDatum);
884 
886  virtual void setParameterDbLoaded(bool flag);
887 
888  virtual void setMaxDrainInputTime(DtFloat64 maxTime);
889  virtual DtFloat64 maxDrainInputTime() const;
890 
891 #ifdef DtHLA
892  virtual void setMinDrainInputTime(DtFloat64 minTime);
893  virtual DtFloat64 minDrainInputTime() const;
894 #else
895  virtual void setMaxDrainInputReads(int maxReads);
896  virtual int maxDrainInputReads() const;
897 #endif
898 
899  virtual bool logFrameRateStatistics() const;
900  virtual void setLogFrameRateStatistics(bool yesOrNo);
901 
907  virtual void setDefaultParameterDbDirectory(const DtFilename& filename);
908 
910  virtual DtFilename objectGroupsRoot() const;
911 
912 #if DtHLA
913 
914 
915  virtual void setRunInTimeManagementMode(bool yesOrNo);
916  virtual bool runInTimeManagementMode() const;
917 
921  static void startTimeManagement(void* usr);
922  static void stopTimeManagement(void* usr);
923 
926  virtual void processStartTimeManagement();
927  virtual void processStopTimeManagement();
928 
929 #endif
930 
931  virtual void setFullyLoadTerrain(bool yesOrNo);
932  virtual bool fullyLoadTerrain() const;
933 
937 
938  virtual void setAssertOnBlockingTerrainCalls(bool b);
939  virtual bool assertOnBlockingTerrainCalls() const;
941 
942  //-------------------------------------------------------
944  //-------------------------------------------------------
945 
948  virtual void addPluginToLoad(const DtString&);
949 
952  virtual void setLoadPluginsIfVersionMismatch(bool);
953  virtual bool loadPluginsIfVersionMismatch() const;
954 
956 
957  DtVrfCreator* vrfCreator();
958  const DtVrfCreator* vrfCreator() const;
960 
964 
965  virtual void addPreLoadTerrainCallback(
967  virtual void removePreLoadTerrainCallback(
970 
974 
975  virtual void addPostLoadTerrainCallback(
977  virtual void removePostLoadTerrainCallback(
980 
983  virtual void runForDuration(double);
984 
986  virtual void stopSimulationDurationTimer();
987 
989  static void runDurationCompleteCallback(void*);
990  virtual void processRunDurationComplete();
991 
993  virtual void setPublishingGlobalEnvironment(bool);
994 
998 
999  virtual void addPreLoadScenarioCallback(
1001  virtual void removePreLoadScenarioCallback(
1004 
1006 
1007  virtual void addPreCreateSimulationObjectGroupCallback(
1009  virtual void removePreCreateSimulationObjectGroupCallback(
1012 
1016 
1017  virtual void addPostLoadScenarioCallback(
1019  virtual void removePostLoadScenarioCallback(
1022 
1024 
1025  virtual void addPostCreateSimulationObjectGroupCallback(
1027  virtual void removePostCreateSimulationObjectGroupCallback(
1030 
1032 
1033  virtual void addPreImportScenarioCallback(
1035  virtual void removePreImportScenarioCallback(
1038 
1040 
1041  virtual void addPostImportScenarioCallback(
1043  virtual void removePostImportScenarioCallback(
1046 
1049 
1050  virtual void addPreSaveScenarioCallback(
1052  virtual void removePreSaveScenarioCallback(
1055 
1058 
1059  virtual void addPostSaveScenarioCallback(
1061  virtual void removePostSaveScenarioCallback(
1064 
1067 
1068  virtual void addPreCloseScenarioCallback(
1070  virtual void removePreCloseScenarioCallback(
1073 
1076 
1077  virtual void addPostCloseScenarioCallback(
1079  virtual void removePostCloseScenarioCallback(
1082 
1084 
1085  virtual void addPreSaveSimulationObjectGroupsCallback(
1087  virtual void removePreSaveSimulationObjectGroupsCallback(
1090 
1092 
1093  virtual void addPostSaveSimulationObjectGroupsCallback(
1095  virtual void removePostSaveSimulationObjectGroupsCallback(
1098 
1101 
1102  virtual void addScenarioPauseCallback(
1104  virtual void removeScenarioPauseCallback(
1107 
1110 
1111  virtual void addScenarioRunCallback(
1113  virtual void removeScenarioRunCallback(
1116 
1121 
1122  virtual void addPreScenarioRewindCallback(
1124  virtual void removePreScenarioRewindCallback(
1127 
1130 
1131  virtual void addPostScenarioRewindCallback(
1133  virtual void removePostScenarioRewindCallback(
1136 
1139 
1140  virtual void addPostTickCallback(
1142  virtual void removePostTickCallback(
1145 
1147 
1148  virtual void setTimeToQuit(bool);
1149  virtual bool timeToQuit() const;
1151 
1155  virtual bool executeSimCommand(const DtSimCommand& simCommand);
1156 
1159  virtual void unloadTerrain();
1160 
1162  virtual bool isOrbatEnabled() const;
1163 
1165  virtual bool canSleep() const;
1166 
1167 public:
1168 
1172  static void objectParametersOpCallback(DtSimMessage* msg, void* usr);
1173 
1174 protected:
1176  static void scenarioDescriptionCallback(DtSimMessage*, void* usr);
1177  virtual void processScenarioDescription(DtSimMessage*);
1178 
1180  static void setScenarioFilenameCallback(DtSimMessage*, void* usr);
1181  virtual void processSetScenarioFilename(DtSimMessage*);
1182 
1184  static void setRunDurationCallback(DtSimMessage*, void* usr);
1185  virtual void processSetRunDuration(DtSimMessage*);
1186 
1188  static void actionCategoriesRequestCallback(DtSimMessage* msg, void* usr);
1189  virtual void processActionCategoriesRequest(DtSimMessage* msg);
1190 
1192  static void scenarioStatusRequestCallback(DtSimMessage* msg, void* usr);
1193  virtual void processScenarioStatusRequest(DtSimMessage* msg);
1194 
1195 private:
1197  DtCgf(const DtCgf& original);
1199  DtCgf& operator=(const DtCgf& original);
1200 
1201 protected:
1203  virtual void loadAllPlugins();
1204 
1206  virtual bool loadComponentAttachmentTable(const DtFilename& filename);
1212  virtual bool loadTerrain(const DtFilename& filename);
1213 
1217  virtual DtFilename findTerrainFile(const DtFilename& startFile, const std::vector<DtFilename>& searchPaths,
1218  const std::string& extension) const;
1219 
1221  virtual bool loadOrderOfBattle(const DtFilename& filename);
1222  virtual bool loadOrderOfBattleFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1223  virtual bool loadOrderOfBattle(const DtInMemorySnapshot::OOB&);
1224 
1226  virtual bool loadScenarioScripts(const DtFilename& filename);
1227  virtual bool loadScenarioScriptsFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1228  virtual bool loadScenarioScripts(const std::string& buffer);
1229 
1231  virtual bool loadOrbat(const DtFilename& filename, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1232  virtual bool loadOrbatFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1233  virtual bool loadOrbat(const std::string& buffer, DtOrbatManager* intoOm = 0, bool clearBeforeLoading = true);
1234 
1238  virtual bool loadParameterDb(const DtFilename& filename,
1239  const DtReaderWriter::SearchPaths& searchPaths, bool clearLoadedObjects = true);
1240 
1243  virtual bool loadObjectParametersDBFile(const DtFilename& opdFile,
1244  const DtReaderWriter::SearchPaths& searchPaths, bool clearLoadedObjects = true);
1245 
1249  virtual bool loadPhysicalWorldFile(const DtFilename& file, bool force = false);
1250 
1254  virtual bool loadDetonationParametersFile(const DtFilename& file, bool force = false);
1255 
1257  virtual bool loadPlans(const DtFilename& filename);
1258  virtual bool loadPlansFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1259  virtual bool loadPlans(const std::string& buffer);
1260 
1262  virtual bool loadGlobalPlans(const DtFilename& filename);
1263  virtual bool loadGlobalPlansFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename);
1264 
1266  virtual void loadHostilityAndExtras(const DtScenarioExplorer& se);
1267  virtual void loadHostilityAndExtrasFromZipFile(const DtFilename& scenarioZipFile, const DtScenarioExplorer& se);
1268  virtual void loadHostilityAndExtras(const std::string& buffer);
1269 
1272  virtual void loadActivities(const DtScenarioExplorer&);
1273 
1276  virtual void loadModelSetFiles(const DtScenarioExplorer&);
1277 
1280  virtual void loadActionCategories(const DtFilename& f);
1281 
1282  virtual bool loadForceHostility(const DtFilename& filename, bool clear = true);
1283  virtual bool loadForceHostilityFromZipFile(const DtFilename& scenarioZipFile, const DtFilename& filename, bool clear = true);
1284 
1285  virtual bool loadScenarioExtras(const DtFilename& filename);
1286  virtual bool loadScenarioExtrasFromZipFile(const DtFilename&, const DtFilename& filename);
1287  virtual bool loadScenarioExtras(const std::string& buffer);
1288 
1291  virtual void processObjectParametersOp(DtSimMessage * msg);
1292 
1293 
1296  virtual void emptyParametersDB();
1297 
1308  virtual void setFrameRateMode(const DtString& mode, DtReal deltaTime);
1309 
1311  virtual void setAutoReorganization(bool onOff);
1312 
1315  virtual void drainInput();
1316 
1320  virtual DtVrfPlugin* loadPlugin(const DtString&);
1321 
1326 #if DtHLA
1327  DtHlaExerciseClock* exerciseClock() const;
1328 #else
1329  DtExerciseClock* exerciseClock() const;
1330 #endif
1331 
1334  virtual bool setupCommModelsForScenario(const DtScenarioExplorer& e);
1335 
1339  virtual void updateReadyStatus();
1340 
1342  virtual void processOrganizationManagerReady(const DtOrganizationManagerReadyCallbackInfo&);
1343  static void organizationManagerReadyCallback(const DtOrganizationManagerReadyCallbackInfo&, void* usr);
1344 
1347 
1348  static void simCommandCallback(DtSimMessage* msg, void* usr);
1349  virtual void processSimCommand(DtSimMessage* msg);
1351 
1355 
1356  static void deferredLoadScenarioCallback(void * data);
1357  virtual void processDeferredLoadScenario();
1358 
1361  virtual void processLoadScenario(const DtScenario* = 0, const DtInMemorySnapshot* = 0);
1363 
1368 
1369  static void deferredRollbackCallback(void * data);
1370  virtual void processDeferredRollback();
1372 
1376 
1377  static void deferredImportScenarioCallback(void * data);
1378  virtual void processDeferredImportScenario();
1380 
1384 
1385  static void deferredRewindCallback(void * data);
1386  virtual void processDeferredRewind();
1388 
1389  //-------------------------------------------------------
1391  //-------------------------------------------------------
1392 
1393  void rolloverStatsLogFilename(const DtScenario* scenario);
1394 
1395  void logScenarioLoad(const DtScenario* scenario);
1396  void logScenarioRewind();
1397  void logScenarioClose();
1398 
1401  virtual void clearAllSimulationModelSetInformation();
1402 
1403 protected:
1405 
1407  DtSimulationAddress mySimulationAddress;
1408 
1411 
1413  bool myOK;
1414 
1417 
1420  std::vector<DtString> myPluginsToLoad;
1422 
1425 
1428 
1430 
1432 
1434 
1436 
1438  DtExerciseConn* myExerciseConn;
1439 
1442 
1445 
1448 
1451 
1453 
1461 
1463 
1466 
1469 
1472 
1475 
1478 
1480 
1482 
1484 
1487 
1490 
1492 
1498 
1503 
1506 
1509 
1512 
1515 
1518 
1522 
1525 
1530 
1541 
1544 
1552 
1554 #if DtHLA
1556 #else
1557  int myMaxDrainInputReads;
1558 #endif
1559 
1564  void setVrfCreator(DtVrfCreator* creator);
1566 
1568 
1569  bool ownVrfCreator() const;
1570  void setOwnVrfCreator(bool yesOrNo);
1572 
1574  virtual bool differingModelSets(DtScenario*) const;
1575 
1576 protected:
1581 
1582 #if DtHLA
1584 #endif
1585 
1588 
1593 
1597 #if DtHLA
1599 #else
1600  DtExerciseClock* myExerciseClockPtr;
1601 #endif
1602 
1606 
1611 
1616 
1622 
1625 
1627 
1630  typedef std::pair<std::string, bool> ActionCategory;
1631  typedef std::map<std::string, ActionCategory> ActionCategories;
1633 
1636 
1641 
1644 
1646 
1651 
1652  std::vector<DtFilename> myObjectGroupsRoot;
1653 
1655  {
1656  DtlObjPtr planArgs;
1657  DtlObjPtr oobArgs;
1658  };
1659 
1660  std::set<DtGlobalObjectDesignator> myRemoteObjectGlobalIds;
1661 
1662  typedef std::map<DtString, SimulationObjectGroupInformation> StoredSimulationObjectGroupInformation;
1664 
1671 
1672  std::set<DtFilename> myLoadedModelSets;
1673 
1676 };
1677 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)