17 #include <vlutil/vlFilename.h>
18 #include <vlutil/vlTime.h>
19 #include <vl/hostStructs.h>
21 #include <vlutil/vlPrint.h>
55 class DtCustomReportManager;
64 class DtPaperMapDatabase;
69 class DtVrfObjectIdGenerator;
107 DtCgf(
const DtSimulationAddress& addr, DtU32 sessionId = 1);
133 int entityAdvisory = 100);
150 virtual void sendFinalStatus();
157 virtual bool importScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
158 const std::map<std::string, std::string>& importData);
163 virtual DtString exportScenarioDescriptionFile(
const DtFilename& file,
const DtString& format,
164 const std::map<std::string, std::string>& exportData);
167 virtual void setAppDataDir(
const DtString&);
168 virtual const DtString& appDataDir()
const;
173 virtual bool loadScenario(
const DtFilename& name);
181 virtual bool loadScenario(
const DtScenario& scenario);
189 virtual bool newScenario(
const DtFilename& dbname =
190 DtFilename::nullFilename(),
const DtFilename& simulationModelSet =
191 DtFilename::nullFilename());
196 virtual bool saveScenario(
const DtFilename& savename);
202 virtual void closeScenario(
const DtFilename& terrainToOpen =
"");
208 virtual bool loadAdditionalObjectParameters(
const DtFilename& paramsFileName,
216 virtual void pause();
223 virtual void rewind();
230 virtual void setForceParameterDbReload(
bool reload);
231 virtual bool forceParameterDbReload()
const;
238 virtual void setEnableResourceMonitor(
bool b);
239 virtual bool isResourceMonitorEnabled()
const;
245 virtual void setSmsValidationEnabled(
bool b);
249 virtual void setAppInstance(HINSTANCE hInstance);
250 virtual void setConsoleWindow(HWND consoleWindow);
265 virtual const DtFilename& defaultTerrainDirectory();
266 virtual void setDefaultTerrainDirectory(
const DtFilename& directory);
274 virtual const DtFilename& defaultSimulationModelSetFilename();
275 virtual void setDefaultSimulationModelSetFilename(
const DtFilename& filename);
280 virtual void setUseDIGuy(
bool diguy);
281 virtual bool useDIGuy()
const;
289 virtual const DtFilename& diGuyCharacterDataFilename();
290 virtual void setDIGuyCharacterDataFilename(
const DtFilename& filename);
292 virtual const DtFilename& diGuyAnimationsFilename();
293 virtual void setDIGuyAnimationsFilename(
const DtFilename& filename);
298 virtual void setMsdlSidcMappingFile(
const DtFilename&);
299 virtual const DtFilename& msdlSidcMappingFile()
const;
304 virtual void setCountryCodesMappingFile(
const DtFilename&);
305 virtual const DtFilename& countryCodesMappingFile()
const;
318 virtual void deleteObject(
const DtString& name)
const;
322 virtual void deleteObject(
const DtEntityIdentifier& objectIdentifier)
const;
341 const DtString& uniqueName = DtString::nullString())
const;
357 virtual DtVrfObject* createRoute(
const DtList& vertices,
358 const DtString& uniqueName = DtString::nullString())
const;
376 const DtString& uniqueName = DtString::nullString())
const;
392 const DtList& vertices,
393 const DtString& uniqueName = DtString::nullString())
const;
409 const DtList& vertices,
410 const DtString& uniqueName = DtString::nullString())
const;
427 const DtList& vertices,
428 const DtString& uniqueName = DtString::nullString())
const;
465 const DtEntityType& entityType,
469 const DtString& entityName = DtString::nullString(),
470 bool allowBlocking =
true,
471 std::list<DtAdminContent*>* initialAdminContent = 0)
const;
507 const DtEntityType& aggregateType,
511 DtList* subordinateNames = 0,
512 const DtString& aggregateName = DtString::nullString())
const;
526 const DtEntityType& aggregateType,
530 bool createSubordinates,
531 const DtString& aggregateName = DtString::nullString(),
532 bool allowBlocking =
true)
const;
545 virtual bool addSubordinate(
DtVrfObject* subordinate,
563 virtual bool removeSubordinate(
DtVrfObject* subordinate,
585 virtual void sendSetDataRequest(
DtVrfObject* entity,
590 virtual void assignPlanByName(
const DtString& name,
const DtPlan& plan);
611 virtual void logObjectConsoleToFile(
DtVrfObject*
object,
612 DtFilename filename = DtFilename::nullFilename());
615 virtual void stopLoggingObjectConsoleToFile(
DtVrfObject*
object);
620 virtual void setObjectConsoleNotificationLevel(
DtVrfObject*
object,
621 DtNotifyLevelType
level);
625 virtual void setPublishZeroVelocityWhenPaused(
bool);
626 virtual bool publishZeroVelocityWhenPaused()
const;
631 virtual void setSetDeadReckoningAlgorithmToStaticOnPause(
bool);
632 virtual bool setDeadReckoningAlgorithmToStaticOnPause()
const;
650 virtual DtVrfObjectIdGenerator* vrfObjectIdGenerator()
const;
747 virtual const DtSimulationAddress& simulationAddress()
const;
754 virtual int sessionId()
const;
762 virtual DtExerciseConn* exerciseConn()
const;
767 virtual void useMapDatum(
const DtMapDatum& mapDatum);
770 virtual void setParameterDbLoaded(
bool flag);
772 virtual void setMaxDrainInputTime(
DtFloat64 maxTime);
773 virtual DtFloat64 maxDrainInputTime()
const;
776 virtual void setMinDrainInputTime(
DtFloat64 minTime);
777 virtual DtFloat64 minDrainInputTime()
const;
779 virtual void setMaxDrainInputReads(
int maxReads);
780 virtual int maxDrainInputReads()
const;
783 virtual bool logFrameRateStatistics()
const;
784 virtual void setLogFrameRateStatistics(
bool yesOrNo);
785 virtual void setFrameRateStatisticsLogFile(
const DtFilename&);
786 virtual const DtFilename& frameRateStatisticsLogFile()
const;
793 virtual void setDefaultParameterDbDirectory(
const DtFilename& filename);
798 virtual void setRunInTimeManagementMode(
bool yesOrNo);
799 virtual bool runInTimeManagementMode()
const;
804 static void startTimeManagement(
void* usr);
805 static void stopTimeManagement(
void* usr);
809 virtual void processStartTimeManagement();
810 virtual void processStopTimeManagement();
814 virtual void setFullyLoadTerrain(
bool yesOrNo);
815 virtual bool fullyLoadTerrain()
const;
821 virtual void setAssertOnBlockingTerrainCalls(
bool b);
822 virtual bool assertOnBlockingTerrainCalls()
const;
831 virtual void addPluginToLoad(
const DtString&);
835 virtual void setLoadPluginsIfVersionMismatch(
bool);
836 virtual bool loadPluginsIfVersionMismatch()
const;
848 virtual void addPreLoadTerrainCallback(
850 virtual void removePreLoadTerrainCallback(
858 virtual void addPostLoadTerrainCallback(
860 virtual void removePostLoadTerrainCallback(
866 virtual void runForDuration(
double);
869 virtual void stopSimulationDurationTimer();
872 static void runDurationCompleteCallback(
void*);
873 virtual void processRunDurationComplete();
876 virtual void setPublishingGlobalEnvironment(
bool);
882 virtual void addPreLoadScenarioCallback(
884 virtual void removePreLoadScenarioCallback(
892 virtual void addPostLoadScenarioCallback(
894 virtual void removePostLoadScenarioCallback(
901 virtual void addPreSaveScenarioCallback(
903 virtual void removePreSaveScenarioCallback(
910 virtual void addPostSaveScenarioCallback(
912 virtual void removePostSaveScenarioCallback(
919 virtual void addPreCloseScenarioCallback(
921 virtual void removePreCloseScenarioCallback(
928 virtual void addPostCloseScenarioCallback(
930 virtual void removePostCloseScenarioCallback(
937 virtual void addScenarioPauseCallback(
939 virtual void removeScenarioPauseCallback(
946 virtual void addScenarioRunCallback(
948 virtual void removeScenarioRunCallback(
955 virtual void addPreScenarioRewindCallback(
957 virtual void removePreScenarioRewindCallback(
964 virtual void addPostScenarioRewindCallback(
966 virtual void removePostScenarioRewindCallback(
973 virtual void addPostTickCallback(
975 virtual void removePostTickCallback(
981 virtual void setTimeToQuit(
bool);
982 virtual bool timeToQuit()
const;
988 virtual bool executeSimCommand(
const DtSimCommand& simCommand);
995 static void objectParametersOpCallback(
DtSimMessage* msg,
void* usr);
999 static void scenarioDescriptionCallback(
DtSimMessage*,
void* usr);
1000 virtual void processScenarioDescription(
DtSimMessage*);
1003 static void setRunDurationCallback(
DtSimMessage*,
void* usr);
1007 static void actionCategoriesRequestCallback(
DtSimMessage* msg,
void* usr);
1008 virtual void processActionCategoriesRequest(
DtSimMessage* msg);
1011 static void scenarioStatusRequestCallback(
DtSimMessage* msg,
void* usr);
1012 virtual void processScenarioStatusRequest(
DtSimMessage* msg);
1013 virtual void sendScenarioStatusMessage();
1023 virtual void loadAllPlugins();
1026 virtual bool loadComponentAttachmentTable(
const DtFilename& filename);
1032 virtual bool loadTerrain(
const DtFilename& filename);
1037 virtual DtFilename findTerrainFile(
const DtFilename& startFile,
const std::vector<DtFilename>& searchPaths,
1038 const std::string& extension)
const;
1042 virtual void unloadTerrain();
1045 virtual bool loadOrderOfBattle(
const DtFilename& filename);
1048 virtual bool loadScenarioScripts(
const DtFilename& filename);
1053 virtual bool loadParameterDb(
const DtFilename& filename,
1058 virtual bool loadObjectParametersDBFile(
const DtFilename& opdFile,
1064 virtual bool loadPhysicalWorldFile(
const DtFilename& file,
bool force =
false);
1067 virtual bool loadPlans(
const DtFilename& filename);
1070 virtual bool loadGlobalPlans(
const DtFilename& filename);
1085 virtual void loadActionCategories(
const DtFilename& f);
1087 virtual bool loadForceHostility(
const DtFilename& filename,
bool clear =
true);
1089 virtual bool loadScenarioExtras(
const DtFilename& filename);
1093 virtual void processObjectParametersOp(
DtSimMessage * msg);
1098 virtual void emptyParametersDB();
1110 virtual void setFrameRateMode(
const DtString& mode, DtReal deltaTime);
1113 virtual void setAutoReorganization(
bool onOff);
1117 virtual void drainInput();
1141 virtual void updateReadyStatus();
1150 static void simCommandCallback(
DtSimMessage* msg,
void* usr);
1158 static void deferredLoadScenarioCallback(
void * data);
1159 virtual void processDeferredLoadScenario();
1166 static void deferredRewindCallback(
void * data);
1167 virtual void processDeferredRewind();
1174 DtOutputLogger& getFrameRateStatsLogger(
const DtFilename& newFilename =
"");
1175 std::string createStatsLogFilename(
1176 const std::string& originalFilename,
const DtSimManager& simManager,
1180 void logScenarioRewind();
1181 void logScenarioClose();
1182 void logFrameRateStatsToFile(
DtSimManager* simManager);
1332 int myMaxDrainInputReads;
1344 bool ownVrfCreator()
const;
1345 void setOwnVrfCreator(
bool yesOrNo);