18 #include <vlutil/vlFilename.h>
19 #include <vlutil/vlTime.h>
20 #include <vl/hostStructs.h>
22 #include <vlutil/vlPrint.h>
48 class DtCustomReportManager;
94 DtCgf(
const DtSimulationAddress& addr, DtU32 sessionId = 1);
120 int entityAdvisory = 100);
131 virtual void sendFinalStatus();
138 virtual bool importScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
139 const std::map<std::string, std::string>& importData);
144 virtual DtString exportScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
145 const std::map<std::string, std::string>& exportData);
150 virtual bool loadScenario(
const DtFilename& name);
158 virtual bool loadScenario(
const DtScenario& scenario);
166 virtual bool newScenario(
const DtFilename& dbname =
167 DtFilename::nullFilename(),
const DtFilename& simulationModelSet =
168 DtFilename::nullFilename());
173 virtual bool saveScenario(
const DtFilename& savename);
177 virtual void closeScenario();
182 virtual bool loadAdditionalObjectParameters(
const DtFilename& paramsFileName);
186 virtual void loadCoreSimulationModelSets();
193 virtual void pause();
200 virtual void rewind();
207 virtual void setForceParameterDbReload(
bool reload);
208 virtual bool forceParameterDbReload()
const;
215 virtual void setEnableResourceMonitor(
bool b);
216 virtual bool isResourceMonitorEnabled()
const;
221 virtual void setAppInstance(HINSTANCE hInstance);
222 virtual void setConsoleWindow(HWND consoleWindow);
237 virtual const DtFilename& defaultTerrainDirectory();
238 virtual void setDefaultTerrainDirectory(
const DtFilename& directory);
246 virtual const DtFilename& defaultSimulationModelSetFilename();
247 virtual void setDefaultSimulationModelSetFilename(
const DtFilename& filename);
252 virtual void setUseDIGuy(
bool diguy);
253 virtual bool useDIGuy()
const;
261 virtual const DtFilename& diGuyCharacterDataFilename();
262 virtual void setDIGuyCharacterDataFilename(
const DtFilename& filename);
264 virtual const DtFilename& diGuyAnimationsFilename();
265 virtual void setDIGuyAnimationsFilename(
const DtFilename& filename);
270 virtual void setMsdlSIDCMappingFile(
const DtFilename&);
271 virtual const DtFilename& msdlSIDCMappingFile()
const;
276 virtual void setCountryCodesMappingFile(
const DtFilename&);
277 virtual const DtFilename& countryCodesMappingFile()
const;
290 virtual void deleteObject(
const DtString& name)
const;
294 virtual void deleteObject(
const DtEntityIdentifier& objectIdentifier)
const;
313 const DtString& uniqueName = DtString::nullString())
const;
329 virtual DtVrfObject* createRoute(
const DtList& vertices,
330 const DtString& uniqueName = DtString::nullString())
const;
348 const DtString& uniqueName = DtString::nullString())
const;
364 const DtList& vertices,
365 const DtString& uniqueName = DtString::nullString())
const;
381 const DtList& vertices,
382 const DtString& uniqueName = DtString::nullString())
const;
399 const DtList& vertices,
400 const DtString& uniqueName = DtString::nullString())
const;
437 const DtEntityType& entityType,
441 const DtString& entityName = DtString::nullString(),
442 bool allowBlocking =
true,
443 std::list<DtAdminContent*>* initialAdminContent = 0)
const;
479 const DtEntityType& aggregateType,
483 DtList* subordinateNames = 0,
484 const DtString& aggregateName = DtString::nullString())
const;
498 const DtEntityType& aggregateType,
502 bool createSubordinates,
503 const DtString& aggregateName = DtString::nullString(),
504 bool allowBlocking =
true)
const;
517 virtual bool addSubordinate(
DtVrfObject* subordinate,
535 virtual bool removeSubordinate(
DtVrfObject* subordinate,
557 virtual void sendSetDataRequest(
DtVrfObject* entity,
562 virtual void assignPlanByName(
const DtString& name,
const DtPlan& plan);
583 virtual void logObjectConsoleToFile(
DtVrfObject*
object,
584 DtFilename filename = DtFilename::nullFilename());
587 virtual void stopLoggingObjectConsoleToFile(
DtVrfObject*
object);
592 virtual void setObjectConsoleNotificationLevel(
DtVrfObject*
object,
593 DtNotifyLevelType
level);
681 virtual const DtSimulationAddress& simulationAddress()
const;
688 virtual int sessionId()
const;
696 virtual DtExerciseConn* exerciseConn()
const;
704 virtual void useMapDatum(
const DtMapDatum& mapDatum);
707 virtual void setParameterDbLoaded(
bool flag);
709 virtual void setMaxDrainInputTime(
DtFloat64 maxTime);
710 virtual DtFloat64 maxDrainInputTime()
const;
713 virtual void setMinDrainInputTime(
DtFloat64 minTime);
714 virtual DtFloat64 minDrainInputTime()
const;
716 virtual void setMaxDrainInputReads(
int maxReads);
717 virtual int maxDrainInputReads()
const;
720 virtual bool logFrameRateStatistics()
const;
721 virtual void setLogFrameRateStatistics(
bool yesOrNo);
722 virtual void setLogFrameRateOutputDirectory(
const DtFilename&);
723 virtual const DtFilename& logFrameRateOutputDirectory()
const;
730 virtual void setDefaultParameterDbDirectory(
const DtFilename& filename);
735 virtual void setRunInTimeManagementMode(
bool yesOrNo);
736 virtual bool runInTimeManagementMode()
const;
741 static void startTimeManagement(
void* usr);
742 static void stopTimeManagement(
void* usr);
746 virtual void processStartTimeManagement();
747 virtual void processStopTimeManagement();
751 virtual void setFullyLoadTerrain(
bool yesOrNo);
752 virtual bool fullyLoadTerrain()
const;
758 virtual void setAssertOnBlockingTerrainCalls(
bool b);
759 virtual bool assertOnBlockingTerrainCalls()
const;
768 virtual void addPluginToLoad(
const DtString&);
772 virtual void setLoadPluginsIfVersionMismatch(
bool);
773 virtual bool loadPluginsIfVersionMismatch()
const;
785 virtual void addPreLoadTerrainCallback(
787 virtual void removePreLoadTerrainCallback(
795 virtual void addPostLoadTerrainCallback(
797 virtual void removePostLoadTerrainCallback(
805 virtual void addPreLoadScenarioCallback(
807 virtual void removePreLoadScenarioCallback(
815 virtual void addPostLoadScenarioCallback(
817 virtual void removePostLoadScenarioCallback(
824 virtual void addPreSaveScenarioCallback(
826 virtual void removePreSaveScenarioCallback(
833 virtual void addPostSaveScenarioCallback(
835 virtual void removePostSaveScenarioCallback(
842 virtual void addPreCloseScenarioCallback(
844 virtual void removePreCloseScenarioCallback(
851 virtual void addPostCloseScenarioCallback(
853 virtual void removePostCloseScenarioCallback(
860 virtual void addScenarioPauseCallback(
862 virtual void removeScenarioPauseCallback(
869 virtual void addScenarioRunCallback(
871 virtual void removeScenarioRunCallback(
878 virtual void addPreScenarioRewindCallback(
880 virtual void removePreScenarioRewindCallback(
887 virtual void addPostScenarioRewindCallback(
889 virtual void removePostScenarioRewindCallback(
896 virtual void addPostTickCallback(
898 virtual void removePostTickCallback(
904 virtual void setTimeToQuit(
bool);
905 virtual bool timeToQuit()
const;
911 virtual bool executeSimCommand(
const DtSimCommand& simCommand);
918 static void objectParametersOpCallback(
DtSimMessage* msg,
void* usr);
922 static void scenarioDescriptionCallback(
DtSimMessage*,
void* usr);
926 static void actionCategoriesRequestCallback(
DtSimMessage* msg,
void* usr);
927 virtual void processActionCategoriesRequest(
DtSimMessage* msg);
937 virtual void loadAllPlugins();
940 virtual bool loadComponentAttachmentTable(
const DtFilename& filename);
946 virtual bool loadTerrain(
const DtFilename& filename);
951 virtual DtFilename findTerrainFile(
const DtFilename& startFile,
const std::vector<DtFilename>& searchPaths,
952 const std::string& extension)
const;
956 virtual void unloadTerrain();
959 virtual bool loadOrderOfBattle(
const DtFilename& filename);
962 virtual bool loadScenarioScripts(
const DtFilename& filename);
966 virtual bool loadParameterDb(
const DtFilename& filename);
969 virtual bool loadObjectParametersDBFile(
const DtFilename& opdFile);
974 virtual bool loadPhysicalWorldFile(
const DtFilename& file,
bool force =
false);
977 virtual bool loadPlans(
const DtFilename& filename);
980 virtual bool loadGlobalPlans(
const DtFilename& filename);
991 virtual void loadActionCategories(
const DtFilename& f);
993 virtual bool loadForceHostility(
const DtFilename& filename);
995 virtual bool loadScenarioExtras(
const DtFilename& filename);
999 virtual void processObjectParametersOp(
DtSimMessage * msg);
1004 virtual void emptyParametersDB();
1016 virtual void setFrameRateMode(
const DtString& mode, DtReal deltaTime);
1019 virtual void setAutoReorganization(
bool onOff);
1023 virtual void drainInput();
1047 virtual void updateReadyStatus();
1056 static void simCommandCallback(
DtSimMessage* msg,
void* usr);
1064 static void deferredLoadScenarioCallback(
void * data);
1065 virtual void processDeferredLoadScenario();
1072 static void deferredRewindCallback(
void * data);
1073 virtual void processDeferredRewind();
1081 static std::string createStatsLogFilename(
1082 const std::string& originalFilename,
const DtSimManager& simManager,
1083 const DtScenario* scenario,
const DtFilename& logFrameRateDir);
1084 static void logScenarioLoad(
const DtSimManager& simManager,
1085 const DtScenario* scenario,
const DtFilename& logFrameOutDir);
1086 static void logScenarioRewind();
1087 static void logScenarioClose();
1088 static void logFrameRateStatsToFile(
DtSimManager* simManager);
1226 int myMaxDrainInputReads;
1238 bool ownVrfCreator()
const;
1239 void setOwnVrfCreator(
bool yesOrNo);