openscenegraph
osg::ApplicationUsage Class Reference

#include <ApplicationUsage>

Inheritance diagram for osg::ApplicationUsage:
osg::Referenced

Public Types

enum  Type {
  NO_HELP = 0x0 , COMMAND_LINE_OPTION = 0x1 , ENVIRONMENTAL_VARIABLE = 0x2 , KEYBOARD_MOUSE_BINDING = 0x4 ,
  HELP_ALL = KEYBOARD_MOUSE_BINDING|ENVIRONMENTAL_VARIABLE|COMMAND_LINE_OPTION
}
typedef std::map< std::string, std::string > UsageMap

Public Member Functions

 ApplicationUsage ()
 ApplicationUsage (const std::string &commandLineUsage)
void setApplicationName (const std::string &name)
const std::string & getApplicationName () const
void setDescription (const std::string &desc)
const std::string & getDescription () const
void addUsageExplanation (Type type, const std::string &option, const std::string &explanation)
void setCommandLineUsage (const std::string &explanation)
const std::string & getCommandLineUsage () const
void addCommandLineOption (const std::string &option, const std::string &explanation, const std::string &defaultValue="")
void setCommandLineOptions (const UsageMap &usageMap)
const UsageMapgetCommandLineOptions () const
void setCommandLineOptionsDefaults (const UsageMap &usageMap)
const UsageMapgetCommandLineOptionsDefaults () const
void addEnvironmentalVariable (const std::string &option, const std::string &explanation, const std::string &defaultValue="")
void setEnvironmentalVariables (const UsageMap &usageMap)
const UsageMapgetEnvironmentalVariables () const
void setEnvironmentalVariablesDefaults (const UsageMap &usageMap)
const UsageMapgetEnvironmentalVariablesDefaults () const
void addKeyboardMouseBinding (const std::string &prefix, int key, const std::string &explanation)
void addKeyboardMouseBinding (int key, const std::string &explanation)
void addKeyboardMouseBinding (const std::string &option, const std::string &explanation)
void setKeyboardMouseBindings (const UsageMap &usageMap)
const UsageMapgetKeyboardMouseBindings () const
void getFormattedString (std::string &str, const UsageMap &um, unsigned int widthOfOutput=80, bool showDefaults=false, const UsageMap &ud=UsageMap())
void write (std::ostream &output, const UsageMap &um, unsigned int widthOfOutput=80, bool showDefaults=false, const UsageMap &ud=UsageMap())
void write (std::ostream &output, unsigned int type=COMMAND_LINE_OPTION, unsigned int widthOfOutput=80, bool showDefaults=false)
void writeEnvironmentSettings (std::ostream &output)
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Static Public Member Functions

static ApplicationUsageinstance ()
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

Protected Member Functions

virtual ~ApplicationUsage ()
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Protected Attributes

std::string _applicationName
std::string _description
std::string _commandLineUsage
UsageMap _commandLineOptions
UsageMap _environmentalVariables
UsageMap _keyboardMouse
UsageMap _environmentalVariablesDefaults
UsageMap _commandLineOptionsDefaults
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Member Typedef Documentation

◆ UsageMap

typedef std::map<std::string,std::string> osg::ApplicationUsage::UsageMap

Member Enumeration Documentation

◆ Type

Enumerator
NO_HELP 
COMMAND_LINE_OPTION 
ENVIRONMENTAL_VARIABLE 
KEYBOARD_MOUSE_BINDING 
HELP_ALL 

Constructor & Destructor Documentation

◆ ApplicationUsage() [1/2]

osg::ApplicationUsage::ApplicationUsage ( )
inline

Referenced by instance().

◆ ApplicationUsage() [2/2]

osg::ApplicationUsage::ApplicationUsage ( const std::string & commandLineUsage)

◆ ~ApplicationUsage()

virtual osg::ApplicationUsage::~ApplicationUsage ( )
inlineprotectedvirtual

Member Function Documentation

◆ addCommandLineOption()

void osg::ApplicationUsage::addCommandLineOption ( const std::string & option,
const std::string & explanation,
const std::string & defaultValue = "" )

◆ addEnvironmentalVariable()

void osg::ApplicationUsage::addEnvironmentalVariable ( const std::string & option,
const std::string & explanation,
const std::string & defaultValue = "" )

◆ addKeyboardMouseBinding() [1/3]

void osg::ApplicationUsage::addKeyboardMouseBinding ( const std::string & option,
const std::string & explanation )

◆ addKeyboardMouseBinding() [2/3]

void osg::ApplicationUsage::addKeyboardMouseBinding ( const std::string & prefix,
int key,
const std::string & explanation )

◆ addKeyboardMouseBinding() [3/3]

