18 #include <vlutil/vlMachineTypes.h>
19 #include <vlutil/vlFilename.h>
20 #include <mtl/configVariable.h>
21 #include <mtl/multiConfigVariable.h>
22 #include <mtl/mtlEnvironment.h>
34 DtVrfSimOptions(
int argc,
char** argv,
const char* appName,
const char* appVersion);
37 virtual ~DtVrfSimOptions();
41 virtual bool readConfigurationFile(
const DtFilename& mtlFile);
45 virtual DtFloat64 entVrfDataTimeThreshold()
const;
48 virtual double rotationThreshold()
const;
51 virtual double translationThreshold()
const;
54 virtual double aggDimensionThreshold()
const;
58 virtual void setPublishZeroVelocityWhenPaused(
bool);
59 virtual bool publishZeroVelocityWhenPaused()
const;
64 virtual void setSetDeadReckoningAlgorithmToStaticOnPause(
bool);
65 virtual bool setDeadReckoningAlgorithmToStaticOnPause()
const;
67 virtual void setSendMessagesInNetworkProcess(
bool);
68 virtual bool sendMessagesInNetworkProcess()
const;
70 virtual void setSelfReflect(
bool use);
71 virtual bool selfReflect()
const;
75 virtual void setNumNetworkCallbackThreads(
unsigned n);
76 virtual unsigned numNetworkCallbackThreads()
const;
79 virtual bool useAbsoluteTimeStamps()
const;
82 virtual std::vector<DtString> additionalDestinationAddresses()
const;
85 virtual void setAdditionalDestinationAddresses(
const DtString& addresses);
88 virtual void setAdditionalDestinationAddresses(
const std::vector<DtString>& addresses);
91 virtual void setTaskVisualizationPublicationMode(
short state);
92 virtual short taskVisualizationPublicationMode()
const;
94 virtual void setUseDrawControlForTaskVisualizations(
bool);
95 virtual bool useDrawControlForTaskVisualizations()
const;
103 virtual void setNonVrfObjectsUUIDScheme(
const DtString&);
104 virtual DtString nonVrfObjectsUUIDScheme()
const;
108 virtual int statusUpdateHeartbeat()
const;
110 virtual bool connectionless()
const;
111 virtual bool disableRemoteDiscovery()
const;
116 virtual DtFilename simulationModelSetFilename()
const;
119 virtual bool forceParameterDbReload()
const;
126 virtual void setTargetFrameRate(
int rate);
127 virtual int targetFrameRate()
const;
131 virtual int clockMode()
const;
135 virtual void setDefaultParameterDatabasePath(
const DtFilename& path);
136 virtual const DtFilename& defaultParameterDatabasePath()
const;
140 virtual void setDefaultTerrainDatabasePath(
const DtFilename& path);
141 virtual const DtFilename& defaultTerrainDatabasePath()
const;
144 virtual DtFilename diGuyCharacterDataFile()
const;
147 virtual DtFilename diGuyAnimationsFile()
const;
151 virtual bool logFrameRateStats()
const;
152 virtual void setLogFrameRateStats(
bool yesOrNo);
155 virtual void setRejectMismatchedScenarioMessages(
bool);
156 virtual bool rejectMismatchedScenarioMessages()
const;
158 virtual bool enableNavigationLabDebugging()
const;
159 virtual void setEnableNavigationLabDebugging(
bool enable);
161 virtual int sessionId()
const;
162 virtual int appIdRangeMax()
const;
163 virtual void setAppIdRangeMax(
int);
164 virtual DtFilename batchFile()
const;
165 virtual DtFilename scenarioFile()
const;
166 virtual DtFilename terrainFile()
const;
168 virtual int frontEndProcessId()
const;
170 virtual void setStartInRunMode(
bool);
171 virtual bool startInRunMode()
const;
174 virtual void setDoNotUseConsole(
bool);
175 virtual bool usingConsole()
const;
177 virtual void setStartMinimized(
bool);
178 virtual bool startMinimized()
const;
181 virtual void setDaemonMode(
bool);
182 virtual bool daemonMode()
const;
185 virtual bool runInTimeManagementMode()
const;
187 virtual void setRunInTimeManagementMode(
bool yesNo);
189 virtual bool disableRequestUpdates()
const;
190 virtual void setDisableRequestUpdates(
bool yesNo);
192 virtual double heartbeatVariance()
const;
193 virtual void setHeartbeatVariance(
double variance);
196 virtual void setReuseEntityIdentifiersOnScenarioLoad(
bool);
197 virtual bool reuseEntityIdentifiersOnScenarioLoad()
const;
200 virtual void parseCmdLine();
202 virtual short simMgmtPduProcessLevel()
const;
204 virtual int cgfDispatcherReceivePort()
const;
205 virtual void setCgfDispatcherReceivePort(
int port);
208 virtual int tracyPort()
const;
209 virtual bool tracyPortSet()
const;
210 virtual void setTracyPort(
int port);
213 const std::vector<std::string>& pluginsToLoad()
const;
215 virtual void setLoadPluginIfVersionMismatch(
bool);
216 virtual bool loadPluginIfVersionMismatch()
const;
218 virtual void setPluginsDirectory(
const DtFilename&);
219 virtual const DtFilename& pluginsDirectory()
const;
221 virtual DtString additionalSystemScriptsDirectory()
const;
222 virtual void setAdditionalSystemScriptsDirectory(
const DtString&);
225 virtual void setDoNotUsePluginsDirectory(
bool b);
226 virtual bool doNotUsePluginsDirectory()
const;
229 virtual DtFilename outputFile()
const;
230 virtual void setOutputFile(
const DtFilename& s);
233 virtual void setNotifyLevel(DtNotifyLevelType
level);
235 virtual DtNotifyLevelType notifyLevel()
const;
242 virtual void setSendBackendLogToNetwork(
bool v);
243 virtual bool sendBackendLogToNetwork()
const;
248 virtual void setFullyLoadTerrain(
bool v);
249 virtual bool fullyLoadTerrain()
const;
255 virtual void setAssertOnBlockingTerrainCalls(
bool b);
256 virtual bool assertOnBlockingTerrainCalls()
const;
264 virtual void setHostAddress(
const DtString& address);
265 virtual DtString hostAddress()
const;
272 virtual void setReportedHostAddress(
const DtString& address);
273 virtual DtString reportedHostAddress()
const;
278 virtual void setAppDataDir(
const DtString&);
279 virtual DtString appDataDir()
const;
283 virtual void setupSettingsDirectory(
const DtFilename& f,
bool useSharedSettingsDirectory);
287 virtual void setSharedDataDir(
const DtFilename&);
288 virtual DtFilename sharedDataDir()
const;
293 virtual bool isSharedDataDirSet()
const;
298 virtual void setSharedDataRoot(
const DtFilename&);
299 virtual DtFilename sharedDataRoot()
const;
304 virtual bool isSharedDataRootSet()
const;
309 virtual void setSharedDataStem(
const DtString&);
310 virtual DtString sharedDataStem()
const;
315 virtual bool isSharedDataStemSet()
const;
320 virtual void setDataDir(
const DtString&);
326 virtual bool isDataDirSet()
const;
331 virtual void setUserDataDir(
const DtString&);
332 virtual DtString userDataDir()
const;
337 virtual bool isUserDataDirSet()
const;
342 virtual void setMsdlSidcMappingFile(
const DtString& address);
343 virtual DtFilename msdlSidcMappingFile()
const;
348 virtual void setCountryCodesMappingFile(
const DtString& address);
349 virtual DtFilename countryCodesMappingFile()
const;
353 virtual void outputMtl();
354 #if USE_VLD_MEMORY_TRACKING && _DEBUG
355 virtual bool useVld()
const;
358 virtual void setMainThreadWaitForQueue(
bool enable);
359 virtual void setNumCallbackThreads(
unsigned n);
361 virtual void setDisableParallelTick(
bool use);
362 virtual void setIssueSimExitOnFinishTestCommand(
bool shouldExit);
364 virtual void setEnableMetoc(
bool enable);
366 virtual bool mainThreadWaitForQueue()
const;
367 virtual unsigned numCallbackThreads()
const;
368 virtual bool disableParallelTick()
const;
369 virtual bool enableMetoc()
const;
370 virtual bool issueSimExitOnFinishTestCommand()
const;
372 virtual void setDisableParallelPublisherTick(
bool);
373 virtual bool disableParallelPublisherTick()
const;
375 virtual void setTickPublishersDuringEntityTick(
bool);
376 virtual bool tickPublishersDuringEntityTick()
const;
378 virtual DtFilename testLogFile()
const;
380 virtual void setGamewareMemorySize(
int sizeInMb);
381 virtual int gamewareMemorySize()
const;
383 virtual void setGamewareQueryTimeBudget(
double ms);
384 virtual double gamewareQueryTimeBudget()
const;
386 virtual void setRegenerateNavigationDataAtRuntime(
bool v);
387 virtual bool regenerateNavigationDataAtRuntime()
const;
389 virtual void setMaxNavigationRegenerationThreads(
int threads);
390 virtual int maxNavigationRegenerationThreads()
const;
392 virtual void setNumberOfNavQueueProcessingThreads(
int threads);
393 virtual int numberOfNavQueueProcessingThreads()
const;
395 virtual void setNavigationRegenerationFileDirectory(
const DtString& dir);
396 virtual DtFilename navigationRegenerationFileDirectory()
const;
398 virtual void setNavigationRegenerationDelay(
double delay);
399 virtual double navigationRegenerationDelay()
const;
401 virtual void setEnableLogFileTimestamps(
bool v);
402 virtual bool enableLogFileTimestamps()
const;
405 virtual void setUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed(
bool v);
406 virtual bool useSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed()
const;
408 virtual void setExpectedLocalEntityCount(
int v);
409 virtual int expectedLocalEntityCount()
const;
413 virtual void setMainThreadToHighPriority(
bool);
418 virtual std::vector<DtString> enabledChannels()
const;
423 virtual bool suppressDataAvailableException()
const;
424 virtual void setSuppressDataAvailableException(
bool);
427 DtApplicationSettings&
settings() {
return mySettings; };
433 virtual void initializeMtlParams();
438 virtual void setVariablesFromMtl();
439 virtual void processStringList(std::vector<DtString>& v,
const std::vector<DtString>& list)
const;
442 virtual void initPluginVariables();
445 virtual void processPluginsDirectory(
const DtFilename& directory);
456 DtConfigVariable<DtString> mySimulationModelSetFile;
459 DtConfigVariable<DtString> myBatchFile;
462 DtConfigVariable<int> myTargetFrameRate;
465 DtConfigVariable<int> myClockMode;
470 DtConfigVariable<int> mySessionId;
473 DtConfigVariable<int> myAppIdRangeMax;
476 DtConfigVariable<DtString> myScenarioFile;
479 DtConfigVariable<DtString> mySharedSettingsDirectory;
482 DtConfigVariable<bool> myUseUserSettingsDirectory;
485 DtConfigVariable<DtString> myTerrainFile;
491 DtConfigVariable<DtString> mySharedDataDir;
494 DtConfigVariable<DtString> mySharedDataRoot;
497 DtConfigVariable<DtString> mySharedDataStem;
500 DtConfigVariable<DtString> myDIGuyCharacterDataFile;
501 DtConfigVariable<DtString> myDIGuyAnimationsFile;
505 DtConfigVariable<DtString> mySettingsFile;
508 DtConfigVariable<DtString> myAppDataDir;
511 DtConfigVariable<DtString> myDataDir;
514 DtConfigVariable<DtString> myUserDataDir;
517 DtConfigVariable<DtString> myAdditionalSystemScriptsDirectory;
520 DtConfigVariable<int> myFrontEndPID;
522 DtConfigVariable<bool> myCmdConnectionless;
523 DtConfigVariable<bool> myCmdDisableRemoteDiscovery;
526 DtConfigVariable<bool> myCmdDaemonMode;
545 DtConfigVariable<bool> myCmdRunInTimeManagementMode;
555 DtString myAdditionalDestinationAddresses;
558 short myReuseEntityIdentifiersOnScenarioLoad;
561 int myCgfDispatcherReceivePort;
565 int myStatusUpdateHeartbeat;
566 short myForceParameterDbReload;
569 short myLogFrameRateStatistics;
571 short myEnableNavigationLabDebugging;
573 DtFilename myDefaultParameterDatabasePath;
574 DtFilename myDefaultTerrainDatabasePath;
577 short myStartInRunMode;
580 short myDoNotUseConsole;
581 short myStartMinimized;
584 DtFilename myPluginsDirectory;
588 DtConfigVariable<bool> myCmdNotUsingConsole;
589 DtConfigVariable<bool> myCmdStartMinimized;
591 DtConfigVariable<bool> myCmdStartInRunMode;
592 DtConfigVariable<bool> myCmdDoNotUsePluginsDirectory;
594 DtConfigVariable<bool> myCmdLogFrameRateStatistics;
596 DtMultiConfigVariable<std::string> myPluginFiles;
598 DtMultiConfigVariable<DtString> myEnabledChannels;
600 std::vector<std::string> myPluginsToLoad;
601 bool myDoNotUsePluginsDirectory;
602 DtConfigVariable<DtString> myOutputFile;
605 short mySimMgmtPduProcessLevel;
607 short myLoadPluginIfVersionMismatch;
610 int myObjectConsoleNotifyLevel;
611 short mySendBackendLogToNetwork;
613 DtConfigVariable<bool> myCmdFullyLoadTerrain;
614 short myFullyLoadTerrain;
616 short myAssertOnBlockingTerrainCalls;
617 short myPublishZeroVelocityWhenPaused;
618 short mySetDeadReckoningAlgorithmToStaticOnPause;
619 short mySendMessagesInNetworkProcess;
624 DtConfigVariable<DtString> myHostAddress;
626 DtConfigVariable<DtString> myMsdlSidcMappingFile;
627 DtConfigVariable<DtString> myCountryCodesMappingFile;
629 DtConfigVariable<int> myTracyPort;
630 DtConfigVariable<int> myCmdNumCallbackThreads;
631 DtConfigVariable<bool> myCmdMainThreadWaitForQueue;
632 DtConfigVariable<bool> myCmdDisableParallelTick;
633 DtConfigVariable<bool> myCmdDisableParallelPublisherTick;
634 short myDisableParallelPublisherTick;
635 DtConfigVariable<bool> myCmdTickPublishersDuringEntityTick;
636 short myTickPublishersDuringEntityTick;
638 DtConfigVariable<bool> myCmdIssueSimExitOnFinishTestCommand;
639 DtConfigVariable<DtString> myCmdLogTestFilename;
641 DtConfigVariable<bool> myCmdEnableMetoc;
643 short myMainThreadWaitForQueue;
644 short myDisableParallelTick;
646 short myIssueSimExitOnFinishTestCommand;
649 DtConfigVariable<bool> myCmdSetMainThreadToHighPriority;
650 short mySetMainThreadToHighPriority;
652 #if USE_VLD_MEMORY_TRACKING && _DEBUG
653 DtConfigVariable<bool> myUseVld;
661 int myGamewareMemorySize;
662 double myGamewareQueryTimeBudget;
663 short myRegenerateNavigationDataAtRuntime;
664 int myMaxNavigationRegenerationThreads;
665 int myNumberOfNavQueueProcessingThreads;
666 double myNavigationRegenerationDelay;
667 DtFilename myNavigationRegenerationFileDirectory;
669 short myEnableLogFileTimestamps;
671 short myRejectMismatchedScenarioMessages;
673 DtConfigVariable<bool> myCmdSuppressDataAvailableException;
674 int mySuppressDataAvailableException;
DtConfigVariable< bool > myCmdUseAbsoluteTimeStamps
Definition: vrfSimOptions.h:540
DtApplicationSettings & settings()
Definition: vrfSimOptions.h:427
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
DtConfigVariable< int > myCmdNumNetworkCallbackThreads
Definition: vrfSimOptions.h:541
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
DtConfigVariable< bool > myCmdSelfReflect
Definition: vrfSimOptions.h:542
short myTaskVisualizationPublicationMode
Definition: vrfSimOptions.h:533
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
Definition: vrfSimOptions.h:15
DtFloat64 myDefaultAggDimensionThreshold
Definition: vrfSimOptions.h:539
#define DT_DLL_vrlinkNetworkInterface
This file is used to determine how to build.
Definition: vrlinkNetworkInterfaceDefines.h:24
Definition: vrfExtApplicationInitializer.h:20
DtFloat64 myDefaultTranslationThreshold
Default threshold values.
Definition: vrfSimOptions.h:537
DtFloat64 myDefaultRotationThreshold
Definition: vrfSimOptions.h:538
Contains the DtVrfExtApplicationInitializer class declaration.
DtFloat64 myEntVrfDataTimeThreshold
Definition: vrfSimOptions.h:532
int myDisableRequestUpdates
Definition: vrfSimOptions.h:551
std::vector< std::string > myPluginsToLoad
Definition: vrfSimOptions.h:472
int myRunInTimeManagementMode
Definition: vrfSimOptions.h:548
const std::vector< std::string > & pluginsToLoad() const
Returns plugins to load.
Definition: vrfSimOptions.h:545
int myExpectedLocalEntityCount
Definition: vrfSimOptions.h:658
DtConfigVariable< bool > myCmdDisableRequestUpdates
HLA only - flag indicating whether or not to request updates.
Definition: vrfSimOptions.h:550
short myUseDrawControlForTaskVisualizations
Definition: vrfSimOptions.h:534
DtConfigVariable< DtString > myNonVrfObjectsUUIDScheme
Definition: vrfSimOptions.h:531
short myUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed
Definition: vrfSimOptions.h:657