openscenegraph
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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

◆ 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

◆ getCommandLineOptions()

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

◆ getCommandLineOptionsDefaults()

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

◆ getCommandLineUsage()

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

◆ getDescription()

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

◆ 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

◆ instance()

static 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).

◆ setCommandLineOptions()

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

◆ setCommandLineOptionsDefaults()

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

◆ setCommandLineUsage()

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

◆ 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.

◆ 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

◆ 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 
)

◆ 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

◆ _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: