![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtStealthCommandLineProcessor.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/DtVrvCommandLineProcessor.h> 00016 00017 #include <cmdLine/cmdArg.h> 00018 #include <vrvUtil/DtVrvCommandLineParser.h> 00019 00020 namespace makVrv 00021 { 00022 class DtDisplayConfiguration; 00023 00026 class DtStealthCommandLineProcessor : public DtVrvCommandLineProcessor 00027 { 00028 public: 00029 DtStealthCommandLineProcessor(); 00030 00031 virtual ~DtStealthCommandLineProcessor(); 00032 00034 virtual void processCommandLine(DtVrvApplicationConfiguration& appConfig, 00035 int argc, char** argv); 00036 00039 DtDisplayConfiguration embeddedDisplayConfig() const; 00040 00041 protected: 00042 00043 struct StealthArgs 00044 { 00045 DtCmdLine::UnlabeledMultiArg<std::string>* fileToOpenArg; 00046 DtCmdLine::ValueArg<std::string>* localeArg; 00047 DtCmdLine::ValueArg<int>* notifyLevelArg; 00048 DtCmdLine::ValueArg<std::string>* logFilenameArg; 00049 DtCmdLine::ValueArg<std::string>* userDataDir; 00050 DtCmdLine::ValueArg<std::string>* appDataDir; 00051 DtCmdLine::ValueArg<std::string>* dataDir; 00052 DtCmdLine::MultiArg<std::string>* addPlugin; 00053 DtCmdLine::MultiArg<std::string>* excludePlugin; 00054 DtCmdLine::MultiArg<std::string>* connectToDisplayEnginesArg; 00055 DtCmdLine::ValueArg<std::string>* loadDisplayConfig; 00056 DtCmdLine::ValueArg<std::string>* loadEnvironmentConfig; 00057 DtCmdLine::ValueArg<std::string>* loadEntityDisplayConfig; 00058 DtCmdLine::ValueArg<std::string>* autoDriverArg; 00059 DtCmdLine::MultiArg<std::string>* mappingsConfig; 00060 DtCmdLine::MultiArg<std::string>* observerStateArg; 00061 DtCmdLine::MultiArg<std::string>* bindObserverStateArg; 00062 makVrv::SwitchArg* fullScreen; 00063 makVrv::SwitchArg* noGui; 00064 makVrv::SwitchArg* noVSync; 00065 DtCmdLine::ValueArg<unsigned short>* frameRate; 00066 00067 #ifdef _WIN32 00068 #ifndef _DEBUG 00069 00070 makVrv::SwitchArg* showConsoleArg; 00071 #endif 00072 #endif 00073 }; 00074 00076 virtual void processArgs(DtVrvApplicationConfiguration& appConfig, StealthArgs& args); 00077 }; 00078 } 00079 00080 #define DtStealthCommandLineProcessor_INL_ 00081 #include <vrvCore/DtStealthCommandLineProcessor.inl> 00082 #undef DtStealthCommandLineProcessor_INL_