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  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 
433 
436 
438 
441 
444 
446 
449 
452 
453  #ifdef WIN32
454  short myDoNotUseConsole;
455  short myStartMinimized;
456  #endif
457 
458  DtFilename myPluginsDirectory;
459 
461  #ifdef WIN32
462  DtConfigVariable<bool> myCmdNotUsingConsole;
463  DtConfigVariable<bool> myCmdStartMinimized;
464  #endif
465  DtConfigVariable<bool> myCmdStartInRunMode;
466  DtConfigVariable<bool> myCmdDoNotUsePluginsDirectory;
467 
468  DtConfigVariable<bool> myCmdLogFrameRateStatistics;
469 
470  DtMultiConfigVariable<std::string> myPluginFiles;
471 
472  DtMultiConfigVariable<DtString> myEnabledChannels;
473 
474  std::vector<std::string> myPluginsToLoad;
476  DtConfigVariable<DtString> myOutputFile;
477 
480 
482 
486 
487  DtConfigVariable<bool> myCmdFullyLoadTerrain;
489 
494 
496 
498  DtConfigVariable<DtString> myHostAddress;
499 
500  DtConfigVariable<DtString> myMsdlSidcMappingFile;
501  DtConfigVariable<DtString> myCountryCodesMappingFile;
502 
503  DtConfigVariable<int> myTracyPort;
504  DtConfigVariable<int> myCmdNumCallbackThreads;
505  DtConfigVariable<bool> myCmdMainThreadWaitForQueue;
506  DtConfigVariable<bool> myCmdDisableParallelTick;
507  DtConfigVariable<bool> myCmdDisableParallelPublisherTick;
509  DtConfigVariable<bool> myCmdTickPublishersDuringEntityTick;
511 
512  DtConfigVariable<bool> myCmdIssueSimExitOnFinishTestCommand;
513  DtConfigVariable<DtString> myCmdLogTestFilename;
514 
515  DtConfigVariable<bool> myCmdEnableMetoc;
516 
520  short myLegion;
523  #ifdef WIN32
524  DtConfigVariable<bool> myCmdSetMainThreadToHighPriority;
525  short mySetMainThreadToHighPriority;
526  #endif
534 
536 
538 
539  DtConfigVariable<bool> myCmdSuppressDataAvailableException;
541  };
542 
543  inline const std::vector<std::string>& DtVrfSimOptions::pluginsToLoad() const
544  {
545  return myPluginsToLoad;
546  }
547 }
548 
int myStatusUpdateHeartbeat
Definition: vrfSimOptions.h:439
int myCgfDispatcherReceivePort
Port number for incoming files in the DtCgfDispatcher.
Definition: vrfSimOptions.h:435
DtConfigVariable< DtString > myDataDir
Where the data directory is located.
Definition: vrfSimOptions.h:410
short myFullyLoadTerrain
Definition: vrfSimOptions.h:488
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:479
short mySelfReflect
Definition: vrfSimOptions.h:519
short myDisableParallelTick
Definition: vrfSimOptions.h:518
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:470
DtConfigVariable< DtString > mySharedSettingsDirectory
The location of the shared settings. Default is /settings/vrfSim.
Definition: vrfSimOptions.h:378
DtString myReportedHostAddress
Definition: vrfSimOptions.h:437
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:465
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:445
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
short myRegenerateNavigationDataAtRuntime
Definition: vrfSimOptions.h:529
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
DtConfigVariable< bool > myCmdEnableMetoc
Definition: vrfSimOptions.h:515
short myReuseEntityIdentifiersOnScenarioLoad
Definition: vrfSimOptions.h:430
short myLoadPluginIfVersionMismatch
Definition: vrfSimOptions.h:481
DtConfigVariable< bool > myCmdFullyLoadTerrain
Definition: vrfSimOptions.h:487
double myGamewareQueryTimeBudget
Definition: vrfSimOptions.h:528
DtConfigVariable< bool > myCmdDisableParallelTick
Definition: vrfSimOptions.h:506
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:521
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:520
short myTickPublishersDuringEntityTick
Definition: vrfSimOptions.h:510
short myDaemonMode
Definition: vrfSimOptions.h:427
bool myDoNotUsePluginsDirectory
Definition: vrfSimOptions.h:475
DtFilename myDefaultTerrainDatabasePath
Definition: vrfSimOptions.h:448
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:491
short myRejectMismatchedScenarioMessages
Definition: vrfSimOptions.h:537
short myEnableMetoc
Definition: vrfSimOptions.h:522
std::string dataDir()
DtConfigVariable< DtString > myCountryCodesMappingFile
Definition: vrfSimOptions.h:501
DtConfigVariable< int > myCmdNumCallbackThreads
Definition: vrfSimOptions.h:504
DtMultiConfigVariable< DtString > myEnabledChannels
Definition: vrfSimOptions.h:472
short myLoadAllNavigationDataOnTerrainLoad
Definition: vrfSimOptions.h:432
DtFilename myPluginsDirectory
Definition: vrfSimOptions.h:458
DtConfigVariable< DtString > mySharedDataRoot
Where the shared data directory is located.
Definition: vrfSimOptions.h:393
DtConfigVariable< int > myTracyPort
Definition: vrfSimOptions.h:503
DtConfigVariable< DtString > myAdditionalSystemScriptsDirectory
Semi-colon separated list of directories to load system scripts from.
Definition: vrfSimOptions.h:416
DtConfigVariable< bool > myCmdSuppressDataAvailableException
Definition: vrfSimOptions.h:539
short myStartInRunMode
Start in run mode.
Definition: vrfSimOptions.h:451
DtConfigVariable< bool > myCmdDoNotUsePluginsDirectory
Definition: vrfSimOptions.h:466
DtConfigVariable< bool > myCmdTickPublishersDuringEntityTick
Definition: vrfSimOptions.h:509
short myMainThreadWaitForQueue
Definition: vrfSimOptions.h:517
DtConfigVariable< DtString > myAppDataDir
Where the app data directory is located.
Definition: vrfSimOptions.h:407
short myDisableParallelPublisherTick
Definition: vrfSimOptions.h:508
DtConfigVariable< DtString > myDIGuyCharacterDataFile
Configuration files for setting up DI-Guy characters.
Definition: vrfSimOptions.h:399
int myGamewareMemorySize
Definition: vrfSimOptions.h:527
DtConfigVariable< DtString > myDIGuyAnimationsFile
Definition: vrfSimOptions.h:400
DtConfigVariable< DtString > myCmdLogTestFilename
Definition: vrfSimOptions.h:513
short mySendBackendLogToNetwork
Definition: vrfSimOptions.h:485
DtFilename myNavigationRegenerationFileDirectory
Definition: vrfSimOptions.h:533
std::vector< std::string > myPluginsToLoad
Definition: vrfSimOptions.h:474
DtConfigVariable< bool > myCmdMainThreadWaitForQueue
Definition: vrfSimOptions.h:505
DtConfigVariable< bool > myCmdDisableRemoteDiscovery
Definition: vrfSimOptions.h:422
DtConfigVariable< bool > myCmdConnectionless
Definition: vrfSimOptions.h:421
DtFilename myDefaultParameterDatabasePath
Definition: vrfSimOptions.h:447
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:493
int myNumberOfNavQueueProcessingThreads
Definition: vrfSimOptions.h:531
short myLogFrameRateStatistics
Should the Cgf log performance (frame rate) stats or not.
Definition: vrfSimOptions.h:443
DtConfigVariable< DtString > myBatchFile
Filename of batch file to load at startup.
Definition: vrfSimOptions.h:358
DtConfigVariable< bool > myCmdIssueSimExitOnFinishTestCommand
Definition: vrfSimOptions.h:512
int myMaxNavigationRegenerationThreads
Definition: vrfSimOptions.h:530
const std::vector< std::string > & pluginsToLoad() const
Returns plugins to load.
Definition: vrfSimOptions.h:543
short myForceParameterDbReload
Definition: vrfSimOptions.h:440
short mySetDeadReckoningAlgorithmToStaticOnPause
Definition: vrfSimOptions.h:492
short myEnableLogFileTimestamps
Definition: vrfSimOptions.h:535
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:484
int mySuppressDataAvailableException
Definition: vrfSimOptions.h:540
DtConfigVariable< bool > myCmdLogFrameRateStatistics
Definition: vrfSimOptions.h:468
short myAssertOnBlockingTerrainCalls
Definition: vrfSimOptions.h:490
DtConfigVariable< bool > myCmdDisableParallelPublisherTick
Definition: vrfSimOptions.h:507
DtConfigVariable< DtString > myMsdlSidcMappingFile
Definition: vrfSimOptions.h:500
DtConfigVariable< DtString > myOutputFile
Definition: vrfSimOptions.h:476
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:498
DtVrfPluginRecordManager myPluginRecordManager
Definition: vrfSimOptions.h:495
DtConfigVariable< DtString > myScenarioFile
The name of a scenario (.scn) file to load upon startup (optional)
Definition: vrfSimOptions.h:375
double myNavigationRegenerationDelay
Definition: vrfSimOptions.h:532
DtConfigVariable< int > myClockMode
Set 0 to use Performance Counter, or 1 to use System Clock.
Definition: vrfSimOptions.h:364

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)