VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSimOptions.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
12 
13 namespace makVrf
14 {
16  {
17  public:
19  DtVrfSimOptions(int argc, char** argv, const char* appName, const char* appVersion);
20 
22  virtual ~DtVrfSimOptions();
23 
26  virtual bool readConfigurationFile(const DtFilename& mtlFile);
27 
28  public:
29 
31  virtual int statusUpdateHeartbeat() const;
32 
33  virtual bool connectionless() const;
34  virtual bool disableRemoteDiscovery() const;
35 
39  virtual DtFilename simulationModelSetFilename() const;
40 
42  virtual bool forceParameterDbReload() const;
43 
49  virtual void setTargetFrameRate(int rate);
50  virtual int targetFrameRate() const;
52 
54  virtual int clockMode() const;
55 
58  virtual void setDefaultParameterDatabasePath(const DtFilename& path);
59  virtual const DtFilename& defaultParameterDatabasePath() const;
60 
63  virtual void setDefaultTerrainDatabasePath(const DtFilename& path);
64  virtual const DtFilename& defaultTerrainDatabasePath() const;
65 
67  virtual DtFilename diGuyCharacterDataFile() const;
68 
70  virtual DtFilename diGuyAnimationsFile() const;
71 
74  virtual bool logFrameRateStats() const;
75  virtual void setLogFrameRateStats(bool yesOrNo);
76 
78  virtual void setRejectMismatchedScenarioMessages(bool);
79  virtual bool rejectMismatchedScenarioMessages() const;
80 
81  virtual bool enableNavigationLabDebugging() const;
82  virtual void setEnableNavigationLabDebugging(bool enable);
83 
84  virtual int sessionId() const;
85  virtual int appIdRangeMax() const;
86  virtual void setAppIdRangeMax(int);
87  virtual DtFilename batchFile() const;
88  virtual DtFilename scenarioFile() const;
89  virtual DtFilename terrainFile() const;
90 
91  virtual int frontEndProcessId() const;
92 
93  virtual void setStartInRunMode(bool);
94  virtual bool startInRunMode() const;
95 
96  #ifdef WIN32
97  virtual void setDoNotUseConsole(bool);
98  virtual bool usingConsole() const;
99 
100  virtual void setStartMinimized(bool);
101  virtual bool startMinimized() const;
102  #endif
103 
104  virtual void setDaemonMode(bool);
105  virtual bool daemonMode() const;
106 
107  virtual void setReuseEntityIdentifiersOnScenarioLoad(bool);
108  virtual bool reuseEntityIdentifiersOnScenarioLoad() const;
109 
111  virtual void parseCmdLine();
112 
113  virtual short simMgmtPduProcessLevel() const;
114 
115  virtual int cgfDispatcherReceivePort() const;
116  virtual void setCgfDispatcherReceivePort(int port);
117 
119  virtual int tracyPort() const;
120  virtual bool tracyPortSet() const;
121  virtual void setTracyPort(int port);
122 
124  const std::vector<std::string>& pluginsToLoad() const;
125 
126  virtual void setLoadPluginIfVersionMismatch(bool);
127  virtual bool loadPluginIfVersionMismatch() const;
128 
129  virtual void setPluginsDirectory(const DtFilename&);
130  virtual const DtFilename& pluginsDirectory() const;
131 
132  virtual DtString additionalSystemScriptsDirectory() const;
133  virtual void setAdditionalSystemScriptsDirectory(const DtString&);
134 
136  virtual void setDoNotUsePluginsDirectory(bool b);
137  virtual bool doNotUsePluginsDirectory() const;
138 
140  virtual DtFilename outputFile() const;
141  virtual void setOutputFile(const DtFilename& s);
142 
144  virtual void setNotifyLevel(DtNotifyLevelType level);
146  virtual DtNotifyLevelType notifyLevel() const;
147 
152 
153  virtual void setSendBackendLogToNetwork(bool v);
154  virtual bool sendBackendLogToNetwork() const;
156 
158 
159  virtual void setFullyLoadTerrain(bool v);
160  virtual bool fullyLoadTerrain() const;
162 
165 
166  virtual void setAssertOnBlockingTerrainCalls(bool b);
167  virtual bool assertOnBlockingTerrainCalls() const;
169 
174 
175  virtual void setHostAddress(const DtString& address);
176  virtual DtString hostAddress() const;
178 
182 
183  virtual void setReportedHostAddress(const DtString& address);
184  virtual DtString reportedHostAddress() const;
186 
189  virtual void setAppDataDir(const DtString&);
190  virtual DtString appDataDir() const;
192 
194  virtual void setupSettingsDirectory(const DtFilename& f, bool useSharedSettingsDirectory);
195 
198  virtual void setSharedDataDir(const DtFilename&);
199  virtual DtFilename sharedDataDir() const;
201 
204  virtual bool isSharedDataDirSet() const;
206 
209  virtual void setSharedDataRoot(const DtFilename&);
210  virtual DtFilename sharedDataRoot() const;
212 
215  virtual bool isSharedDataRootSet() const;
217 
220  virtual void setSharedDataStem(const DtString&);
221  virtual DtString sharedDataStem() const;
223 
226  virtual bool isSharedDataStemSet() const;
228 
231  virtual void setDataDir(const DtString&);
232  virtual DtString dataDir() const;
234 
237  virtual bool isDataDirSet() const;
239 
242  virtual void setUserDataDir(const DtString&);
243  virtual DtString userDataDir() const;
245 
248  virtual bool isUserDataDirSet() const;
250 
252 
253  virtual void setMsdlSidcMappingFile(const DtString& address);
254  virtual DtFilename msdlSidcMappingFile() const;
256 
258 
259  virtual void setCountryCodesMappingFile(const DtString& address);
260  virtual DtFilename countryCodesMappingFile() const;
262 
264  virtual void outputMtl();
265  #if USE_VLD_MEMORY_TRACKING && _DEBUG
266  virtual bool useVld() const;
267  #endif
268 
269  virtual void setMainThreadWaitForQueue(bool enable);
270  virtual void setNumCallbackThreads(unsigned n);
271 
272  virtual void setDisableParallelTick(bool use);
273  virtual void setIssueSimExitOnFinishTestCommand(bool shouldExit);
274 
275  virtual void setEnableMetoc(bool enable);
276 
277  virtual bool mainThreadWaitForQueue() const;
278  virtual unsigned numCallbackThreads() const;
279  virtual bool disableParallelTick() const;
280  virtual bool enableMetoc() const;
281  virtual bool issueSimExitOnFinishTestCommand() const;
282 
283  virtual void setDisableParallelPublisherTick(bool);
284  virtual bool disableParallelPublisherTick() const;
285 
286  virtual void setTickPublishersDuringEntityTick(bool);
287  virtual bool tickPublishersDuringEntityTick() const;
288 
289  virtual DtFilename testLogFile() const;
290 
291  virtual void setGamewareMemorySize(int sizeInMb);
292  virtual int gamewareMemorySize() const;
293 
294  virtual void setGamewareQueryTimeBudget(double ms);
295  virtual double gamewareQueryTimeBudget() const;
296 
297  virtual void setRegenerateNavigationDataAtRuntime(bool v);
298  virtual bool regenerateNavigationDataAtRuntime() const;
299 
300  virtual void setMaxNavigationRegenerationThreads(int threads);
301  virtual int maxNavigationRegenerationThreads() const;
302 
303  virtual void setNumberOfNavQueueProcessingThreads(int threads);
304  virtual int numberOfNavQueueProcessingThreads() const;
305 
306  virtual void setNavigationRegenerationFileDirectory(const DtString& dir);
307  virtual DtFilename navigationRegenerationFileDirectory() const;
308 
309  virtual void setNavigationRegenerationDelay(double delay);
310  virtual double navigationRegenerationDelay() const;
311 
312  virtual void setEnableLogFileTimestamps(bool v);
313  virtual bool enableLogFileTimestamps() const;
314 
315  #ifdef WIN32
316  virtual void setMainThreadToHighPriority(bool);
318  #endif
319 
321  virtual std::vector<DtString> enabledChannels() const;
322 
326  virtual bool suppressDataAvailableException() const;
327  virtual void setSuppressDataAvailableException(bool);
329 
330  DtApplicationSettings& settings() { return mySettings; };
331 
332  protected:
336  virtual void initializeMtlParams();
337 
338  virtual void processStringList(std::vector<DtString>& v, const std::vector<DtString>& list) const;
339 
341  virtual void initPluginVariables();
342 
344  virtual void processPluginsDirectory(const DtFilename& directory);
345 
346  private:
348  DtVrfSimOptions(const DtVrfSimOptions& orig);
349 
351  DtVrfSimOptions& operator=(const DtVrfSimOptions& rhs);
352 
353  protected:
355  DtConfigVariable<DtString> mySimulationModelSetFile;
356 
358  DtConfigVariable<DtString> myBatchFile;
359 
361  DtConfigVariable<int> myTargetFrameRate;
362 
364  DtConfigVariable<int> myClockMode;
365 
369  DtConfigVariable<int> mySessionId;
370 
372  DtConfigVariable<int> myAppIdRangeMax;
373 
375  DtConfigVariable<DtString> myScenarioFile;
376 
378  DtConfigVariable<DtString> mySharedSettingsDirectory;
379 
381  DtConfigVariable<bool> myUseUserSettingsDirectory;
382 
384  DtConfigVariable<DtString> myTerrainFile;
385 
387  short myUseDIGuy;
388 
390  DtConfigVariable<DtString> mySharedDataDir;
391 
393  DtConfigVariable<DtString> mySharedDataRoot;
394 
396  DtConfigVariable<DtString> mySharedDataStem;
397 
399  DtConfigVariable<DtString> myDIGuyCharacterDataFile;
400  DtConfigVariable<DtString> myDIGuyAnimationsFile;
401 
404  DtConfigVariable<DtString> mySettingsFile;
405 
407  DtConfigVariable<DtString> myAppDataDir;
408 
410  DtConfigVariable<DtString> myDataDir;
411 
413  DtConfigVariable<DtString> myUserDataDir;
414 
416  DtConfigVariable<DtString> myAdditionalSystemScriptsDirectory;
417 
419  DtConfigVariable<int> myFrontEndPID;
420 
421  DtConfigVariable<bool> myCmdConnectionless;
422  DtConfigVariable<bool> myCmdDisableRemoteDiscovery;
423 
424  #ifndef WIN32
425  DtConfigVariable<bool> myCmdDaemonMode;
428  #endif
429 
431 
434 
436 
439 
442 
444 
447 
450 
451  #ifdef WIN32
452  short myDoNotUseConsole;
453  short myStartMinimized;
454  #endif
455 
456  DtFilename myPluginsDirectory;
457 
459  #ifdef WIN32
460  DtConfigVariable<bool> myCmdNotUsingConsole;
461  DtConfigVariable<bool> myCmdStartMinimized;
462  #endif
463  DtConfigVariable<bool> myCmdStartInRunMode;
464  DtConfigVariable<bool> myCmdDoNotUsePluginsDirectory;
465 
466  DtConfigVariable<bool> myCmdLogFrameRateStatistics;
467 
468  DtMultiConfigVariable<std::string> myPluginFiles;
469 
470  DtMultiConfigVariable<DtString> myEnabledChannels;
471 
472  std::vector<std::string> myPluginsToLoad;
474  DtConfigVariable<DtString> myOutputFile;
475 
478 
480 
484 
485  DtConfigVariable<bool> myCmdFullyLoadTerrain;
487 
492 
494 
496  DtConfigVariable<DtString> myHostAddress;
497 
498  DtConfigVariable<DtString> myMsdlSidcMappingFile;
499  DtConfigVariable<DtString> myCountryCodesMappingFile;
500 
501  DtConfigVariable<int> myTracyPort;
502  DtConfigVariable<int> myCmdNumCallbackThreads;
503  DtConfigVariable<bool> myCmdMainThreadWaitForQueue;
504  DtConfigVariable<bool> myCmdDisableParallelTick;
505  DtConfigVariable<bool> myCmdDisableParallelPublisherTick;
507  DtConfigVariable<bool> myCmdTickPublishersDuringEntityTick;
509 
510  DtConfigVariable<bool> myCmdIssueSimExitOnFinishTestCommand;
511  DtConfigVariable<DtString> myCmdLogTestFilename;
512 
513  DtConfigVariable<bool> myCmdEnableMetoc;
514 
518  short myLegion;
521  #ifdef WIN32
522  DtConfigVariable<bool> myCmdSetMainThreadToHighPriority;
523  short mySetMainThreadToHighPriority;
524  #endif
525  #if USE_VLD_MEMORY_TRACKING && _DEBUG
526  DtConfigVariable<bool> myUseVld;
527  #endif
528 
536 
538 
540 
541  DtConfigVariable<bool> myCmdSuppressDataAvailableException;
543  };
544 
545  inline const std::vector<std::string>& DtVrfSimOptions::pluginsToLoad() const
546  {
547  return myPluginsToLoad;
548  }
549 }
550 
int myStatusUpdateHeartbeat
Definition: vrfSimOptions.h:437
int myCgfDispatcherReceivePort
Port number for incoming files in the DtCgfDispatcher.
Definition: vrfSimOptions.h:433
DtConfigVariable< DtString > myDataDir
Where the data directory is located.
Definition: vrfSimOptions.h:410
short myFullyLoadTerrain
Definition: vrfSimOptions.h:486
DtConfigVariable< DtString > mySharedDataDir
Where the shared data directory is located.
Definition: vrfSimOptions.h:390
short mySimMgmtPduProcessLevel
Parameter for processing sim mgmt PDUs.
Definition: vrfSimOptions.h:477
short mySelfReflect
Definition: vrfSimOptions.h:517
short myDisableParallelTick
Definition: vrfSimOptions.h:516
DtConfigVariable< int > mySessionId
Integer session Id. Applications with a common session Id must share the same terrain database...
Definition: vrfSimOptions.h:369
DtApplicationSettings & settings()
Definition: vrfSimOptions.h:330
DtMultiConfigVariable< std::string > myPluginFiles
Definition: vrfSimOptions.h:468
DtConfigVariable< DtString > mySharedSettingsDirectory
The location of the shared settings. Default is /settings/vrfSim.
Definition: vrfSimOptions.h:378
DtString myReportedHostAddress
Definition: vrfSimOptions.h:435
DtConfigVariable< DtString > mySharedDataStem
Where the shared data directory is located.
Definition: vrfSimOptions.h:396
DtConfigVariable< bool > myCmdStartInRunMode
Parameters for command line only.
Definition: vrfSimOptions.h:463
DtConfigVariable< int > myFrontEndPID
Process ID of the front-end that started us (combined mode)
Definition: vrfSimOptions.h:419
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
#define DT_DLL_legionNetworkInterface
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: legionNetworkInterfaceDefines.h:26
short myEnableNavigationLabDebugging
Definition: vrfSimOptions.h:443
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
short myRegenerateNavigationDataAtRuntime
Definition: vrfSimOptions.h:531
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
DtConfigVariable< bool > myCmdEnableMetoc
Definition: vrfSimOptions.h:513
short myReuseEntityIdentifiersOnScenarioLoad
Definition: vrfSimOptions.h:430
short myLoadPluginIfVersionMismatch
Definition: vrfSimOptions.h:479
DtConfigVariable< bool > myCmdFullyLoadTerrain
Definition: vrfSimOptions.h:485
double myGamewareQueryTimeBudget
Definition: vrfSimOptions.h:530
DtConfigVariable< bool > myCmdDisableParallelTick
Definition: vrfSimOptions.h:504
Definition: vrfSimOptions.h:15
DtConfigVariable< DtString > mySimulationModelSetFile
The name of an alternate parameter database file to load upon startup.
Definition: vrfSimOptions.h:355
DtConfigVariable< DtString > myUserDataDir
Where the user data directory is located.
Definition: vrfSimOptions.h:413
This class will interface with the VRL command line system to add some default legion command line ar...
Definition: legionApplicationInitializer.h:19
short myIssueSimExitOnFinishTestCommand
Definition: vrfSimOptions.h:519
DtConfigVariable< int > myTargetFrameRate
Cgf tick performance parameters.
Definition: vrfSimOptions.h:361
short myUseDIGuy
Set true to use DI-Guy Characters in Vr-Forces.
Definition: vrfSimOptions.h:387
short myLegion
Definition: vrfSimOptions.h:518
short myTickPublishersDuringEntityTick
Definition: vrfSimOptions.h:508
short myDaemonMode
Definition: vrfSimOptions.h:427
bool myDoNotUsePluginsDirectory
Definition: vrfSimOptions.h:473
DtFilename myDefaultTerrainDatabasePath
Definition: vrfSimOptions.h:446
DtConfigVariable< int > myAppIdRangeMax
Integer mak app id range when going beyon the 65K limit for entity creation on one app id...
Definition: vrfSimOptions.h:372
short myPublishZeroVelocityWhenPaused
Definition: vrfSimOptions.h:489
short myRejectMismatchedScenarioMessages
Definition: vrfSimOptions.h:539
short myEnableMetoc
Definition: vrfSimOptions.h:520
std::string dataDir()
DtConfigVariable< DtString > myCountryCodesMappingFile
Definition: vrfSimOptions.h:499
DtConfigVariable< int > myCmdNumCallbackThreads
Definition: vrfSimOptions.h:502
DtMultiConfigVariable< DtString > myEnabledChannels
Definition: vrfSimOptions.h:470
DtFilename myPluginsDirectory
Definition: vrfSimOptions.h:456
DtConfigVariable< DtString > mySharedDataRoot
Where the shared data directory is located.
Definition: vrfSimOptions.h:393
DtConfigVariable< int > myTracyPort
Definition: vrfSimOptions.h:501
DtConfigVariable< DtString > myAdditionalSystemScriptsDirectory
Semi-colon separated list of directories to load system scripts from.
Definition: vrfSimOptions.h:416
DtConfigVariable< bool > myCmdSuppressDataAvailableException
Definition: vrfSimOptions.h:541
short myStartInRunMode
Start in run mode.
Definition: vrfSimOptions.h:449
DtConfigVariable< bool > myCmdDoNotUsePluginsDirectory
Definition: vrfSimOptions.h:464
DtConfigVariable< bool > myCmdTickPublishersDuringEntityTick
Definition: vrfSimOptions.h:507
short myMainThreadWaitForQueue
Definition: vrfSimOptions.h:515
DtConfigVariable< DtString > myAppDataDir
Where the app data directory is located.
Definition: vrfSimOptions.h:407
short myDisableParallelPublisherTick
Definition: vrfSimOptions.h:506
DtConfigVariable< DtString > myDIGuyCharacterDataFile
Configuration files for setting up DI-Guy characters.
Definition: vrfSimOptions.h:399
int myGamewareMemorySize
Definition: vrfSimOptions.h:529
DtConfigVariable< DtString > myDIGuyAnimationsFile
Definition: vrfSimOptions.h:400
DtConfigVariable< DtString > myCmdLogTestFilename
Definition: vrfSimOptions.h:511
short mySendBackendLogToNetwork
Definition: vrfSimOptions.h:483
DtFilename myNavigationRegenerationFileDirectory
Definition: vrfSimOptions.h:535
std::vector< std::string > myPluginsToLoad
Definition: vrfSimOptions.h:472
DtConfigVariable< bool > myCmdMainThreadWaitForQueue
Definition: vrfSimOptions.h:503
DtConfigVariable< bool > myCmdDisableRemoteDiscovery
Definition: vrfSimOptions.h:422
DtConfigVariable< bool > myCmdConnectionless
Definition: vrfSimOptions.h:421
DtFilename myDefaultParameterDatabasePath
Definition: vrfSimOptions.h:445
DtConfigVariable< DtString > mySettingsFile
MTL file to load. Note this is here only for –help purposes as this variable is parsed outside of the...
Definition: vrfSimOptions.h:404
short mySendMessagesInNetworkProcess
Definition: vrfSimOptions.h:491
int myNumberOfNavQueueProcessingThreads
Definition: vrfSimOptions.h:533
short myLogFrameRateStatistics
Should the Cgf log performance (frame rate) stats or not.
Definition: vrfSimOptions.h:441
DtConfigVariable< DtString > myBatchFile
Filename of batch file to load at startup.
Definition: vrfSimOptions.h:358
DtConfigVariable< bool > myCmdIssueSimExitOnFinishTestCommand
Definition: vrfSimOptions.h:510
int myMaxNavigationRegenerationThreads
Definition: vrfSimOptions.h:532
const std::vector< std::string > & pluginsToLoad() const
Returns plugins to load.
Definition: vrfSimOptions.h:545
short myForceParameterDbReload
Definition: vrfSimOptions.h:438
short mySetDeadReckoningAlgorithmToStaticOnPause
Definition: vrfSimOptions.h:490
short myEnableLogFileTimestamps
Definition: vrfSimOptions.h:537
DtConfigVariable< bool > myUseUserSettingsDirectory
Whether or not to use the user roaming settings directory or shared (application) directory...
Definition: vrfSimOptions.h:381
int myObjectConsoleNotifyLevel
Starting object console notify level. Default is 2.
Definition: vrfSimOptions.h:482
int mySuppressDataAvailableException
Definition: vrfSimOptions.h:542
DtConfigVariable< bool > myCmdLogFrameRateStatistics
Definition: vrfSimOptions.h:466
short myAssertOnBlockingTerrainCalls
Definition: vrfSimOptions.h:488
DtConfigVariable< bool > myCmdDisableParallelPublisherTick
Definition: vrfSimOptions.h:505
DtConfigVariable< DtString > myMsdlSidcMappingFile
Definition: vrfSimOptions.h:498
DtConfigVariable< DtString > myOutputFile
Definition: vrfSimOptions.h:474
DtConfigVariable< DtString > myTerrainFile
The name of a terrain file to load upon startup (optional - new scenario)
Definition: vrfSimOptions.h:384
DtConfigVariable< DtString > myHostAddress
Address of the network interface to use for non-DIS/HLA communication with GUI.
Definition: vrfSimOptions.h:496
DtVrfPluginRecordManager myPluginRecordManager
Definition: vrfSimOptions.h:493
DtConfigVariable< DtString > myScenarioFile
The name of a scenario (.scn) file to load upon startup (optional)
Definition: vrfSimOptions.h:375
double myNavigationRegenerationDelay
Definition: vrfSimOptions.h:534
DtConfigVariable< int > myClockMode
Set 0 to use Performance Counter, or 1 to use System Clock.
Definition: vrfSimOptions.h:364

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)