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();
355 virtual void setMainThreadWaitForQueue(
bool enable);
356 virtual void setNumCallbackThreads(
unsigned n);
358 virtual void setDisableParallelTick(
bool use);
359 virtual void setIssueSimExitOnFinishTestCommand(
bool shouldExit);
361 virtual void setEnableMetoc(
bool enable);
363 virtual bool mainThreadWaitForQueue()
const;
364 virtual unsigned numCallbackThreads()
const;
365 virtual bool disableParallelTick()
const;
366 virtual bool enableMetoc()
const;
367 virtual bool issueSimExitOnFinishTestCommand()
const;
369 virtual void setDisableParallelPublisherTick(
bool);
370 virtual bool disableParallelPublisherTick()
const;
372 virtual void setTickPublishersDuringEntityTick(
bool);
373 virtual bool tickPublishersDuringEntityTick()
const;
375 virtual DtFilename testLogFile()
const;
377 virtual void setGamewareMemorySize(
int sizeInMb);
378 virtual int gamewareMemorySize()
const;
380 virtual void setGamewareQueryTimeBudget(
double ms);
381 virtual double gamewareQueryTimeBudget()
const;
383 virtual void setRegenerateNavigationDataAtRuntime(
bool v);
384 virtual bool regenerateNavigationDataAtRuntime()
const;
386 virtual void setMaxNavigationRegenerationThreads(
int threads);
387 virtual int maxNavigationRegenerationThreads()
const;
389 virtual void setNumberOfNavQueueProcessingThreads(
int threads);
390 virtual int numberOfNavQueueProcessingThreads()
const;
392 virtual void setNavigationRegenerationFileDirectory(
const DtString& dir);
393 virtual DtFilename navigationRegenerationFileDirectory()
const;
395 virtual void setNavigationRegenerationDelay(
double delay);
396 virtual double navigationRegenerationDelay()
const;
398 virtual void setEnableLogFileTimestamps(
bool v);
399 virtual bool enableLogFileTimestamps()
const;
402 virtual void setUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed(
bool v);
403 virtual bool useSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed()
const;
405 virtual void setExpectedLocalEntityCount(
int v);
406 virtual int expectedLocalEntityCount()
const;
410 virtual void setMainThreadToHighPriority(
bool);
415 virtual std::vector<DtString> enabledChannels()
const;
420 virtual bool suppressDataAvailableException()
const;
421 virtual void setSuppressDataAvailableException(
bool);
426 virtual bool enablePduProfiling(
double& pduTime,
int& numberOfPackets
428 ,
bool& includeSummary
432 DtApplicationSettings&
settings() {
return mySettings; };
438 virtual void initializeMtlParams();
443 virtual void setVariablesFromMtl();
444 virtual void processStringList(std::vector<DtString>& v,
const std::vector<DtString>& list)
const;
447 virtual void initPluginVariables();
450 virtual void processPluginsDirectory(
const DtFilename& directory);
461 DtConfigVariable<DtString> mySimulationModelSetFile;
464 DtConfigVariable<DtString> myBatchFile;
467 DtConfigVariable<int> myTargetFrameRate;
470 DtConfigVariable<int> myClockMode;
475 DtConfigVariable<int> mySessionId;
478 DtConfigVariable<int> myAppIdRangeMax;
481 DtConfigVariable<DtString> myScenarioFile;
484 DtConfigVariable<DtString> mySharedSettingsDirectory;
487 DtConfigVariable<bool> myUseUserSettingsDirectory;
490 DtConfigVariable<DtString> myTerrainFile;
496 DtConfigVariable<DtString> mySharedDataDir;
499 DtConfigVariable<DtString> mySharedDataRoot;
502 DtConfigVariable<DtString> mySharedDataStem;
505 DtConfigVariable<DtString> myDIGuyCharacterDataFile;
506 DtConfigVariable<DtString> myDIGuyAnimationsFile;
510 DtConfigVariable<DtString> mySettingsFile;
513 DtConfigVariable<DtString> myAppDataDir;
516 DtConfigVariable<DtString> myDataDir;
519 DtConfigVariable<DtString> myUserDataDir;
522 DtConfigVariable<DtString> myAdditionalSystemScriptsDirectory;
525 DtConfigVariable<int> myFrontEndPID;
527 DtConfigVariable<bool> myCmdConnectionless;
528 DtConfigVariable<bool> myCmdDisableRemoteDiscovery;
531 DtConfigVariable<bool> myCmdDaemonMode;
550 DtConfigVariable<bool> myCmdRunInTimeManagementMode;
560 DtString myAdditionalDestinationAddresses;
563 short myReuseEntityIdentifiersOnScenarioLoad;
566 int myCgfDispatcherReceivePort;
570 int myStatusUpdateHeartbeat;
571 short myForceParameterDbReload;
574 short myLogFrameRateStatistics;
576 short myEnableNavigationLabDebugging;
578 DtFilename myDefaultParameterDatabasePath;
579 DtFilename myDefaultTerrainDatabasePath;
582 short myStartInRunMode;
585 short myDoNotUseConsole;
586 short myStartMinimized;
589 DtFilename myPluginsDirectory;
593 DtConfigVariable<bool> myCmdNotUsingConsole;
594 DtConfigVariable<bool> myCmdStartMinimized;
596 DtConfigVariable<bool> myCmdStartInRunMode;
597 DtConfigVariable<bool> myCmdDoNotUsePluginsDirectory;
599 DtConfigVariable<bool> myCmdLogFrameRateStatistics;
601 DtMultiConfigVariable<std::string> myPluginFiles;
603 DtMultiConfigVariable<DtString> myEnabledChannels;
605 std::vector<std::string> myPluginsToLoad;
606 bool myDoNotUsePluginsDirectory;
607 DtConfigVariable<DtString> myOutputFile;
610 short mySimMgmtPduProcessLevel;
612 short myLoadPluginIfVersionMismatch;
615 int myObjectConsoleNotifyLevel;
616 short mySendBackendLogToNetwork;
618 DtConfigVariable<bool> myCmdFullyLoadTerrain;
619 short myFullyLoadTerrain;
621 short myAssertOnBlockingTerrainCalls;
622 short myPublishZeroVelocityWhenPaused;
623 short mySetDeadReckoningAlgorithmToStaticOnPause;
624 short mySendMessagesInNetworkProcess;
629 DtConfigVariable<DtString> myHostAddress;
631 DtConfigVariable<DtString> myMsdlSidcMappingFile;
632 DtConfigVariable<DtString> myCountryCodesMappingFile;
634 DtConfigVariable<int> myTracyPort;
635 DtConfigVariable<int> myCmdNumCallbackThreads;
636 DtConfigVariable<bool> myCmdMainThreadWaitForQueue;
637 DtConfigVariable<bool> myCmdDisableParallelTick;
638 DtConfigVariable<bool> myCmdDisableParallelPublisherTick;
643 short myDisableParallelPublisherTick;
644 DtConfigVariable<bool> myCmdTickPublishersDuringEntityTick;
645 short myTickPublishersDuringEntityTick;
647 DtConfigVariable<bool> myCmdIssueSimExitOnFinishTestCommand;
648 DtConfigVariable<DtString> myCmdLogTestFilename;
650 DtConfigVariable<bool> myCmdEnableMetoc;
652 short myMainThreadWaitForQueue;
653 short myDisableParallelTick;
655 short myIssueSimExitOnFinishTestCommand;
658 DtConfigVariable<bool> myCmdSetMainThreadToHighPriority;
659 short mySetMainThreadToHighPriority;
667 int myGamewareMemorySize;
668 double myGamewareQueryTimeBudget;
669 short myRegenerateNavigationDataAtRuntime;
670 int myMaxNavigationRegenerationThreads;
671 int myNumberOfNavQueueProcessingThreads;
672 double myNavigationRegenerationDelay;
673 DtFilename myNavigationRegenerationFileDirectory;
675 short myEnableLogFileTimestamps;
677 short myRejectMismatchedScenarioMessages;
679 DtConfigVariable<bool> myCmdSuppressDataAvailableException;
680 int mySuppressDataAvailableException;
DtConfigVariable< bool > myCmdUseAbsoluteTimeStamps
Definition: vrfSimOptions.h:545
DtApplicationSettings & settings()
Definition: vrfSimOptions.h:432
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:546
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
DtConfigVariable< bool > myCmdSelfReflect
Definition: vrfSimOptions.h:547
short myTaskVisualizationPublicationMode
Definition: vrfSimOptions.h:538
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
Definition: vrfSimOptions.h:15
DtFloat64 myDefaultAggDimensionThreshold
Definition: vrfSimOptions.h:544
#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:542
DtFloat64 myDefaultRotationThreshold
Definition: vrfSimOptions.h:543
Contains the DtVrfExtApplicationInitializer class declaration.
DtFloat64 myEntVrfDataTimeThreshold
Definition: vrfSimOptions.h:537
int myDisableRequestUpdates
Definition: vrfSimOptions.h:556
std::vector< std::string > myPluginsToLoad
Definition: vrfSimOptions.h:469
int myRunInTimeManagementMode
Definition: vrfSimOptions.h:553
const std::vector< std::string > & pluginsToLoad() const
Returns plugins to load.
Definition: vrfSimOptions.h:538
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:642
int myExpectedLocalEntityCount
Definition: vrfSimOptions.h:664
DtConfigVariable< bool > myCmdDisableRequestUpdates
HLA only - flag indicating whether or not to request updates.
Definition: vrfSimOptions.h:555
short myUseDrawControlForTaskVisualizations
Definition: vrfSimOptions.h:539
DtConfigVariable< DtString > myNonVrfObjectsUUIDScheme
Definition: vrfSimOptions.h:536
short myUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed
Definition: vrfSimOptions.h:663