VR-Forces 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 
110  virtual void setLoadAllNavigationDataOnTerrainLoad(bool);
111  virtual bool loadAllNavigationDataOnTerrainLoad() const;
112 
114  virtual void parseCmdLine();
115 
116  virtual short simMgmtPduProcessLevel() const;
117 
118  virtual int cgfDispatcherReceivePort() const;
119  virtual void setCgfDispatcherReceivePort(int port);
120 
122  virtual int tracyPort() const;
123  virtual bool tracyPortSet() const;
124  virtual void setTracyPort(int port);
125 
127  const std::vector<std::string>& pluginsToLoad() const;
128 
129  virtual void setLoadPluginIfVersionMismatch(bool);
130  virtual bool loadPluginIfVersionMismatch() const;
131 
132  virtual void setPluginsDirectory(const DtFilename&);
133  virtual const DtFilename& pluginsDirectory() const;
134 
135  virtual DtString additionalSystemScriptsDirectory() const;
136  virtual void setAdditionalSystemScriptsDirectory(const DtString&);
137 
139  virtual void setDoNotUsePluginsDirectory(bool b);
140  virtual bool doNotUsePluginsDirectory() const;
141 
143  virtual DtFilename outputFile() const;
144  virtual void setOutputFile(const DtFilename& s);
145 
147  virtual void setNotifyLevel(DtNotifyLevelType level);
149  virtual DtNotifyLevelType notifyLevel() const;
150 
155 
156  virtual void setSendBackendLogToNetwork(bool v);
157  virtual bool sendBackendLogToNetwork() const;
159 
161 
162  virtual void setFullyLoadTerrain(bool v);
163  virtual bool fullyLoadTerrain() const;
165 
168 
169  virtual void setAssertOnBlockingTerrainCalls(bool b);
170  virtual bool assertOnBlockingTerrainCalls() const;
172 
177 
178  virtual void setHostAddress(const DtString& address);
179  virtual DtString hostAddress() const;
181 
185 
186  virtual void setReportedHostAddress(const DtString& address);
187  virtual DtString reportedHostAddress() const;
189 
192  virtual void setAppDataDir(const DtString&);
193  virtual DtString appDataDir() const;
195 
197  virtual void setupSettingsDirectory(const DtFilename& f, bool useSharedSettingsDirectory);
198 
201  virtual void setSharedDataDir(const DtFilename&);
202  virtual DtFilename sharedDataDir() const;
204 
207  virtual bool isSharedDataDirSet() const;
209 
212  virtual void setSharedDataRoot(const DtFilename&);
213  virtual DtFilename sharedDataRoot() const;
215 
218  virtual bool isSharedDataRootSet() const;
220 
223  virtual void setSharedDataStem(const DtString&);
224  virtual DtString sharedDataStem() const;
226 
229  virtual bool isSharedDataStemSet() const;
231 
234  virtual void setDataDir(const DtString&);
235  virtual DtString dataDir() const;
237 
240  virtual bool isDataDirSet() const;
242 
245  virtual void setUserDataDir(const DtString&);
246  virtual DtString userDataDir() const;
248 
251  virtual bool isUserDataDirSet() const;
253 
255 
256  virtual void setMsdlSidcMappingFile(const DtString& address);
257  virtual DtFilename msdlSidcMappingFile() const;
259 
261 
262  virtual void setCountryCodesMappingFile(const DtString& address);
263  virtual DtFilename countryCodesMappingFile() const;
265 
267  virtual void outputMtl();
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  virtual void setAutomaticallyCreateGlobalEnvironment(bool autoCreate);
331  virtual bool automaticallyCreateGlobalEnvironment() const;
332 
333  DtApplicationSettings& settings() { return exerciseConnectionConfig()->settings(); };
334 
335  protected:
339  virtual void initializeMtlParams();
340 
341  virtual void processStringList(std::vector<DtString>& v, const std::vector<DtString>& list) const;
342 
344  virtual void initPluginVariables();
345 
347  virtual void processPluginsDirectory(const DtFilename& directory);
348 
349  private:
351  DtVrfSimOptions(const DtVrfSimOptions& orig);
352 
354  DtVrfSimOptions& operator=(const DtVrfSimOptions& rhs);
355 
356  protected:
358  DtConfigVariable<DtString> mySimulationModelSetFile;
359 
361  DtConfigVariable<DtString> myBatchFile;
362 
364  DtConfigVariable<int> myTargetFrameRate;
365 
367  DtConfigVariable<int> myClockMode;
368 
372  DtConfigVariable<int> mySessionId;
373 
375  DtConfigVariable<int> myAppIdRangeMax;
376 
378  DtConfigVariable<DtString> myScenarioFile;
379 
381  DtConfigVariable<DtString> mySharedSettingsDirectory;
382 
384  DtConfigVariable<bool> myUseUserSettingsDirectory;
385 
387  DtConfigVariable<DtString> myTerrainFile;
388 
390  short myUseDIGuy;
391 
393  DtConfigVariable<DtString> mySharedDataDir;
394 
396  DtConfigVariable<DtString> mySharedDataRoot;
397 
399  DtConfigVariable<DtString> mySharedDataStem;
400 
402  DtConfigVariable<DtString> myDIGuyCharacterDataFile;
403  DtConfigVariable<DtString> myDIGuyAnimationsFile;
404 
407  DtConfigVariable<DtString> mySettingsFile;
408 
410  DtConfigVariable<DtString> myAppDataDir;
411 
413  DtConfigVariable<DtString> myDataDir;
414 
416  DtConfigVariable<DtString> myUserDataDir;
417 
419  DtConfigVariable<DtString> myAdditionalSystemScriptsDirectory;
420 
422  DtConfigVariable<int> myFrontEndPID;
423 
424  DtConfigVariable<bool> myCmdConnectionless;
425  DtConfigVariable<bool> myCmdDisableRemoteDiscovery;
426 
427  #ifndef WIN32
428  DtConfigVariable<bool> myCmdDaemonMode;
431  #endif
432 
434 
436 
439 
441 
444 
447 
449 
452 
455 
456  #ifdef WIN32
457  short myDoNotUseConsole;
458  short myStartMinimized;
459  #endif
460 
461  DtFilename myPluginsDirectory;
462 
464  #ifdef WIN32
465  DtConfigVariable<bool> myCmdNotUsingConsole;
466  DtConfigVariable<bool> myCmdStartMinimized;
467  #endif
468  DtConfigVariable<bool> myCmdStartInRunMode;
469  DtConfigVariable<bool> myCmdDoNotUsePluginsDirectory;
470 
471  DtConfigVariable<bool> myCmdLogFrameRateStatistics;
472 
473  DtMultiConfigVariable<std::string> myPluginFiles;
474 
475  DtMultiConfigVariable<DtString> myEnabledChannels;
476 
477  std::vector<std::string> myPluginsToLoad;
479  DtConfigVariable<DtString> myOutputFile;
480 
483 
485 
489 
490  DtConfigVariable<bool> myCmdFullyLoadTerrain;
492 
497 
499 
501  DtConfigVariable<DtString> myHostAddress;
502 
503  DtConfigVariable<DtString> myMsdlSidcMappingFile;
504  DtConfigVariable<DtString> myCountryCodesMappingFile;
505 
506  DtConfigVariable<int> myTracyPort;
507  DtConfigVariable<int> myCmdNumCallbackThreads;
508  DtConfigVariable<bool> myCmdMainThreadWaitForQueue;
509  DtConfigVariable<bool> myCmdDisableParallelTick;
510  DtConfigVariable<bool> myCmdDisableParallelPublisherTick;
512  DtConfigVariable<bool> myCmdTickPublishersDuringEntityTick;
514 
515  DtConfigVariable<bool> myCmdIssueSimExitOnFinishTestCommand;
516  DtConfigVariable<DtString> myCmdLogTestFilename;
517 
518  DtConfigVariable<bool> myCmdEnableMetoc;
519 
523  short myLegion;
526  #ifdef WIN32
527  DtConfigVariable<bool> myCmdSetMainThreadToHighPriority;
528  short mySetMainThreadToHighPriority;
529  #endif
537 
539 
541 
542  DtConfigVariable<bool> myCmdSuppressDataAvailableException;
544 
546  };
547 
548  inline const std::vector<std::string>& DtVrfSimOptions::pluginsToLoad() const
549  {
550  return myPluginsToLoad;
551  }
552 }
553 
int myStatusUpdateHeartbeat
Definition: vrfSimOptions.h:442
int myCgfDispatcherReceivePort
Port number for incoming files in the DtCgfDispatcher.
Definition: vrfSimOptions.h:438
DtConfigVariable< DtString > myDataDir
Where the data directory is located.
Definition: vrfSimOptions.h:413
short myFullyLoadTerrain
Definition: vrfSimOptions.h:491
DtConfigVariable< DtString > mySharedDataDir
Where the shared data directory is located.
Definition: vrfSimOptions.h:393
short mySimMgmtPduProcessLevel
Parameter for processing sim mgmt PDUs.
Definition: vrfSimOptions.h:482
short mySelfReflect
Definition: vrfSimOptions.h:522
short myDisableParallelTick
Definition: vrfSimOptions.h:521
DtConfigVariable< int > mySessionId
Integer session Id. Applications with a common session Id must share the same terrain database...
Definition: vrfSimOptions.h:372
DtApplicationSettings & settings()
Definition: vrfSimOptions.h:333
DtMultiConfigVariable< std::string > myPluginFiles
Definition: vrfSimOptions.h:473
DtConfigVariable< DtString > mySharedSettingsDirectory
The location of the shared settings. Default is /settings/vrfSim.
Definition: vrfSimOptions.h:381
DtString myReportedHostAddress
Definition: vrfSimOptions.h:440
DtConfigVariable< DtString > mySharedDataStem
Where the shared data directory is located.
Definition: vrfSimOptions.h:399
DtConfigVariable< bool > myCmdStartInRunMode
Parameters for command line only.
Definition: vrfSimOptions.h:468
DtConfigVariable< int > myFrontEndPID
Process ID of the front-end that started us (combined mode)
Definition: vrfSimOptions.h:422
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
DtConfigVariable< bool > myCmdEnableMetoc
Definition: vrfSimOptions.h:518
short myEnableNavigationLabDebugging
Definition: vrfSimOptions.h:448
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
short myRegenerateNavigationDataAtRuntime
Definition: vrfSimOptions.h:532
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
short myReuseEntityIdentifiersOnScenarioLoad
Definition: vrfSimOptions.h:433
short myAutomaticallyCreateGlobalEnvironment
Definition: vrfSimOptions.h:545
short myLoadPluginIfVersionMismatch
Definition: vrfSimOptions.h:484
DtConfigVariable< bool > myCmdFullyLoadTerrain
Definition: vrfSimOptions.h:490
double myGamewareQueryTimeBudget
Definition: vrfSimOptions.h:531
DtConfigVariable< bool > myCmdDisableParallelTick
Definition: vrfSimOptions.h:509
Definition: vrfSimOptions.h:15
DtConfigVariable< DtString > mySimulationModelSetFile
The name of an alternate parameter database file to load upon startup.
Definition: vrfSimOptions.h:358
DtConfigVariable< DtString > myUserDataDir
Where the user data directory is located.
Definition: vrfSimOptions.h:416
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:524
DtConfigVariable< int > myTargetFrameRate
Cgf tick performance parameters.
Definition: vrfSimOptions.h:364
short myUseDIGuy
Set true to use DI-Guy Characters in Vr-Forces.
Definition: vrfSimOptions.h:390
short myLegion
Definition: vrfSimOptions.h:523
short myTickPublishersDuringEntityTick
Definition: vrfSimOptions.h:513
short myDaemonMode
Definition: vrfSimOptions.h:430
bool myDoNotUsePluginsDirectory
Definition: vrfSimOptions.h:478
DtFilename myDefaultTerrainDatabasePath
Definition: vrfSimOptions.h:451
DtConfigVariable< int > myAppIdRangeMax
Integer mak app id range when going beyon the 65K limit for entity creation on one app id...
Definition: vrfSimOptions.h:375
short myPublishZeroVelocityWhenPaused
Definition: vrfSimOptions.h:494
short myRejectMismatchedScenarioMessages
Definition: vrfSimOptions.h:540
short myEnableMetoc
Definition: vrfSimOptions.h:525
DtConfigVariable< DtString > myCountryCodesMappingFile
Definition: vrfSimOptions.h:504
DtConfigVariable< int > myCmdNumCallbackThreads
Definition: vrfSimOptions.h:507
DtMultiConfigVariable< DtString > myEnabledChannels
Definition: vrfSimOptions.h:475
short myLoadAllNavigationDataOnTerrainLoad
Definition: vrfSimOptions.h:435
DtFilename myPluginsDirectory
Definition: vrfSimOptions.h:461
DtConfigVariable< DtString > mySharedDataRoot
Where the shared data directory is located.
Definition: vrfSimOptions.h:396
DtConfigVariable< int > myTracyPort
Definition: vrfSimOptions.h:506
DtConfigVariable< DtString > myAdditionalSystemScriptsDirectory
Semi-colon separated list of directories to load system scripts from.
Definition: vrfSimOptions.h:419
DtConfigVariable< bool > myCmdSuppressDataAvailableException
Definition: vrfSimOptions.h:542
short myStartInRunMode
Start in run mode.
Definition: vrfSimOptions.h:454
DtConfigVariable< bool > myCmdDoNotUsePluginsDirectory
Definition: vrfSimOptions.h:469
DtConfigVariable< bool > myCmdTickPublishersDuringEntityTick
Definition: vrfSimOptions.h:512
short myMainThreadWaitForQueue
Definition: vrfSimOptions.h:520
DtConfigVariable< DtString > myAppDataDir
Where the app data directory is located.
Definition: vrfSimOptions.h:410
short myDisableParallelPublisherTick
Definition: vrfSimOptions.h:511
DtConfigVariable< DtString > myDIGuyCharacterDataFile
Configuration files for setting up DI-Guy characters.
Definition: vrfSimOptions.h:402
int myGamewareMemorySize
Definition: vrfSimOptions.h:530
DtConfigVariable< DtString > myDIGuyAnimationsFile
Definition: vrfSimOptions.h:403
DtConfigVariable< DtString > myCmdLogTestFilename
Definition: vrfSimOptions.h:516
short mySendBackendLogToNetwork
Definition: vrfSimOptions.h:488
DtFilename myNavigationRegenerationFileDirectory
Definition: vrfSimOptions.h:536
std::vector< std::string > myPluginsToLoad
Definition: vrfSimOptions.h:477
DtConfigVariable< bool > myCmdMainThreadWaitForQueue
Definition: vrfSimOptions.h:508
DtConfigVariable< bool > myCmdDisableRemoteDiscovery
Definition: vrfSimOptions.h:425
DtConfigVariable< bool > myCmdConnectionless
Definition: vrfSimOptions.h:424
DtFilename myDefaultParameterDatabasePath
Definition: vrfSimOptions.h:450
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:407
short mySendMessagesInNetworkProcess
Definition: vrfSimOptions.h:496
int myNumberOfNavQueueProcessingThreads
Definition: vrfSimOptions.h:534
short myLogFrameRateStatistics
Should the Cgf log performance (frame rate) stats or not.
Definition: vrfSimOptions.h:446
DtConfigVariable< DtString > myBatchFile
Filename of batch file to load at startup.
Definition: vrfSimOptions.h:361
DtConfigVariable< bool > myCmdIssueSimExitOnFinishTestCommand
Definition: vrfSimOptions.h:515
int myMaxNavigationRegenerationThreads
Definition: vrfSimOptions.h:533
const std::vector< std::string > & pluginsToLoad() const
Returns plugins to load.
Definition: vrfSimOptions.h:548
short myForceParameterDbReload
Definition: vrfSimOptions.h:443
short mySetDeadReckoningAlgorithmToStaticOnPause
Definition: vrfSimOptions.h:495
short myEnableLogFileTimestamps
Definition: vrfSimOptions.h:538
DtConfigVariable< bool > myUseUserSettingsDirectory
Whether or not to use the user roaming settings directory or shared (application) directory...
Definition: vrfSimOptions.h:384
int myObjectConsoleNotifyLevel
Starting object console notify level. Default is 2.
Definition: vrfSimOptions.h:487
int mySuppressDataAvailableException
Definition: vrfSimOptions.h:543
DtConfigVariable< bool > myCmdLogFrameRateStatistics
Definition: vrfSimOptions.h:471
short myAssertOnBlockingTerrainCalls
Definition: vrfSimOptions.h:493
DtConfigVariable< bool > myCmdDisableParallelPublisherTick
Definition: vrfSimOptions.h:510
DtConfigVariable< DtString > myMsdlSidcMappingFile
Definition: vrfSimOptions.h:503
DtConfigVariable< DtString > myOutputFile
Definition: vrfSimOptions.h:479
DtConfigVariable< DtString > myTerrainFile
The name of a terrain file to load upon startup (optional - new scenario)
Definition: vrfSimOptions.h:387
DtConfigVariable< DtString > myHostAddress
Address of the network interface to use for non-DIS/HLA communication with GUI.
Definition: vrfSimOptions.h:501
DtVrfPluginRecordManager myPluginRecordManager
Definition: vrfSimOptions.h:498
DtConfigVariable< DtString > myScenarioFile
The name of a scenario (.scn) file to load upon startup (optional)
Definition: vrfSimOptions.h:378
double myNavigationRegenerationDelay
Definition: vrfSimOptions.h:535
DtConfigVariable< int > myClockMode
Set 0 to use Performance Counter, or 1 to use System Clock.
Definition: vrfSimOptions.h:367

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)