26 #include <osg/ApplicationUsage> 27 #include <osg/ref_ptr> 50 using UsageMap = std::map<std::string, std::string>;
54 NO_HELP = osg::ApplicationUsage::NO_HELP,
55 COMMAND_LINE_OPTION = osg::ApplicationUsage::COMMAND_LINE_OPTION,
56 ENVIRONMENTAL_VARIABLE = osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE,
57 KEYBOARD_MOUSE_BINDING = osg::ApplicationUsage::KEYBOARD_MOUSE_BINDING,
58 HELP_ALL = KEYBOARD_MOUSE_BINDING | ENVIRONMENTAL_VARIABLE | COMMAND_LINE_OPTION
100 void SetApplicationName(
const std::string& name);
109 const std::string& GetApplicationName()
const;
119 void SetDescription(
const std::string& desc);
128 const std::string& GetDescription()
const;
139 void AddUsageExplanation(
Type type,
const std::string& option,
const std::string& explanation);
148 void SetCommandLineUsage(
const std::string& explanation);
157 const std::string& GetCommandLineUsage()
const;
168 void AddCommandLineOption(
const std::string& option,
const std::string& explanation,
const std::string &defaultValue =
"");
177 void SetCommandLineOptions(
const UsageMap& usageMap);
186 const UsageMap& GetCommandLineOptions()
const;
195 void SetCommandLineOptionsDefaults(
const UsageMap& usageMap);
204 const UsageMap& GetCommandLineOptionsDefaults()
const;
215 void AddEnvironmentalVariable(
const std::string& option,
const std::string& explanation,
const std::string& defaultValue =
"");
224 void SetEnvironmentalVariables(
const UsageMap& usageMap);
233 const UsageMap& GetEnvironmentalVariables()
const;
242 void SetEnvironmentalVariablesDefaults(
const UsageMap& usageMap);
251 const UsageMap& GetEnvironmentalVariablesDefaults()
const;
262 void AddKeyboardMouseBinding(
const std::string& prefix,
int key,
const std::string& explanation);
272 void AddKeyboardMouseBinding(
int key,
const std::string& explanation);
282 void AddKeyboardMouseBinding(
const std::string& option,
const std::string& explanation);
291 void SetKeyboardMouseBindings(
const UsageMap& usageMap);
300 const UsageMap& GetKeyboardMouseBindings()
const;
313 void GetFormattedString(std::string& str,
const UsageMap& um,
unsigned int widthOfOutput = 80,
bool showDefaults =
false,
const UsageMap& ud =
UsageMap());
326 void Write(std::ostream& output,
const UsageMap& um,
unsigned int widthOfOutput = 80,
bool showDefaults =
false,
const UsageMap& ud =
UsageMap());
338 void Write(std::ostream& output,
Type type = Type::COMMAND_LINE_OPTION,
unsigned int widthOfOutput = 80,
bool showDefaults =
false);
347 void WriteEnvironmentSettings(std::ostream& output);
356 operator osg::ApplicationUsage& ();
365 operator const osg::ApplicationUsage& ()
const;
374 operator osg::ApplicationUsage* ();
383 operator const osg::ApplicationUsage* ()
const;
386 osg::ref_ptr<osg::ApplicationUsage> mAppUsage =
nullptr;
An application usage class for the argument parser.
A class that represents date time utility.
std::map< std::string, std::string > UsageMap
The message to command usage map.
Namespace that holds various utility classes for the engine.