18 #include <vlutil/vlFilename.h>
19 #include <vlutil/vlTime.h>
20 #include <vl/hostStructs.h>
22 #include <vlutil/vlPrint.h>
49 class DtCustomReportManager;
95 DtCgf(
const DtSimulationAddress& addr, DtU32 sessionId = 1);
121 int entityAdvisory = 100);
132 virtual void sendFinalStatus();
139 virtual bool importScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
140 const std::map<std::string, std::string>& importData);
145 virtual DtString exportScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
146 const std::map<std::string, std::string>& exportData);
151 virtual bool loadScenario(
const DtFilename& name);
159 virtual bool loadScenario(
const DtScenario& scenario);
167 virtual bool newScenario(
const DtFilename& dbname =
168 DtFilename::nullFilename(),
const DtFilename& simulationModelSet =
169 DtFilename::nullFilename());
174 virtual bool saveScenario(
const DtFilename& savename);
178 virtual void closeScenario();
183 virtual bool loadAdditionalObjectParameters(
const DtFilename& paramsFileName);
187 virtual void loadCoreSimulationModelSets();
194 virtual void pause();
201 virtual void rewind();
208 virtual void setForceParameterDbReload(
bool reload);
209 virtual bool forceParameterDbReload()
const;
216 virtual void setEnableResourceMonitor(
bool b);
217 virtual bool isResourceMonitorEnabled()
const;
222 virtual void setAppInstance(HINSTANCE hInstance);
223 virtual void setConsoleWindow(HWND consoleWindow);
238 virtual const DtFilename& defaultTerrainDirectory();
239 virtual void setDefaultTerrainDirectory(
const DtFilename& directory);
247 virtual const DtFilename& defaultSimulationModelSetFilename();
248 virtual void setDefaultSimulationModelSetFilename(
const DtFilename& filename);
253 virtual void setUseDIGuy(
bool diguy);
254 virtual bool useDIGuy()
const;
262 virtual const DtFilename& diGuyCharacterDataFilename();
263 virtual void setDIGuyCharacterDataFilename(
const DtFilename& filename);
265 virtual const DtFilename& diGuyAnimationsFilename();
266 virtual void setDIGuyAnimationsFilename(
const DtFilename& filename);
271 virtual void setMsdlSIDCMappingFile(
const DtFilename&);
272 virtual const DtFilename& msdlSIDCMappingFile()
const;
277 virtual void setCountryCodesMappingFile(
const DtFilename&);
278 virtual const DtFilename& countryCodesMappingFile()
const;
291 virtual void deleteObject(
const DtString& name)
const;
295 virtual void deleteObject(
const DtEntityIdentifier& objectIdentifier)
const;
314 const DtString& uniqueName = DtString::nullString())
const;
330 virtual DtVrfObject* createRoute(
const DtList& vertices,
331 const DtString& uniqueName = DtString::nullString())
const;
349 const DtString& uniqueName = DtString::nullString())
const;
365 const DtList& vertices,
366 const DtString& uniqueName = DtString::nullString())
const;
382 const DtList& vertices,
383 const DtString& uniqueName = DtString::nullString())
const;
400 const DtList& vertices,
401 const DtString& uniqueName = DtString::nullString())
const;
438 const DtEntityType& entityType,
442 const DtString& entityName = DtString::nullString(),
443 bool allowBlocking =
true,
444 std::list<DtAdminContent*>* initialAdminContent = 0)
const;
480 const DtEntityType& aggregateType,
484 DtList* subordinateNames = 0,
485 const DtString& aggregateName = DtString::nullString())
const;
499 const DtEntityType& aggregateType,
503 bool createSubordinates,
504 const DtString& aggregateName = DtString::nullString(),
505 bool allowBlocking =
true)
const;
518 virtual bool addSubordinate(
DtVrfObject* subordinate,
536 virtual bool removeSubordinate(
DtVrfObject* subordinate,
558 virtual void sendSetDataRequest(
DtVrfObject* entity,
563 virtual void assignPlanByName(
const DtString& name,
const DtPlan& plan);
584 virtual void logObjectConsoleToFile(
DtVrfObject*
object,
585 DtFilename filename = DtFilename::nullFilename());
588 virtual void stopLoggingObjectConsoleToFile(
DtVrfObject*
object);
593 virtual void setObjectConsoleNotificationLevel(
DtVrfObject*
object,
594 DtNotifyLevelType
level);
685 virtual const DtSimulationAddress& simulationAddress()
const;
692 virtual int sessionId()
const;
700 virtual DtExerciseConn* exerciseConn()
const;
708 virtual void useMapDatum(
const DtMapDatum& mapDatum);
711 virtual void setParameterDbLoaded(
bool flag);
713 virtual void setMaxDrainInputTime(
DtFloat64 maxTime);
714 virtual DtFloat64 maxDrainInputTime()
const;
717 virtual void setMinDrainInputTime(
DtFloat64 minTime);
718 virtual DtFloat64 minDrainInputTime()
const;
720 virtual void setMaxDrainInputReads(
int maxReads);
721 virtual int maxDrainInputReads()
const;
724 virtual bool logFrameRateStatistics()
const;
725 virtual void setLogFrameRateStatistics(
bool yesOrNo);
726 virtual void setLogFrameRateOutputDirectory(
const DtFilename&);
727 virtual const DtFilename& logFrameRateOutputDirectory()
const;
734 virtual void setDefaultParameterDbDirectory(
const DtFilename& filename);
739 virtual void setRunInTimeManagementMode(
bool yesOrNo);
740 virtual bool runInTimeManagementMode()
const;
745 static void startTimeManagement(
void* usr);
746 static void stopTimeManagement(
void* usr);
750 virtual void processStartTimeManagement();
751 virtual void processStopTimeManagement();
755 virtual void setFullyLoadTerrain(
bool yesOrNo);
756 virtual bool fullyLoadTerrain()
const;
762 virtual void setAssertOnBlockingTerrainCalls(
bool b);
763 virtual bool assertOnBlockingTerrainCalls()
const;
772 virtual void addPluginToLoad(
const DtString&);
776 virtual void setLoadPluginsIfVersionMismatch(
bool);
777 virtual bool loadPluginsIfVersionMismatch()
const;
789 virtual void addPreLoadTerrainCallback(
791 virtual void removePreLoadTerrainCallback(
799 virtual void addPostLoadTerrainCallback(
801 virtual void removePostLoadTerrainCallback(
809 virtual void addPreLoadScenarioCallback(
811 virtual void removePreLoadScenarioCallback(
819 virtual void addPostLoadScenarioCallback(
821 virtual void removePostLoadScenarioCallback(
828 virtual void addPreSaveScenarioCallback(
830 virtual void removePreSaveScenarioCallback(
837 virtual void addPostSaveScenarioCallback(
839 virtual void removePostSaveScenarioCallback(
846 virtual void addPreCloseScenarioCallback(
848 virtual void removePreCloseScenarioCallback(
855 virtual void addPostCloseScenarioCallback(
857 virtual void removePostCloseScenarioCallback(
864 virtual void addScenarioPauseCallback(
866 virtual void removeScenarioPauseCallback(
873 virtual void addScenarioRunCallback(
875 virtual void removeScenarioRunCallback(
882 virtual void addPreScenarioRewindCallback(
884 virtual void removePreScenarioRewindCallback(
891 virtual void addPostScenarioRewindCallback(
893 virtual void removePostScenarioRewindCallback(
900 virtual void addPostTickCallback(
902 virtual void removePostTickCallback(
908 virtual void setTimeToQuit(
bool);
909 virtual bool timeToQuit()
const;
915 virtual bool executeSimCommand(
const DtSimCommand& simCommand);
922 static void objectParametersOpCallback(
DtSimMessage* msg,
void* usr);
926 static void scenarioDescriptionCallback(
DtSimMessage*,
void* usr);
930 static void actionCategoriesRequestCallback(
DtSimMessage* msg,
void* usr);
931 virtual void processActionCategoriesRequest(
DtSimMessage* msg);
941 virtual void loadAllPlugins();
944 virtual bool loadComponentAttachmentTable(
const DtFilename& filename);
950 virtual bool loadTerrain(
const DtFilename& filename);
955 virtual DtFilename findTerrainFile(
const DtFilename& startFile,
const std::vector<DtFilename>& searchPaths,
956 const std::string& extension)
const;
960 virtual void unloadTerrain();
963 virtual bool loadOrderOfBattle(
const DtFilename& filename);
966 virtual bool loadScenarioScripts(
const DtFilename& filename);
970 virtual bool loadParameterDb(
const DtFilename& filename);
973 virtual bool loadObjectParametersDBFile(
const DtFilename& opdFile);
978 virtual bool loadPhysicalWorldFile(
const DtFilename& file,
bool force =
false);
981 virtual bool loadPlans(
const DtFilename& filename);
984 virtual bool loadGlobalPlans(
const DtFilename& filename);
995 virtual void loadActionCategories(
const DtFilename& f);
997 virtual bool loadForceHostility(
const DtFilename& filename);
999 virtual bool loadScenarioExtras(
const DtFilename& filename);
1003 virtual void processObjectParametersOp(
DtSimMessage * msg);
1008 virtual void emptyParametersDB();
1020 virtual void setFrameRateMode(
const DtString& mode, DtReal deltaTime);
1023 virtual void setAutoReorganization(
bool onOff);
1027 virtual void drainInput();
1051 virtual void updateReadyStatus();
1060 static void simCommandCallback(
DtSimMessage* msg,
void* usr);
1068 static void deferredLoadScenarioCallback(
void * data);
1069 virtual void processDeferredLoadScenario();
1076 static void deferredRewindCallback(
void * data);
1077 virtual void processDeferredRewind();
1085 static std::string createStatsLogFilename(
1086 const std::string& originalFilename,
const DtSimManager& simManager,
1087 const DtScenario* scenario,
const DtFilename& logFrameRateDir);
1088 static void logScenarioLoad(
const DtSimManager& simManager,
1089 const DtScenario* scenario,
const DtFilename& logFrameOutDir);
1090 static void logScenarioRewind();
1091 static void logScenarioClose();
1092 static void logFrameRateStatsToFile(
DtSimManager* simManager);
1231 int myMaxDrainInputReads;
1243 bool ownVrfCreator()
const;
1244 void setOwnVrfCreator(
bool yesOrNo);