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) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 /*******************************************************************************
7 ** Modify this class to add options that you can use to set up
8 ** initial simulation state. This object is used exclusively by the
9 ** DtVrfApp class.
10 *******************************************************************************/
11 
12 #pragma once
13 
17 
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>
23 
25 
26 namespace makVrf
27 {
28  class DT_DLL_vrlinkNetworkInterface DtVrfSimOptions
31  {
32  public:
34  DtVrfSimOptions(int argc, char** argv, const char* appName, const char* appVersion);
35 
37  virtual ~DtVrfSimOptions();
38 
41  virtual bool readConfigurationFile(const DtFilename& mtlFile);
42 
43  public:
45  virtual DtFloat64 entVrfDataTimeThreshold() const;
46 
48  virtual double rotationThreshold() const;
49 
51  virtual double translationThreshold() const;
52 
54  virtual double aggDimensionThreshold() const;
55 
58  virtual void setPublishZeroVelocityWhenPaused(bool);
59  virtual bool publishZeroVelocityWhenPaused() const;
60 
64  virtual void setSetDeadReckoningAlgorithmToStaticOnPause(bool);
65  virtual bool setDeadReckoningAlgorithmToStaticOnPause() const;
66 
67  virtual void setSendMessagesInNetworkProcess(bool);
68  virtual bool sendMessagesInNetworkProcess() const;
69 
70  virtual void setSelfReflect(bool use);
71  virtual bool selfReflect() const;
72 
75  virtual void setNumNetworkCallbackThreads(unsigned n);
76  virtual unsigned numNetworkCallbackThreads() const;
77 
79  virtual bool useAbsoluteTimeStamps() const;
80 
81  #if DtDIS
82  virtual std::vector<DtString> additionalDestinationAddresses() const;
83 
85  virtual void setAdditionalDestinationAddresses(const DtString& addresses);
86 
88  virtual void setAdditionalDestinationAddresses(const std::vector<DtString>& addresses);
89  #endif
90 
91  virtual void setTaskVisualizationPublicationMode(short state);
92  virtual short taskVisualizationPublicationMode() const;
93 
94  virtual void setUseDrawControlForTaskVisualizations(bool);
95  virtual bool useDrawControlForTaskVisualizations() const;
96 
103  virtual void setNonVrfObjectsUUIDScheme(const DtString&);
104  virtual DtString nonVrfObjectsUUIDScheme() const;
106 
108  virtual int statusUpdateHeartbeat() const;
109 
110  virtual bool connectionless() const;
111  virtual bool disableRemoteDiscovery() const;
112 
116  virtual DtFilename simulationModelSetFilename() const;
117 
119  virtual bool forceParameterDbReload() const;
120 
126  virtual void setTargetFrameRate(int rate);
127  virtual int targetFrameRate() const;
129 
131  virtual int clockMode() const;
132 
135  virtual void setDefaultParameterDatabasePath(const DtFilename& path);
136  virtual const DtFilename& defaultParameterDatabasePath() const;
137 
140  virtual void setDefaultTerrainDatabasePath(const DtFilename& path);
141  virtual const DtFilename& defaultTerrainDatabasePath() const;
142 
144  virtual DtFilename diGuyCharacterDataFile() const;
145 
147  virtual DtFilename diGuyAnimationsFile() const;
148 
151  virtual bool logFrameRateStats() const;
152  virtual void setLogFrameRateStats(bool yesOrNo);
153 
155  virtual void setRejectMismatchedScenarioMessages(bool);
156  virtual bool rejectMismatchedScenarioMessages() const;
157 
158  virtual bool enableNavigationLabDebugging() const;
159  virtual void setEnableNavigationLabDebugging(bool enable);
160 
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;
167 
168  virtual int frontEndProcessId() const;
169 
170  virtual void setStartInRunMode(bool);
171  virtual bool startInRunMode() const;
172 
173  #ifdef WIN32
174  virtual void setDoNotUseConsole(bool);
175  virtual bool usingConsole() const;
176 
177  virtual void setStartMinimized(bool);
178  virtual bool startMinimized() const;
179  #endif
180 
181  virtual void setDaemonMode(bool);
182  virtual bool daemonMode() const;
183 
184  #if DtHLA
185  virtual bool runInTimeManagementMode() const;
187  virtual void setRunInTimeManagementMode(bool yesNo);
188 
189  virtual bool disableRequestUpdates() const;
190  virtual void setDisableRequestUpdates(bool yesNo);
191  #elif DtDIS
192  virtual double heartbeatVariance() const;
193  virtual void setHeartbeatVariance(double variance);
194  #endif
195 
196  virtual void setReuseEntityIdentifiersOnScenarioLoad(bool);
197  virtual bool reuseEntityIdentifiersOnScenarioLoad() const;
198 
200  virtual void parseCmdLine();
201 
202  virtual short simMgmtPduProcessLevel() const;
203 
204  virtual int cgfDispatcherReceivePort() const;
205  virtual void setCgfDispatcherReceivePort(int port);
206 
208  virtual int tracyPort() const;
209  virtual bool tracyPortSet() const;
210  virtual void setTracyPort(int port);
211 
213  const std::vector<std::string>& pluginsToLoad() const;
214 
215  virtual void setLoadPluginIfVersionMismatch(bool);
216  virtual bool loadPluginIfVersionMismatch() const;
217 
218  virtual void setPluginsDirectory(const DtFilename&);
219  virtual const DtFilename& pluginsDirectory() const;
220 
221  virtual DtString additionalSystemScriptsDirectory() const;
222  virtual void setAdditionalSystemScriptsDirectory(const DtString&);
223 
225  virtual void setDoNotUsePluginsDirectory(bool b);
226  virtual bool doNotUsePluginsDirectory() const;
227 
229  virtual DtFilename outputFile() const;
230  virtual void setOutputFile(const DtFilename& s);
231 
233  virtual void setNotifyLevel(DtNotifyLevelType level);
235  virtual DtNotifyLevelType notifyLevel() const;
236 
241 
242  virtual void setSendBackendLogToNetwork(bool v);
243  virtual bool sendBackendLogToNetwork() const;
245 
247 
248  virtual void setFullyLoadTerrain(bool v);
249  virtual bool fullyLoadTerrain() const;
251 
254 
255  virtual void setAssertOnBlockingTerrainCalls(bool b);
256  virtual bool assertOnBlockingTerrainCalls() const;
258 
263 
264  virtual void setHostAddress(const DtString& address);
265  virtual DtString hostAddress() const;
267 
271 
272  virtual void setReportedHostAddress(const DtString& address);
273  virtual DtString reportedHostAddress() const;
275 
278  virtual void setAppDataDir(const DtString&);
279  virtual DtString appDataDir() const;
281 
283  virtual void setupSettingsDirectory(const DtFilename& f, bool useSharedSettingsDirectory);
284 
287  virtual void setSharedDataDir(const DtFilename&);
288  virtual DtFilename sharedDataDir() const;
290 
293  virtual bool isSharedDataDirSet() const;
295 
298  virtual void setSharedDataRoot(const DtFilename&);
299  virtual DtFilename sharedDataRoot() const;
301 
304  virtual bool isSharedDataRootSet() const;
306 
309  virtual void setSharedDataStem(const DtString&);
310  virtual DtString sharedDataStem() const;
312 
315  virtual bool isSharedDataStemSet() const;
317 
320  virtual void setDataDir(const DtString&);
321  virtual DtString dataDir() const;
323 
326  virtual bool isDataDirSet() const;
328 
331  virtual void setUserDataDir(const DtString&);
332  virtual DtString userDataDir() const;
334 
337  virtual bool isUserDataDirSet() const;
339 
341 
342  virtual void setMsdlSidcMappingFile(const DtString& address);
343  virtual DtFilename msdlSidcMappingFile() const;
345 
347 
348  virtual void setCountryCodesMappingFile(const DtString& address);
349  virtual DtFilename countryCodesMappingFile() const;
351 
353  virtual void outputMtl();
354  #if USE_VLD_MEMORY_TRACKING && _DEBUG
355  virtual bool useVld() const;
356  #endif
357 
358  virtual void setMainThreadWaitForQueue(bool enable);
359  virtual void setNumCallbackThreads(unsigned n);
360 
361  virtual void setDisableParallelTick(bool use);
362  virtual void setIssueSimExitOnFinishTestCommand(bool shouldExit);
363 
364  virtual void setEnableMetoc(bool enable);
365 
366  virtual bool mainThreadWaitForQueue() const;
367  virtual unsigned numCallbackThreads() const;
368  virtual bool disableParallelTick() const;
369  virtual bool enableMetoc() const;
370  virtual bool issueSimExitOnFinishTestCommand() const;
371 
372  virtual void setDisableParallelPublisherTick(bool);
373  virtual bool disableParallelPublisherTick() const;
374 
375  virtual void setTickPublishersDuringEntityTick(bool);
376  virtual bool tickPublishersDuringEntityTick() const;
377 
378  virtual DtFilename testLogFile() const;
379 
380  virtual void setGamewareMemorySize(int sizeInMb);
381  virtual int gamewareMemorySize() const;
382 
383  virtual void setGamewareQueryTimeBudget(double ms);
384  virtual double gamewareQueryTimeBudget() const;
385 
386  virtual void setRegenerateNavigationDataAtRuntime(bool v);
387  virtual bool regenerateNavigationDataAtRuntime() const;
388 
389  virtual void setMaxNavigationRegenerationThreads(int threads);
390  virtual int maxNavigationRegenerationThreads() const;
391 
392  virtual void setNumberOfNavQueueProcessingThreads(int threads);
393  virtual int numberOfNavQueueProcessingThreads() const;
394 
395  virtual void setNavigationRegenerationFileDirectory(const DtString& dir);
396  virtual DtFilename navigationRegenerationFileDirectory() const;
397 
398  virtual void setNavigationRegenerationDelay(double delay);
399  virtual double navigationRegenerationDelay() const;
400 
401  virtual void setEnableLogFileTimestamps(bool v);
402  virtual bool enableLogFileTimestamps() const;
403 
404  #if DtHLA
405  virtual void setUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed(bool v);
406  virtual bool useSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed() const;
407 
408  virtual void setExpectedLocalEntityCount(int v);
409  virtual int expectedLocalEntityCount() const;
410  #endif
411 
412  #ifdef WIN32
413  virtual void setMainThreadToHighPriority(bool);
415  #endif
416 
418  virtual std::vector<DtString> enabledChannels() const;
419 
423  virtual bool suppressDataAvailableException() const;
424  virtual void setSuppressDataAvailableException(bool);
426 
427  DtApplicationSettings& settings() { return mySettings; };
428 
429  protected:
433  virtual void initializeMtlParams();
434 
437 
438  virtual void setVariablesFromMtl();
439  virtual void processStringList(std::vector<DtString>& v, const std::vector<DtString>& list) const;
440 
442  virtual void initPluginVariables();
443 
445  virtual void processPluginsDirectory(const DtFilename& directory);
446 
447  private:
449  DtVrfSimOptions(const DtVrfSimOptions& orig);
450 
452  DtVrfSimOptions& operator=(const DtVrfSimOptions& rhs);
453 
454  protected:
456  DtConfigVariable<DtString> mySimulationModelSetFile;
457 
459  DtConfigVariable<DtString> myBatchFile;
460 
462  DtConfigVariable<int> myTargetFrameRate;
463 
465  DtConfigVariable<int> myClockMode;
466 
470  DtConfigVariable<int> mySessionId;
471 
473  DtConfigVariable<int> myAppIdRangeMax;
474 
476  DtConfigVariable<DtString> myScenarioFile;
477 
479  DtConfigVariable<DtString> mySharedSettingsDirectory;
480 
482  DtConfigVariable<bool> myUseUserSettingsDirectory;
483 
485  DtConfigVariable<DtString> myTerrainFile;
486 
488  short myUseDIGuy;
489 
491  DtConfigVariable<DtString> mySharedDataDir;
492 
494  DtConfigVariable<DtString> mySharedDataRoot;
495 
497  DtConfigVariable<DtString> mySharedDataStem;
498 
500  DtConfigVariable<DtString> myDIGuyCharacterDataFile;
501  DtConfigVariable<DtString> myDIGuyAnimationsFile;
502 
505  DtConfigVariable<DtString> mySettingsFile;
506 
508  DtConfigVariable<DtString> myAppDataDir;
509 
511  DtConfigVariable<DtString> myDataDir;
512 
514  DtConfigVariable<DtString> myUserDataDir;
515 
517  DtConfigVariable<DtString> myAdditionalSystemScriptsDirectory;
518 
520  DtConfigVariable<int> myFrontEndPID;
521 
522  DtConfigVariable<bool> myCmdConnectionless;
523  DtConfigVariable<bool> myCmdDisableRemoteDiscovery;
524 
525  #ifndef WIN32
526  DtConfigVariable<bool> myCmdDaemonMode;
528  short myDaemonMode;
529  #endif
530 
531  DtConfigVariable<DtString> myNonVrfObjectsUUIDScheme;
535 
540  DtConfigVariable<bool> myCmdUseAbsoluteTimeStamps;
541  DtConfigVariable<int> myCmdNumNetworkCallbackThreads;
542  DtConfigVariable<bool> myCmdSelfReflect;
543 
544  #if DtHLA
545  DtConfigVariable<bool> myCmdRunInTimeManagementMode;
550  DtConfigVariable<bool> myCmdDisableRequestUpdates;
552  #elif DtDIS
553  DtFloat64 myHeartbeatVariance;
554 
555  DtString myAdditionalDestinationAddresses;
556  #endif
557 
558  short myReuseEntityIdentifiersOnScenarioLoad;
559 
561  int myCgfDispatcherReceivePort;
562 
563  DtString myReportedHostAddress;
564 
565  int myStatusUpdateHeartbeat;
566  short myForceParameterDbReload;
567 
569  short myLogFrameRateStatistics;
570 
571  short myEnableNavigationLabDebugging;
572 
573  DtFilename myDefaultParameterDatabasePath;
574  DtFilename myDefaultTerrainDatabasePath;
575 
577  short myStartInRunMode;
578 
579  #ifdef WIN32
580  short myDoNotUseConsole;
581  short myStartMinimized;
582  #endif
583 
584  DtFilename myPluginsDirectory;
585 
587  #ifdef WIN32
588  DtConfigVariable<bool> myCmdNotUsingConsole;
589  DtConfigVariable<bool> myCmdStartMinimized;
590  #endif
591  DtConfigVariable<bool> myCmdStartInRunMode;
592  DtConfigVariable<bool> myCmdDoNotUsePluginsDirectory;
593 
594  DtConfigVariable<bool> myCmdLogFrameRateStatistics;
595 
596  DtMultiConfigVariable<std::string> myPluginFiles;
597 
598  DtMultiConfigVariable<DtString> myEnabledChannels;
599 
600  std::vector<std::string> myPluginsToLoad;
601  bool myDoNotUsePluginsDirectory;
602  DtConfigVariable<DtString> myOutputFile;
603 
605  short mySimMgmtPduProcessLevel;
606 
607  short myLoadPluginIfVersionMismatch;
608 
610  int myObjectConsoleNotifyLevel;
611  short mySendBackendLogToNetwork;
612 
613  DtConfigVariable<bool> myCmdFullyLoadTerrain;
614  short myFullyLoadTerrain;
615 
616  short myAssertOnBlockingTerrainCalls;
617  short myPublishZeroVelocityWhenPaused;
618  short mySetDeadReckoningAlgorithmToStaticOnPause;
619  short mySendMessagesInNetworkProcess;
620 
621  DtVrfPluginRecordManager myPluginRecordManager;
622 
624  DtConfigVariable<DtString> myHostAddress;
625 
626  DtConfigVariable<DtString> myMsdlSidcMappingFile;
627  DtConfigVariable<DtString> myCountryCodesMappingFile;
628 
629  DtConfigVariable<int> myTracyPort;
630  DtConfigVariable<int> myCmdNumCallbackThreads;
631  DtConfigVariable<bool> myCmdMainThreadWaitForQueue;
632  DtConfigVariable<bool> myCmdDisableParallelTick;
633  DtConfigVariable<bool> myCmdDisableParallelPublisherTick;
634  short myDisableParallelPublisherTick;
635  DtConfigVariable<bool> myCmdTickPublishersDuringEntityTick;
636  short myTickPublishersDuringEntityTick;
637 
638  DtConfigVariable<bool> myCmdIssueSimExitOnFinishTestCommand;
639  DtConfigVariable<DtString> myCmdLogTestFilename;
640 
641  DtConfigVariable<bool> myCmdEnableMetoc;
642 
643  short myMainThreadWaitForQueue;
644  short myDisableParallelTick;
645  short mySelfReflect;
646  short myIssueSimExitOnFinishTestCommand;
647  short myEnableMetoc;
648  #ifdef WIN32
649  DtConfigVariable<bool> myCmdSetMainThreadToHighPriority;
650  short mySetMainThreadToHighPriority;
651  #endif
652  #if USE_VLD_MEMORY_TRACKING && _DEBUG
653  DtConfigVariable<bool> myUseVld;
654  #endif
655 
656  #if DtHLA
659  #endif
660 
661  int myGamewareMemorySize;
662  double myGamewareQueryTimeBudget;
663  short myRegenerateNavigationDataAtRuntime;
664  int myMaxNavigationRegenerationThreads;
665  int myNumberOfNavQueueProcessingThreads;
666  double myNavigationRegenerationDelay;
667  DtFilename myNavigationRegenerationFileDirectory;
668 
669  short myEnableLogFileTimestamps;
670 
671  short myRejectMismatchedScenarioMessages;
672 
673  DtConfigVariable<bool> myCmdSuppressDataAvailableException;
674  int mySuppressDataAvailableException;
675  };
676 
677  inline const std::vector<std::string>& DtVrfSimOptions::pluginsToLoad() const
678  {
679  return myPluginsToLoad;
680  }
681 }
DtConfigVariable< bool > myCmdUseAbsoluteTimeStamps
Definition: vrfSimOptions.h:540
DtApplicationSettings & settings()
Definition: vrfSimOptions.h:427
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:541
Options for the configuring the sim.
Definition: vrfSimOptionsInterface.h:20
DtConfigVariable< bool > myCmdSelfReflect
Definition: vrfSimOptions.h:542
short myTaskVisualizationPublicationMode
Definition: vrfSimOptions.h:533
class DtVrfPluginRecordManager:
Definition: vrfPluginRecordManager.h:24
Definition: vrfSimOptions.h:15
DtFloat64 myDefaultAggDimensionThreshold
Definition: vrfSimOptions.h:539
std::string dataDir()
Definition: vrfExtApplicationInitializer.h:20
DtFloat64 myDefaultTranslationThreshold
Default threshold values.
Definition: vrfSimOptions.h:537
double DtFloat64
Definition: vrvControlStructTypes.h:36
DtFloat64 myDefaultRotationThreshold
Definition: vrfSimOptions.h:538
Contains the DtVrfExtApplicationInitializer class declaration.
DtFloat64 myEntVrfDataTimeThreshold
Definition: vrfSimOptions.h:532
int myDisableRequestUpdates
Definition: vrfSimOptions.h:551
std::vector< std::string > myPluginsToLoad
Definition: vrfSimOptions.h:472
int myRunInTimeManagementMode
Definition: vrfSimOptions.h:548
const std::vector< std::string > & pluginsToLoad() const
Returns plugins to load.
Definition: vrfSimOptions.h:545
int myExpectedLocalEntityCount
Definition: vrfSimOptions.h:658
DtConfigVariable< bool > myCmdDisableRequestUpdates
HLA only - flag indicating whether or not to request updates.
Definition: vrfSimOptions.h:550
short myUseDrawControlForTaskVisualizations
Definition: vrfSimOptions.h:534
DtConfigVariable< DtString > myNonVrfObjectsUUIDScheme
Definition: vrfSimOptions.h:531
short myUseSingleNetworkThreadWhenRtiThreadSafetyNotGuaranteed
Definition: vrfSimOptions.h:657

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)