18 #include "vrfutil/version.h"
21 #include <vlutil/vlMachineTypes.h>
22 #include <vlutil/vlFilename.h>
23 #include <mtl/configVariable.h>
24 #include <mtl/multiConfigVariable.h>
25 #include <mtl/mtlEnvironment.h>
37 DtVrfSimOptions(
int argc,
char** argv,
const char* appName,
42 virtual ~DtVrfSimOptions()
override;
46 virtual bool readConfigurationFile(
const DtFilename& mtlFile);
50 virtual DtFloat64 entVrfDataTimeThreshold()
const;
53 virtual double rotationThreshold()
const;
56 virtual double translationThreshold()
const;
59 virtual double aggDimensionThreshold()
const;
63 virtual void setPublishZeroVelocityWhenPaused(
bool);
64 virtual bool publishZeroVelocityWhenPaused()
const;
69 virtual void setSetDeadReckoningAlgorithmToStaticOnPause(
bool);
70 virtual bool setDeadReckoningAlgorithmToStaticOnPause()
const;
72 virtual void setSendMessagesInNetworkProcess(
bool);
73 virtual bool sendMessagesInNetworkProcess()
const;
77 virtual void setNumNetworkCallbackThreads(
unsigned n);
78 virtual unsigned numNetworkCallbackThreads()
const;
81 virtual bool useAbsoluteTimeStamps()
const;
84 virtual std::vector<DtString> additionalDestinationAddresses()
const;
87 virtual void setAdditionalDestinationAddresses(
const DtString& addresses);
90 virtual void setAdditionalDestinationAddresses(
const std::vector<DtString>& addresses);
93 virtual void setTaskVisualizationPublicationMode(
short state);
94 virtual short taskVisualizationPublicationMode()
const;
96 virtual void setUseDrawControlForTaskVisualizations(
bool);
97 virtual bool useDrawControlForTaskVisualizations()
const;
105 virtual void setNonVrfObjectsUUIDScheme(
const DtString&);
106 virtual DtString nonVrfObjectsUUIDScheme()
const;
110 virtual int statusUpdateHeartbeat()
const;
112 virtual bool connectionless()
const;
113 virtual bool disableRemoteDiscovery()
const;
118 virtual DtFilename simulationModelSetFilename()
const;
121 virtual bool forceParameterDbReload()
const;
128 virtual void setTargetFrameRate(
int rate);
129 virtual int targetFrameRate()
const;
133 virtual int clockMode()
const;
137 virtual void setDefaultParameterDatabasePath(
const DtFilename& path);
138 virtual const DtFilename& defaultParameterDatabasePath()
const;
142 virtual void setDefaultTerrainDatabasePath(
const DtFilename& path);
143 virtual const DtFilename& defaultTerrainDatabasePath()
const;
146 virtual DtFilename diGuyCharacterDataFile()
const;
149 virtual DtFilename diGuyAnimationsFile()
const;
153 virtual bool logFrameRateStats()
const;
154 virtual void setLogFrameRateStats(
bool yesOrNo);
157 virtual void setRejectMismatchedScenarioMessages(
bool);
158 virtual bool rejectMismatchedScenarioMessages()
const;
160 virtual bool enableNavigationLabDebugging()
const;
161 virtual void setEnableNavigationLabDebugging(
bool enable);
163 virtual int sessionId()
const;
164 virtual int appIdRangeMax()
const;
165 virtual void setAppIdRangeMax(
int);
166 virtual DtFilename batchFile()
const;
167 virtual DtFilename scenarioFile()
const;
168 virtual DtFilename terrainFile()
const;
170 virtual int frontEndProcessId()
const;
172 virtual void setStartInRunMode(
bool);
173 virtual bool startInRunMode()
const;
176 virtual void setDoNotUseConsole(
bool);
177 virtual bool usingConsole()
const;
179 virtual void setStartMinimized(
bool);
180 virtual bool startMinimized()
const;
183 virtual void setDaemonMode(
bool);
184 virtual bool daemonMode()
const;
187 virtual bool runInTimeManagementMode()
const;
189 virtual void setRunInTimeManagementMode(
bool yesNo);
191 virtual bool disableRequestUpdates()
const;
192 virtual void setDisableRequestUpdates(
bool yesNo);
194 virtual double heartbeatVariance()
const;
195 virtual void setHeartbeatVariance(
double variance);
198 virtual void setReuseEntityIdentifiersOnScenarioLoad(
bool);
199 virtual bool reuseEntityIdentifiersOnScenarioLoad()
const;
201 virtual void setLoadAllNavigationDataOnTerrainLoad(
bool);
202 virtual bool loadAllNavigationDataOnTerrainLoad()
const;
205 virtual void parseCmdLine()
override;
207 virtual short simMgmtPduProcessLevel()
const;
209 virtual int cgfDispatcherReceivePort()
const;
210 virtual void setCgfDispatcherReceivePort(
int port);
213 virtual int tracyPort()
const;
214 virtual bool tracyPortSet()
const;
215 virtual void setTracyPort(
int port);
218 const std::vector<std::string>& pluginsToLoad()
const;
220 virtual void setLoadPluginIfVersionMismatch(
bool);
221 virtual bool loadPluginIfVersionMismatch()
const;
223 virtual void setPluginsDirectory(
const DtFilename&);
224 virtual const DtFilename& pluginsDirectory()
const;
226 virtual DtString additionalSystemScriptsDirectory()
const;
227 virtual void setAdditionalSystemScriptsDirectory(
const DtString&);
230 virtual void setDoNotUsePluginsDirectory(
bool b);
231 virtual bool doNotUsePluginsDirectory()
const;
234 virtual DtFilename outputFile()
const;
235 virtual void setOutputFile(
const DtFilename& s);
238 virtual void setNotifyLevel(DtNotifyLevelType
level);
240 virtual DtNotifyLevelType notifyLevel()
const;
247 virtual void setSendBackendLogToNetwork(
bool v);
248 virtual bool sendBackendLogToNetwork()
const;
253 virtual void setFullyLoadTerrain(
bool v);
254 virtual bool fullyLoadTerrain()
const;
260 virtual void setAssertOnBlockingTerrainCalls(
bool b);
261 virtual bool assertOnBlockingTerrainCalls()
const;
269 virtual void setHostAddress(
const DtString& address);
270 virtual DtString hostAddress()
const;
277 virtual void setReportedHostAddress(
const DtString& address);
278 virtual DtString reportedHostAddress()
const;
283 virtual void setAppDataDir(
const DtString&);
284 virtual DtString appDataDir()
const;
288 virtual void setupSettingsDirectory(
const DtFilename& f,
bool useSharedSettingsDirectory);
292 virtual void setSharedDataDir(
const DtFilename&);
293 virtual DtFilename sharedDataDir()
const;
298 virtual bool isSharedDataDirSet()
const;
303 virtual void setSharedDataRoot(
const DtFilename&);
304 virtual DtFilename sharedDataRoot()
const;
309 virtual bool isSharedDataRootSet()
const;
314 virtual void setSharedDataStem(
const DtString&);
315 virtual DtString sharedDataStem()
const;
320 virtual bool isSharedDataStemSet()
const;
325 virtual void setDataDir(
const DtString&);
331 virtual bool isDataDirSet()
const;
336 virtual void setUserDataDir(
const DtString&);
337 virtual DtString userDataDir()
const;
342 virtual bool isUserDataDirSet()
const;
347 virtual void setMsdlSidcMappingFile(
const DtString& address);
348 virtual DtFilename msdlSidcMappingFile()
const;
353 virtual void setCountryCodesMappingFile(
const DtString& address);
354 virtual DtFilename countryCodesMappingFile()
const;
358 virtual void outputMtl();
360 virtual void setMainThreadWaitForQueue(
bool enable);
361 virtual void setNumCallbackThreads(
unsigned n);
363 virtual void setDisableParallelTick(
bool use);
364 virtual void setIssueSimExitOnFinishTestCommand(
bool shouldExit);
366 virtual bool mainThreadWaitForQueue()
const override;
367 virtual unsigned numCallbackThreads()
const override;
368 virtual bool disableParallelTick()
const override;
369 virtual bool issueSimExitOnFinishTestCommand()
const override;
371 virtual void setDisableParallelPublisherTick(
bool);
372 virtual bool disableParallelPublisherTick()
const;
374 virtual void setTickPublishersDuringEntityTick(
bool);
375 virtual bool tickPublishersDuringEntityTick()
const;
377 virtual DtFilename testLogFile()
const override;
379 virtual void setGamewareMemorySize(
int sizeInMb);
380 virtual int gamewareMemorySize()
const;
382 virtual void setGamewareQueryTimeBudget(
double ms);
383 virtual double gamewareQueryTimeBudget()
const;
385 virtual void setRegenerateNavigationDataAtRuntime(
bool v);
386 virtual bool regenerateNavigationDataAtRuntime()
const;
388 virtual void setMaxNavigationRegenerationThreads(
int threads);
389 virtual int maxNavigationRegenerationThreads()
const;
391 virtual void setNumberOfNavQueueProcessingThreads(
int threads);
392 virtual int numberOfNavQueueProcessingThreads()
const;
394 virtual void setNavigationRegenerationFileDirectory(
const DtString& dir);
395 virtual DtFilename navigationRegenerationFileDirectory()
const;
397 virtual void setNavigationRegenerationDelay(
double delay);
398 virtual double navigationRegenerationDelay()
const;
400 virtual void setEnableLogFileTimestamps(
bool v);
401 virtual bool enableLogFileTimestamps()
const;
404 virtual void setUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed(
bool v);
405 virtual bool useSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed()
const;
407 virtual void setExpectedLocalEntityCount(
int v);
408 virtual int expectedLocalEntityCount()
const;
411 virtual void setMaxAsynchronousTerrainThreads(
int num);
412 virtual int maxAsynchronousTerrainThreads()
const;
414 virtual void setBlockOnAsynchronousOperations(
bool shouldBlock);
415 virtual bool blockOnAsynchronousOperations()
const;
418 virtual void setMainThreadToHighPriority(
bool);
423 virtual std::vector<DtString> enabledChannels()
const;
428 virtual bool suppressDataAvailableException()
const;
429 virtual void setSuppressDataAvailableException(
bool);
434 virtual bool enablePduProfiling(
double& pduTime,
int& numberOfPackets
436 ,
bool& includeSummary
440 virtual void setAutomaticallyCreateGlobalEnvironment(
bool autoCreate);
441 virtual bool automaticallyCreateGlobalEnvironment()
const;
443 virtual DtApplicationSettings&
settings()
override {
return exerciseConnectionConfig()->settings(); };
449 virtual void initializeMtlParams()
override;
454 virtual void setVariablesFromMtl();
455 virtual void processStringList(std::vector<DtString>& v,
const std::vector<DtString>& list)
const;
458 virtual void initPluginVariables();
461 virtual void processPluginsDirectory(
const DtFilename& directory);
472 DtConfigVariable<DtString> mySimulationModelSetFile;
475 DtConfigVariable<DtString> myBatchFile;
478 DtConfigVariable<int> myTargetFrameRate;
481 DtConfigVariable<int> myClockMode;
486 DtConfigVariable<int> mySessionId;
489 DtConfigVariable<int> myAppIdRangeMax;
492 DtConfigVariable<DtString> myScenarioFile;
495 DtConfigVariable<DtString> mySharedSettingsDirectory;
498 DtConfigVariable<bool> myUseUserSettingsDirectory;
501 DtConfigVariable<DtString> myTerrainFile;
507 DtConfigVariable<DtString> mySharedDataDir;
510 DtConfigVariable<DtString> mySharedDataRoot;
513 DtConfigVariable<DtString> mySharedDataStem;
516 DtConfigVariable<DtString> myDIGuyCharacterDataFile;
517 DtConfigVariable<DtString> myDIGuyAnimationsFile;
521 DtConfigVariable<DtString> mySettingsFile;
524 DtConfigVariable<DtString> myAppDataDir;
527 DtConfigVariable<DtString> myDataDir;
530 DtConfigVariable<DtString> myUserDataDir;
533 DtConfigVariable<DtString> myAdditionalSystemScriptsDirectory;
536 DtConfigVariable<int> myFrontEndPID;
538 DtConfigVariable<bool> myCmdConnectionless;
539 DtConfigVariable<bool> myCmdDisableRemoteDiscovery;
542 DtConfigVariable<bool> myCmdDaemonMode;
560 DtConfigVariable<bool> myCmdRunInTimeManagementMode;
570 DtString myAdditionalDestinationAddresses;
573 short myReuseEntityIdentifiersOnScenarioLoad;
576 int myCgfDispatcherReceivePort;
580 int myStatusUpdateHeartbeat;
581 short myForceParameterDbReload;
584 short myLogFrameRateStatistics;
586 short myEnableNavigationLabDebugging;
588 DtFilename myDefaultParameterDatabasePath;
589 DtFilename myDefaultTerrainDatabasePath;
592 short myStartInRunMode;
595 short myDoNotUseConsole;
596 short myStartMinimized;
599 DtFilename myPluginsDirectory;
603 DtConfigVariable<bool> myCmdNotUsingConsole;
604 DtConfigVariable<bool> myCmdStartMinimized;
606 DtConfigVariable<bool> myCmdStartInRunMode;
607 DtConfigVariable<bool> myCmdDoNotUsePluginsDirectory;
609 DtConfigVariable<bool> myCmdLogFrameRateStatistics;
611 DtMultiConfigVariable<std::string> myPluginFiles;
613 DtMultiConfigVariable<DtString> myEnabledChannels;
615 std::vector<std::string> myPluginsToLoad;
616 bool myDoNotUsePluginsDirectory;
617 DtConfigVariable<DtString> myOutputFile;
620 short mySimMgmtPduProcessLevel;
622 short myLoadPluginIfVersionMismatch;
625 int myObjectConsoleNotifyLevel;
626 short mySendBackendLogToNetwork;
628 DtConfigVariable<bool> myCmdFullyLoadTerrain;
629 short myFullyLoadTerrain;
631 short myAssertOnBlockingTerrainCalls;
632 short myPublishZeroVelocityWhenPaused;
633 short mySetDeadReckoningAlgorithmToStaticOnPause;
634 short mySendMessagesInNetworkProcess;
635 short myLoadAllNavigationDataOnTerrainLoad;
640 DtConfigVariable<DtString> myHostAddress;
642 DtConfigVariable<DtString> myMsdlSidcMappingFile;
643 DtConfigVariable<DtString> myCountryCodesMappingFile;
645 DtConfigVariable<int> myTracyPort;
646 DtConfigVariable<int> myCmdNumCallbackThreads;
647 DtConfigVariable<bool> myCmdMainThreadWaitForQueue;
648 DtConfigVariable<bool> myCmdDisableParallelTick;
649 DtConfigVariable<bool> myCmdDisableParallelPublisherTick;
654 short myDisableParallelPublisherTick;
655 DtConfigVariable<bool> myCmdTickPublishersDuringEntityTick;
656 short myTickPublishersDuringEntityTick;
658 DtConfigVariable<bool> myCmdIssueSimExitOnFinishTestCommand;
659 DtConfigVariable<DtString> myCmdLogTestFilename;
661 short myMainThreadWaitForQueue;
662 short myDisableParallelTick;
664 short myIssueSimExitOnFinishTestCommand;
666 DtConfigVariable<bool> myCmdSetMainThreadToHighPriority;
667 short mySetMainThreadToHighPriority;
675 int myGamewareMemorySize;
676 double myGamewareQueryTimeBudget;
677 short myRegenerateNavigationDataAtRuntime;
678 int myMaxNavigationRegenerationThreads;
679 int myNumberOfNavQueueProcessingThreads;
680 double myNavigationRegenerationDelay;
681 DtFilename myNavigationRegenerationFileDirectory;
685 short myEnableLogFileTimestamps;
687 short myRejectMismatchedScenarioMessages;
689 DtConfigVariable<bool> myCmdSuppressDataAvailableException;
690 int mySuppressDataAvailableException;
692 short myAutomaticallyCreateGlobalEnvironment;
DtConfigVariable< bool > myCmdUseAbsoluteTimeStamps
Definition: vrfSimOptions.h:556
int myMaxAsynchronousTerrainThreads
Definition: vrfSimOptions.h:683
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:557
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
short myTaskVisualizationPublicationMode
Definition: vrfSimOptions.h:549
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
Definition: vrfSimOptions.h:15
DtFloat64 myDefaultAggDimensionThreshold
Definition: vrfSimOptions.h:555
#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:553
DtFloat64 myDefaultRotationThreshold
Definition: vrfSimOptions.h:554
Contains the DtVrfExtApplicationInitializer class declaration.
DtFloat64 myEntVrfDataTimeThreshold
Definition: vrfSimOptions.h:548
int myDisableRequestUpdates
Definition: vrfSimOptions.h:566
std::vector< std::string > myPluginsToLoad
Definition: vrfSimOptions.h:477
#define DtVrfVersionNumber
Version strings must not contain spaces.
Definition: version.h:9
static DtAppPathResolver & Instance()
virtual DtApplicationSettings & settings() override
Definition: vrfSimOptions.h:443
int myRunInTimeManagementMode
Definition: vrfSimOptions.h:563
const std::vector< std::string > & pluginsToLoad() const
Returns plugins to load.
Definition: vrfSimOptions.h:548
DtConfigVariable< DtString > myCmdEnablePduProfiling
Turn on with flood check of a given time and/or a number of packets over that time: "0...
Definition: vrfSimOptions.h:653
int myExpectedLocalEntityCount
Definition: vrfSimOptions.h:672
DtConfigVariable< bool > myCmdDisableRequestUpdates
HLA only - flag indicating whether or not to request updates.
Definition: vrfSimOptions.h:565
short myBlockOnAsynchronousOperations
Definition: vrfSimOptions.h:693
short myUseDrawControlForTaskVisualizations
Definition: vrfSimOptions.h:550
DtConfigVariable< DtString > myNonVrfObjectsUUIDScheme
Definition: vrfSimOptions.h:547
short myUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed
Definition: vrfSimOptions.h:671