void osg::ApplicationUsage::addKeyboardMouseBinding ( int key,
const std::string & explanation )

◆ addUsageExplanation()

void osg::ApplicationUsage::addUsageExplanation ( Type type,
const std::string & option,
const std::string & explanation )

◆ getApplicationName()

const std::string & osg::ApplicationUsage::getApplicationName ( ) const
inline

References _applicationName.

◆ getCommandLineOptions()

const UsageMap & osg::ApplicationUsage::getCommandLineOptions ( ) const
inline

References _commandLineOptions.

◆ getCommandLineOptionsDefaults()

const UsageMap & osg::ApplicationUsage::getCommandLineOptionsDefaults ( ) const
inline

◆ getCommandLineUsage()

const std::string & osg::ApplicationUsage::getCommandLineUsage ( ) const
inline

References _commandLineUsage.

◆ getDescription()

const std::string & osg::ApplicationUsage::getDescription ( ) const
inline

References _description.

◆ getEnvironmentalVariables()

const UsageMap & osg::ApplicationUsage::getEnvironmentalVariables ( ) const
inline

◆ getEnvironmentalVariablesDefaults()

const UsageMap & osg::ApplicationUsage::getEnvironmentalVariablesDefaults ( ) const
inline

◆ getFormattedString()

void osg::ApplicationUsage::getFormattedString ( std::string & str,
const UsageMap & um,
unsigned int widthOfOutput = 80,
bool showDefaults = false,
const UsageMap & ud = UsageMap() )

◆ getKeyboardMouseBindings()

const UsageMap & osg::ApplicationUsage::getKeyboardMouseBindings ( ) const
inline

References _keyboardMouse.

◆ instance()

ApplicationUsage * osg::ApplicationUsage::instance ( )
static

◆ setApplicationName()

void osg::ApplicationUsage::setApplicationName ( const std::string & name)
inline

The ApplicationName is often displayed when logging errors, and frequently incorporated into the Description (below).

References _applicationName.

◆ setCommandLineOptions()

void osg::ApplicationUsage::setCommandLineOptions ( const UsageMap & usageMap)
inline

References _commandLineOptions.

◆ setCommandLineOptionsDefaults()

void osg::ApplicationUsage::setCommandLineOptionsDefaults ( const UsageMap & usageMap)
inline

◆ setCommandLineUsage()

void osg::ApplicationUsage::setCommandLineUsage ( const std::string & explanation)
inline

References _commandLineUsage.

◆ setDescription()

void osg::ApplicationUsage::setDescription ( const std::string & desc)
inline

If non-empty, the Description is typically shown by the Help Handler as text on the Help display (which also lists keyboard abbreviations.

References _description.

◆ setEnvironmentalVariables()

void osg::ApplicationUsage::setEnvironmentalVariables ( const UsageMap & usageMap)
inline

◆ setEnvironmentalVariablesDefaults()

void osg::ApplicationUsage::setEnvironmentalVariablesDefaults ( const UsageMap & usageMap)
inline

◆ setKeyboardMouseBindings()

void osg::ApplicationUsage::setKeyboardMouseBindings ( const UsageMap & usageMap)
inline

References _keyboardMouse.

◆ write() [1/2]

void osg::ApplicationUsage::write ( std::ostream & output,
const UsageMap & um,
unsigned int widthOfOutput = 80,
bool showDefaults = false,
const UsageMap & ud = UsageMap() )

◆ write() [2/2]

void osg::ApplicationUsage::write ( std::ostream & output,
unsigned int type = COMMAND_LINE_OPTION,
unsigned int widthOfOutput = 80,
bool showDefaults = false )

References COMMAND_LINE_OPTION.

◆ writeEnvironmentSettings()

void osg::ApplicationUsage::writeEnvironmentSettings ( std::ostream & output)

Member Data Documentation

◆ _applicationName

std::string osg::ApplicationUsage::_applicationName
protected

◆ _commandLineOptions

UsageMap osg::ApplicationUsage::_commandLineOptions
protected

◆ _commandLineOptionsDefaults

UsageMap osg::ApplicationUsage::_commandLineOptionsDefaults
protected

◆ _commandLineUsage

std::string osg::ApplicationUsage::_commandLineUsage
protected

◆ _description

std::string osg::ApplicationUsage::_description
protected

Referenced by getDescription(), and setDescription().

◆ _environmentalVariables

UsageMap osg::ApplicationUsage::_environmentalVariables
protected

◆ _environmentalVariablesDefaults

UsageMap osg::ApplicationUsage::_environmentalVariablesDefaults
protected

◆ _keyboardMouse

UsageMap osg::ApplicationUsage::_keyboardMouse
protected

The documentation for this class was generated from the following file: