VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtStealthCommandLineProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
13 #include <cmdLine/cmdArg.h>
14 #include <cmdLine/cmdMultiArg.h>
16 
17 namespace makVrv
18 {
22  {
23  public:
24 
27 
30 
32  virtual void processCommandLine(DtVrvApplicationConfiguration& appConfig,
33  int argc, char** argv);
34 
38 
39  protected:
40 
41  struct StealthArgs
42  {
43  DtCmdLine::UnlabeledMultiArg<std::string>* fileToOpenArg;
45  DtCmdLine::ValueArg<std::string>* localeArg;
46  DtCmdLine::ValueArg<int>* notifyLevelArg;
47  DtCmdLine::ValueArg<std::string>* logFilenameArg;
48  DtCmdLine::ValueArg<std::string>* modelPreloadFilenameArg;
49  DtCmdLine::ValueArg<std::string>* discoveredModelPreloadFilenameArg;
50  DtCmdLine::ValueArg<std::string>* userDataDir;
51  DtCmdLine::ValueArg<std::string>* appDataDir;
52  DtCmdLine::ValueArg<std::string>* dataDir;
53  DtCmdLine::ValueArg<std::string>* factoryRootDir;
54  DtCmdLine::MultiArg<std::string>* addPlugin;
55  DtCmdLine::MultiArg<std::string>* excludePlugin;
56  DtCmdLine::ValueArg<unsigned short>* displayEnginePortArg;
57  DtCmdLine::MultiArg<std::string>* connectToDisplayEnginesArg;
58  DtCmdLine::ValueArg<std::string>* loadDisplayConfig;
59  DtCmdLine::ValueArg<std::string>* loadEnvironmentConfig;
60  DtCmdLine::ValueArg<std::string>* loadEntityDisplayConfig;
61  DtCmdLine::MultiArg<std::string>* autoDriverArg;
62  DtCmdLine::MultiArg<std::string>* mappingsConfig;
63  DtCmdLine::MultiArg<std::string>* loadObserverViewsArg;
64  DtCmdLine::MultiArg<std::string>* bindObserverStateArg;
66  DtCmdLine::MultiArg<std::string>* entityDefsHierFilesOrDirs;
67  DtCmdLine::MultiArg<std::string>* entityDefsLeafFilesOrDirs;
68  DtCmdLine::MultiArg<std::string>* aggregateDefsHierFilesOrDirs;
69  DtCmdLine::MultiArg<std::string>* aggregateDefsLeafFilesOrDirs;
70  DtCmdLine::MultiArg<std::string>* tacticalGraphicsDefsHierFilesOrDirs;
71  DtCmdLine::MultiArg<std::string>* tacticalGraphicsDefsLeafFilesOrDirs;
72  DtCmdLine::MultiArg<std::string>* modelDefsFileOrDir;
73  DtCmdLine::MultiArg<std::string>* entityTypeMapFileOrDir;
74  DtCmdLine::MultiArg<std::string>* aggregateTypeMapFileOrDir;
75  DtCmdLine::MultiArg<std::string>* tacticalGraphicsTypeMapFileOrDir;
76 
77 
83  DtCmdLine::ValueArg<double>* tcpSendTimeout;
84  DtCmdLine::ValueArg<double>* autoReconnectPeriod;
85 
86  DtCmdLine::ValueArg<unsigned short>* numDepthBitsArg;
87  DtCmdLine::ValueArg<unsigned short>* numStencilBitsArg;
88  DtCmdLine::ValueArg<unsigned short>* antiAliasingArg;
89 
90  DtCmdLine::ValueArg<unsigned short>* frameRate;
92 
94 
97 
99 
101 
109  DtCmdLine::ValueArg<std::string>* entityDefsDir;
110  DtCmdLine::ValueArg<std::string>* tacticalGraphicsDefsDir;
111  DtCmdLine::ValueArg<std::string>* unitDefsDir;
112 
114 
115 #ifdef _WIN32
116 #ifndef _DEBUG
117  makVrv::SwitchArg* showConsoleArg;
119 #endif
120 #endif
122 
124 
125  DtCmdLine::ValueArg<unsigned short>* mainScreenNumArg;
127  DtCmdLine::ValueArg<std::string>* extraArgs;
128 
130 
131  DtCmdLine::ValueArg<std::string>* guiWindowRectangleArg;
132 
135 
150  DtCmdLine::ValueArg<std::string>* limitEntityTexturesArg = nullptr;
151 
158  DtCmdLine::ValueArg<std::string>* limitTerrainTexturesArg = nullptr;
159 
163  DtCmdLine::ValueArg<std::string>* limitEntityTexturesExclusionsArg = nullptr;
164 
168  DtCmdLine::ValueArg<std::string>* limitEarthTerrainTexturesArg = nullptr;
169 
173  DtCmdLine::ValueArg<std::string>* limitEarthSplattingTexturesArg = nullptr;
174 
178  DtCmdLine::ValueArg<std::string>* limitEarthVegetationTexturesArg = nullptr;
179 
190  DtCmdLine::ValueArg<int>* limitGpuMemoryPercentageArg = nullptr;
191 
201  DtCmdLine::ValueArg<std::string>* entityGridCellSizeArg = nullptr;
202 
204  DtCmdLine::ValueArg<std::string>* appCacheDir = nullptr;
205 
207 
208 
210  DtCmdLine::ValueArg<std::string>* sharedDataDir = nullptr;
211 
214  DtCmdLine::ValueArg<std::string>* sharedDataRoot = nullptr;
215 
218  DtCmdLine::ValueArg<std::string>* sharedDataStem = nullptr;
220 
223 
229 
233 
235  DtCmdLine::ValueArg<std::string>* disableModelSetsArg = nullptr;
236 
239  DtCmdLine::ValueArg<unsigned short>* rendererThreadingModelArg = nullptr;
240 
243 
246 
248  DtCmdLine::MultiArg<std::string>* loadExConnConfigFile = nullptr;
249  };
250 
253  virtual void setupArguments(StealthArgs& args, std::vector<DtCmdLine::Arg*>& argumentOrder);
254 
256  virtual void processArgs(DtVrvApplicationConfiguration& appConfig, StealthArgs& args);
257 
261  virtual void setupShowConsoleEnv(StealthArgs& args);
262  };
263 }
264 
265 #define DtStealthCommandLineProcessor_INL_
266 #include <vrvCore/DtStealthCommandLineProcessor.inl>
267 #undef DtStealthCommandLineProcessor_INL_
makVrv::SwitchArg * suppressHatIntersectOnAttachArg
Definition: DtStealthCommandLineProcessor.h:96
DtCmdLine::ValueArg< std::string > * loadEnvironmentConfig
Definition: DtStealthCommandLineProcessor.h:59
DtCmdLine::ValueArg< unsigned short > * mainScreenNumArg
Definition: DtStealthCommandLineProcessor.h:125
DtCmdLine::ValueArg< int > * limitGpuMemoryPercentageArg
Optional argument to specify the cutoff beyond which vrv will not create new textures/buffers for inc...
Definition: DtStealthCommandLineProcessor.h:190
makVrv::SwitchArg * disableIndirectExternalRendererArg
Whether indirect uses a renderer outside of it The currently implemented external renderer minimizes ...
Definition: DtStealthCommandLineProcessor.h:228
makVrv::SwitchArg * overwriteMappingsOnMerge
Over write the default mappings when merging files via the commandline.
Definition: DtStealthCommandLineProcessor.h:242
makVrv::SwitchArg * fullScreen
Definition: DtStealthCommandLineProcessor.h:78
DtCmdLine::MultiArg< std::string > * excludePlugin
Definition: DtStealthCommandLineProcessor.h:55
makVrv::SwitchArg * enablePersistentShadowTechniqueArg
Enable Persistent shadow technique, shadows technique will always be active and shader uniform used t...
Definition: DtStealthCommandLineProcessor.h:232
DtCmdLine::ValueArg< std::string > * loadEntityDisplayConfig
Definition: DtStealthCommandLineProcessor.h:60
This file declares the class makVrvmakVrv::CmdLine.
DtCmdLine::ValueArg< std::string > * guiWindowRectangleArg
Definition: DtStealthCommandLineProcessor.h:131
Definition: DtStealthCommandLineProcessor.h:41
DtCmdLine::MultiArg< std::string > * entityTypeMapFileOrDir
Definition: DtStealthCommandLineProcessor.h:73
Contains makVrv::DtVrvCommandLineProcessor class.
DtCmdLine::ValueArg< unsigned short > * numStencilBitsArg
Definition: DtStealthCommandLineProcessor.h:87
virtual void processArgs(DtVrvApplicationConfiguration &appConfig, StealthArgs &args)
Modify the app configuration based on the passed-in command line arguments.
makVrv::SwitchArg * highestPriority
Definition: DtStealthCommandLineProcessor.h:80
DtCmdLine::ValueArg< int > * notifyLevelArg
Definition: DtStealthCommandLineProcessor.h:46
makVrv::SwitchArg * noAppDataModelDefsLoadingArg
Definition: DtStealthCommandLineProcessor.h:103
makVrv::SwitchArg * hasNTPSyncArg
Definition: DtStealthCommandLineProcessor.h:98
DtCmdLine::MultiArg< std::string > * tacticalGraphicsDefsHierFilesOrDirs
Definition: DtStealthCommandLineProcessor.h:70
virtual void processCommandLine(DtVrvApplicationConfiguration &appConfig, int argc, char **argv)
Parse the command line and modify the appConfig accordingly.
DtCmdLine::MultiArg< std::string > * entityDefsHierFilesOrDirs
Definition: DtStealthCommandLineProcessor.h:66
DtCmdLine::ValueArg< std::string > * sharedDataRoot
Set an alternate root for shared data. The version number plus the current stem (default is &quot;latest&quot;)...
Definition: DtStealthCommandLineProcessor.h:214
DtStealthCommandLineProcessor()
Creator a command line processor for Vantage Stealth.
DtCmdLine::MultiArg< std::string > * modelDefsFileOrDir
Definition: DtStealthCommandLineProcessor.h:72
DtCmdLine::ValueArg< std::string > * factoryRootDir
Definition: DtStealthCommandLineProcessor.h:53
virtual void setupArguments(StealthArgs &args, std::vector< DtCmdLine::Arg * > &argumentOrder)
Setup the list of arguments and their information. Broken into it&#39;s own function to make derrived app...
DtCmdLine::ValueArg< std::string > * appDataDir
Definition: DtStealthCommandLineProcessor.h:51
makVrv::SwitchArg * slaveModeArg
Definition: DtStealthCommandLineProcessor.h:44
DtCmdLine::ValueArg< std::string > * userDataDir
Definition: DtStealthCommandLineProcessor.h:50
makVrv::SwitchArg * disableReverseZBufferArg
Definition: DtStealthCommandLineProcessor.h:126
makVrv::SwitchArg * noAppDataUnitDefsLoadingArg
Definition: DtStealthCommandLineProcessor.h:104
DtCmdLine::MultiArg< std::string > * aggregateTypeMapFileOrDir
Definition: DtStealthCommandLineProcessor.h:74
DtCmdLine::ValueArg< unsigned short > * rendererThreadingModelArg
The threading model of the renderer. See DtRendererThreadingModel.h.
Definition: DtStealthCommandLineProcessor.h:239
makVrv::SwitchArg * ignoreZoomForSpeedtreeLodArg
Definition: DtStealthCommandLineProcessor.h:95
DtCmdLine::MultiArg< std::string > * tacticalGraphicsTypeMapFileOrDir
Definition: DtStealthCommandLineProcessor.h:75
DtCmdLine::ValueArg< std::string > * limitEntityTexturesExclusionsArg
Optional argument to exclude certain model definitions from the entity limits sample usage: –limitEnt...
Definition: DtStealthCommandLineProcessor.h:163
makVrv::SwitchArg * noAppDataEntityDefsLoadingArg
Definition: DtStealthCommandLineProcessor.h:102
DtCmdLine::ValueArg< std::string > * limitTerrainTexturesArg
Optional argument to only use mip map levels at or below this resolution. This, essentially clamps te...
Definition: DtStealthCommandLineProcessor.h:158
DtCmdLine::ValueArg< std::string > * discoveredModelPreloadFilenameArg
Definition: DtStealthCommandLineProcessor.h:49
The DtVrvCommandLineProcessor is an interface for an application-specific command line parser...
Definition: DtVrvCommandLineProcessor.h:21
makVrv::SwitchArg * forceTextShapingArg
Definition: DtStealthCommandLineProcessor.h:123
DtCmdLine::ValueArg< unsigned short > * displayEnginePortArg
Definition: DtStealthCommandLineProcessor.h:56
DtCmdLine::ValueArg< std::string > * limitEarthVegetationTexturesArg
Optional argument to clamp earth vegetation textures to this resolution. Must be a power of 2...
Definition: DtStealthCommandLineProcessor.h:178
DtCmdLine::ValueArg< std::string > * sharedDataDir
Shared data options.
Definition: DtStealthCommandLineProcessor.h:210
The Stealth Application&#39;s command line processor.
Definition: DtStealthCommandLineProcessor.h:21
makVrv::SwitchArg * realizeMinimapModelSet
Definition: DtStealthCommandLineProcessor.h:113
DtCmdLine::ValueArg< std::string > * unitDefsDir
Definition: DtStealthCommandLineProcessor.h:111
makVrv::SwitchArg * noAppDataUnitTypeMapLoadingArg
Definition: DtStealthCommandLineProcessor.h:107
DtCmdLine::ValueArg< std::string > * logFilenameArg
Definition: DtStealthCommandLineProcessor.h:47
DtCmdLine::ValueArg< std::string > * extraArgs
Definition: DtStealthCommandLineProcessor.h:127
DtCmdLine::ValueArg< std::string > * entityDefsDir
Definition: DtStealthCommandLineProcessor.h:109
This owns a list of window configurations.
Definition: DtDisplayConfiguration.h:43
DtCmdLine::MultiArg< std::string > * mappingsConfig
Definition: DtStealthCommandLineProcessor.h:62
makVrv::SwitchArg * disableDynamicTerrainArg
Definition: DtStealthCommandLineProcessor.h:129
DtCmdLine::ValueArg< std::string > * dataDir
Definition: DtStealthCommandLineProcessor.h:52
DtCmdLine::ValueArg< std::string > * appCacheDir
Set the full path to use for caching terrain and model data.
Definition: DtStealthCommandLineProcessor.h:204
DtCmdLine::MultiArg< std::string > * entityDefsLeafFilesOrDirs
Definition: DtStealthCommandLineProcessor.h:67
DtCmdLine::ValueArg< unsigned short > * antiAliasingArg
Definition: DtStealthCommandLineProcessor.h:88
This owns a list of display engine configurations.
Definition: DtVrvApplicationConfiguration.h:32
virtual void setupShowConsoleEnv(StealthArgs &args)
Mostly for the artists, if you define VRV_SHOW_CONSOLE=1, you enable the console with notifyLevel 2 (...
DtCmdLine::MultiArg< std::string > * autoDriverArg
Definition: DtStealthCommandLineProcessor.h:61
makVrv::SwitchArg * enableDofConstraintsArg
Definition: DtStealthCommandLineProcessor.h:100
makVrv::SwitchArg * enableTracyProfiling
Optional argument used to enable tracy profiling on startup.
Definition: DtStealthCommandLineProcessor.h:222
DtCmdLine::ValueArg< std::string > * limitEarthTerrainTexturesArg
Optional argument to clamp earth terrain textures to this resolution. Must be a power of 2...
Definition: DtStealthCommandLineProcessor.h:168
DtCmdLine::ValueArg< std::string > * modelPreloadFilenameArg
Definition: DtStealthCommandLineProcessor.h:48
makVrv::SwitchArg * disableKdTreesArg
Definition: DtStealthCommandLineProcessor.h:121
makVrv::SwitchArg * noAppDataTacticalGraphicsDefsLoadingArg
Definition: DtStealthCommandLineProcessor.h:105
DtCmdLine::ValueArg< std::string > * tacticalGraphicsDefsDir
Definition: DtStealthCommandLineProcessor.h:110
DtCmdLine::ValueArg< std::string > * limitEarthSplattingTexturesArg
Optional argument to clamp earth splatting textures to this resolution. Must be a power of 2...
Definition: DtStealthCommandLineProcessor.h:173
makVrv::SwitchArg * disableTerrainObserverViewsArg
Definition: DtStealthCommandLineProcessor.h:65
DtCmdLine::ValueArg< double > * tcpSendTimeout
Definition: DtStealthCommandLineProcessor.h:83
virtual ~DtStealthCommandLineProcessor()
DTOR.
makVrv::SwitchArg * disableIndirectEntitiesArg
Definition: DtStealthCommandLineProcessor.h:91
DtCmdLine::MultiArg< std::string > * connectToDisplayEnginesArg
Definition: DtStealthCommandLineProcessor.h:57
makVrv::SwitchArg * noGui
Definition: DtStealthCommandLineProcessor.h:81
A simple switch argument.
Definition: DtVrvCmdSwitchArg.h:42
makVrv::SwitchArg * disableGlBufferTracking
Disable the tracking of GL Buffers.
Definition: DtStealthCommandLineProcessor.h:245
DtCmdLine::MultiArg< std::string > * aggregateDefsLeafFilesOrDirs
Definition: DtStealthCommandLineProcessor.h:69
makVrv::SwitchArg * pseudoFullScreen
Definition: DtStealthCommandLineProcessor.h:79
DtCmdLine::ValueArg< std::string > * localeArg
Definition: DtStealthCommandLineProcessor.h:45
DtCmdLine::ValueArg< std::string > * sharedDataStem
Set an alternate stem for shared data. This will be appended to the current shared data root (Default...
Definition: DtStealthCommandLineProcessor.h:218
DtCmdLine::ValueArg< std::string > * limitEntityTexturesArg
Optional argument to only use mip map levels at or below this resolution. This, essentially clamps te...
Definition: DtStealthCommandLineProcessor.h:150
DtCmdLine::MultiArg< std::string > * loadExConnConfigFile
Exercise Connection config file.
Definition: DtStealthCommandLineProcessor.h:248
DtCmdLine::ValueArg< std::string > * loadDisplayConfig
Definition: DtStealthCommandLineProcessor.h:58
DtCmdLine::UnlabeledMultiArg< std::string > * fileToOpenArg
Definition: DtStealthCommandLineProcessor.h:43
DtCmdLine::ValueArg< double > * autoReconnectPeriod
Definition: DtStealthCommandLineProcessor.h:84
makVrv::SwitchArg * noAppDataTacticalGraphicsTypeMapLoadingArg
Definition: DtStealthCommandLineProcessor.h:108
DtCmdLine::MultiArg< std::string > * loadObserverViewsArg
Definition: DtStealthCommandLineProcessor.h:63
makVrv::SwitchArg * enableVSync
Definition: DtStealthCommandLineProcessor.h:82
makVrv::SwitchArg * noAppDataEntityTypeMapLoadingArg
Definition: DtStealthCommandLineProcessor.h:106
DtCmdLine::MultiArg< std::string > * addPlugin
Definition: DtStealthCommandLineProcessor.h:54
DtCmdLine::ValueArg< std::string > * disableModelSetsArg
Optional argument to disable model sets.
Definition: DtStealthCommandLineProcessor.h:235
DtCmdLine::MultiArg< std::string > * bindObserverStateArg
Definition: DtStealthCommandLineProcessor.h:64
DtCmdLine::MultiArg< std::string > * tacticalGraphicsDefsLeafFilesOrDirs
Definition: DtStealthCommandLineProcessor.h:71
makVrv::SwitchArg * disableBufferClearUsesComputeArg
Definition: DtStealthCommandLineProcessor.h:93
DtCmdLine::ValueArg< std::string > * entityGridCellSizeArg
Entities (in indirect) are divided into a grid of cells. The cells have the same size. So, this is a regular (sparse) grid. This allows efficient higher level culling. You can adjust this using this argument. The default cell size is (5000, 5000, 5000) example usage: –entityGridCellSize &quot;2000&quot; or –entityGridCellSize &quot;2000 2000 2000&quot; or –entityGridCellSize &quot;2000 200 10000&quot; or –entityGridCellSize &quot;2000, 200, 10000&quot;.
Definition: DtStealthCommandLineProcessor.h:201
DtDisplayConfiguration embeddedDisplayConfig() const
Create a default embedded display config for the stealth (to be used if no config was loaded via comm...
makVrv::SwitchArg * disableErrorDialogArg
used by the autotest plugin to avoid stalling the tests when a terrain is missing.
Definition: DtStealthCommandLineProcessor.h:134
DtCmdLine::ValueArg< unsigned short > * numDepthBitsArg
Definition: DtStealthCommandLineProcessor.h:86
DtCmdLine::MultiArg< std::string > * aggregateDefsHierFilesOrDirs
Definition: DtStealthCommandLineProcessor.h:68
DtCmdLine::ValueArg< unsigned short > * frameRate
Definition: DtStealthCommandLineProcessor.h:90

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)