18 #include <vlutil/vlFilename.h>
19 #include <vlutil/vlTime.h>
20 #include <vl/hostStructs.h>
22 #include <vlutil/vlPrint.h>
49 class DtCustomReportManager;
57 class DtPaperMapDatabase;
59 class DtStealthRemoteController;
63 class DtVrfObjectIdGenerator;
97 DtCgf(
const DtSimulationAddress& addr, DtU32 sessionId = 1);
123 int entityAdvisory = 100);
134 virtual void sendFinalStatus();
141 virtual bool importScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
142 const std::map<std::string, std::string>& importData);
147 virtual DtString exportScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
148 const std::map<std::string, std::string>& exportData);
153 virtual bool loadScenario(
const DtFilename& name);
161 virtual bool loadScenario(
const DtScenario& scenario);
169 virtual bool newScenario(
const DtFilename& dbname =
170 DtFilename::nullFilename(),
const DtFilename& simulationModelSet =
171 DtFilename::nullFilename());
176 virtual bool saveScenario(
const DtFilename& savename);
182 virtual void closeScenario(
const DtFilename& terrainToOpen =
"");
187 virtual bool loadAdditionalObjectParameters(
const DtFilename& paramsFileName);
191 virtual void loadCoreSimulationModelSets();
198 virtual void pause();
205 virtual void rewind();
212 virtual void setForceParameterDbReload(
bool reload);
213 virtual bool forceParameterDbReload()
const;
220 virtual void setEnableResourceMonitor(
bool b);
221 virtual bool isResourceMonitorEnabled()
const;
226 virtual void setAppInstance(HINSTANCE hInstance);
227 virtual void setConsoleWindow(HWND consoleWindow);
242 virtual const DtFilename& defaultTerrainDirectory();
243 virtual void setDefaultTerrainDirectory(
const DtFilename& directory);
251 virtual const DtFilename& defaultSimulationModelSetFilename();
252 virtual void setDefaultSimulationModelSetFilename(
const DtFilename& filename);
257 virtual void setUseDIGuy(
bool diguy);
258 virtual bool useDIGuy()
const;
266 virtual const DtFilename& diGuyCharacterDataFilename();
267 virtual void setDIGuyCharacterDataFilename(
const DtFilename& filename);
269 virtual const DtFilename& diGuyAnimationsFilename();
270 virtual void setDIGuyAnimationsFilename(
const DtFilename& filename);
275 virtual void setMsdlSIDCMappingFile(
const DtFilename&);
276 virtual const DtFilename& msdlSIDCMappingFile()
const;
281 virtual void setCountryCodesMappingFile(
const DtFilename&);
282 virtual const DtFilename& countryCodesMappingFile()
const;
295 virtual void deleteObject(
const DtString& name)
const;
299 virtual void deleteObject(
const DtEntityIdentifier& objectIdentifier)
const;
318 const DtString& uniqueName = DtString::nullString())
const;
334 virtual DtVrfObject* createRoute(
const DtList& vertices,
335 const DtString& uniqueName = DtString::nullString())
const;
353 const DtString& uniqueName = DtString::nullString())
const;
369 const DtList& vertices,
370 const DtString& uniqueName = DtString::nullString())
const;
386 const DtList& vertices,
387 const DtString& uniqueName = DtString::nullString())
const;
404 const DtList& vertices,
405 const DtString& uniqueName = DtString::nullString())
const;
442 const DtEntityType& entityType,
446 const DtString& entityName = DtString::nullString(),
447 bool allowBlocking =
true,
448 std::list<DtAdminContent*>* initialAdminContent = 0)
const;
484 const DtEntityType& aggregateType,
488 DtList* subordinateNames = 0,
489 const DtString& aggregateName = DtString::nullString())
const;
503 const DtEntityType& aggregateType,
507 bool createSubordinates,
508 const DtString& aggregateName = DtString::nullString(),
509 bool allowBlocking =
true)
const;
522 virtual bool addSubordinate(
DtVrfObject* subordinate,
540 virtual bool removeSubordinate(
DtVrfObject* subordinate,
562 virtual void sendSetDataRequest(
DtVrfObject* entity,
567 virtual void assignPlanByName(
const DtString& name,
const DtPlan& plan);
588 virtual void logObjectConsoleToFile(
DtVrfObject*
object,
589 DtFilename filename = DtFilename::nullFilename());
592 virtual void stopLoggingObjectConsoleToFile(
DtVrfObject*
object);
597 virtual void setObjectConsoleNotificationLevel(
DtVrfObject*
object,
598 DtNotifyLevelType level);
616 virtual DtVrfObjectIdGenerator* vrfObjectIdGenerator()
const;
689 virtual const DtSimulationAddress& simulationAddress()
const;
696 virtual int sessionId()
const;
704 virtual DtExerciseConn* exerciseConn()
const;
707 virtual DtStealthRemoteController* stealthRemoteController()
const;
712 virtual void useMapDatum(
const DtMapDatum& mapDatum);
715 virtual void setParameterDbLoaded(
bool flag);
717 virtual void setMaxDrainInputTime(DtFloat64 maxTime);
718 virtual DtFloat64 maxDrainInputTime()
const;
721 virtual void setMinDrainInputTime(DtFloat64 minTime);
722 virtual DtFloat64 minDrainInputTime()
const;
724 virtual void setMaxDrainInputReads(
int maxReads);
725 virtual int maxDrainInputReads()
const;
728 virtual bool logFrameRateStatistics()
const;
729 virtual void setLogFrameRateStatistics(
bool yesOrNo);
730 virtual void setLogFrameRateOutputDirectory(
const DtFilename&);
731 virtual const DtFilename& logFrameRateOutputDirectory()
const;
738 virtual void setDefaultParameterDbDirectory(
const DtFilename& filename);
743 virtual void setRunInTimeManagementMode(
bool yesOrNo);
744 virtual bool runInTimeManagementMode()
const;
749 static void startTimeManagement(
void* usr);
750 static void stopTimeManagement(
void* usr);
754 virtual void processStartTimeManagement();
755 virtual void processStopTimeManagement();
759 virtual void setFullyLoadTerrain(
bool yesOrNo);
760 virtual bool fullyLoadTerrain()
const;
766 virtual void setAssertOnBlockingTerrainCalls(
bool b);
767 virtual bool assertOnBlockingTerrainCalls()
const;
776 virtual void addPluginToLoad(
const DtString&);
780 virtual void setLoadPluginsIfVersionMismatch(
bool);
781 virtual bool loadPluginsIfVersionMismatch()
const;
793 virtual void addPreLoadTerrainCallback(
795 virtual void removePreLoadTerrainCallback(
803 virtual void addPostLoadTerrainCallback(
805 virtual void removePostLoadTerrainCallback(
813 virtual void addPreLoadScenarioCallback(
815 virtual void removePreLoadScenarioCallback(
823 virtual void addPostLoadScenarioCallback(
825 virtual void removePostLoadScenarioCallback(
832 virtual void addPreSaveScenarioCallback(
834 virtual void removePreSaveScenarioCallback(
841 virtual void addPostSaveScenarioCallback(
843 virtual void removePostSaveScenarioCallback(
850 virtual void addPreCloseScenarioCallback(
852 virtual void removePreCloseScenarioCallback(
859 virtual void addPostCloseScenarioCallback(
861 virtual void removePostCloseScenarioCallback(
868 virtual void addScenarioPauseCallback(
870 virtual void removeScenarioPauseCallback(
877 virtual void addScenarioRunCallback(
879 virtual void removeScenarioRunCallback(
886 virtual void addPreScenarioRewindCallback(
888 virtual void removePreScenarioRewindCallback(
895 virtual void addPostScenarioRewindCallback(
897 virtual void removePostScenarioRewindCallback(
904 virtual void addPostTickCallback(
906 virtual void removePostTickCallback(
912 virtual void setTimeToQuit(
bool);
913 virtual bool timeToQuit()
const;
919 virtual bool executeSimCommand(
const DtSimCommand& simCommand);
926 static void objectParametersOpCallback(
DtSimMessage* msg,
void* usr);
930 static void scenarioDescriptionCallback(
DtSimMessage*,
void* usr);
934 static void actionCategoriesRequestCallback(
DtSimMessage* msg,
void* usr);
935 virtual void processActionCategoriesRequest(
DtSimMessage* msg);
945 virtual void loadAllPlugins();
948 virtual bool loadComponentAttachmentTable(
const DtFilename& filename);
954 virtual bool loadTerrain(
const DtFilename& filename);
959 virtual DtFilename findTerrainFile(
const DtFilename& startFile,
const std::vector<DtFilename>& searchPaths,
960 const std::string& extension)
const;
964 virtual void unloadTerrain();
967 virtual bool loadOrderOfBattle(
const DtFilename& filename);
970 virtual bool loadScenarioScripts(
const DtFilename& filename);
974 virtual bool loadParameterDb(
const DtFilename& filename);
977 virtual bool loadObjectParametersDBFile(
const DtFilename& opdFile);
982 virtual bool loadPhysicalWorldFile(
const DtFilename& file,
bool force =
false);
985 virtual bool loadPlans(
const DtFilename& filename);
988 virtual bool loadGlobalPlans(
const DtFilename& filename);
999 virtual void loadActionCategories(
const DtFilename& f);
1001 virtual bool loadForceHostility(
const DtFilename& filename);
1003 virtual bool loadScenarioExtras(
const DtFilename& filename);
1007 virtual void processObjectParametersOp(
DtSimMessage * msg);
1012 virtual void emptyParametersDB();
1024 virtual void setFrameRateMode(
const DtString& mode, DtReal deltaTime);
1027 virtual void setAutoReorganization(
bool onOff);
1031 virtual void drainInput();
1055 virtual void updateReadyStatus();
1064 static void simCommandCallback(
DtSimMessage* msg,
void* usr);
1072 static void deferredLoadScenarioCallback(
void * data);
1073 virtual void processDeferredLoadScenario();
1080 static void deferredRewindCallback(
void * data);
1081 virtual void processDeferredRewind();
1089 static std::string createStatsLogFilename(
1090 const std::string& originalFilename,
const DtSimManager& simManager,
1091 const DtScenario* scenario,
const DtFilename& logFrameRateDir);
1092 static void logScenarioLoad(
const DtSimManager& simManager,
1093 const DtScenario* scenario,
const DtFilename& logFrameOutDir);
1094 static void logScenarioRewind();
1095 static void logScenarioClose();
1096 static void logFrameRateStatsToFile(
DtSimManager* simManager);
1235 int myMaxDrainInputReads;
1247 bool ownVrfCreator()
const;
1248 void setOwnVrfCreator(
bool yesOrNo);