openscenegraph
osgDB::Options Class Reference

#include <Options>

Inheritance diagram for osgDB::Options:
osg::Object osg::Referenced osgDB::ImageOptions

Public Types

enum  CacheHintOptions {
  CACHE_NONE = 0 , CACHE_NODES = 1<<0 , CACHE_IMAGES = 1<<1 , CACHE_HEIGHTFIELDS = 1<<2 ,
  CACHE_ARCHIVES = 1<<3 , CACHE_OBJECTS = 1<<4 , CACHE_SHADERS = 1<<5 , CACHE_ALL
}
 bit mask for setting up which object types get cached by readObject/Image/HeightField/Node(filename) calls More...
enum  PrecisionHint {
  FLOAT_PRECISION_ALL = 0 , DOUBLE_PRECISION_VERTEX = 1<<0 , DOUBLE_PRECISION_NORMAL = 1<<1 , DOUBLE_PRECISION_COLOR = 1<<2 ,
  DOUBLE_PRECISION_SECONDARY_COLOR = 1<<3 , DOUBLE_PRECISION_FOG_COORD = 1<<4 , DOUBLE_PRECISION_TEX_COORD = 1<<5 , DOUBLE_PRECISION_VERTEX_ATTRIB = 1<<6 ,
  DOUBLE_PRECISION_ALL
}
enum  BuildKdTreesHint { NO_PREFERENCE , DO_NOT_BUILD_KDTREES , BUILD_KDTREES }
 range of options of whether to build kdtrees automatically on loading More...
Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

Public Member Functions

 Options ()
 Options (const std::string &str)
 Options (const Options &options, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgDB, Options)
Options * cloneOptions (const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY) const
void setOptionString (const std::string &str)
const std::string & getOptionString () const
void setDatabasePath (const std::string &str)
FilePathList & getDatabasePathList ()
const FilePathList & getDatabasePathList () const
void setObjectCacheHint (CacheHintOptions useObjectCache)
CacheHintOptions getObjectCacheHint () const
void setObjectCache (ObjectCache *objectCache)
ObjectCache * getObjectCache () const
void setPrecisionHint (PrecisionHint hint)
PrecisionHint getPrecisionHint () const
void setBuildKdTreesHint (BuildKdTreesHint hint)
BuildKdTreesHint getBuildKdTreesHint () const
void setAuthenticationMap (AuthenticationMap *authenticationMap)
const AuthenticationMap * getAuthenticationMap () const
void setPluginData (const std::string &s, void *v) const
void * getPluginData (const std::string &s)
const void * getPluginData (const std::string &s) const
void removePluginData (const std::string &s) const
unsigned int getNumPluginData () const
void setPluginStringData (const std::string &s, const std::string &v) const
std::string & getPluginStringData (const std::string &s)
const std::string getPluginStringData (const std::string &s) const
void removePluginStringData (const std::string &s) const
unsigned int getNumPluginStringData () const
void parsePluginStringData (const std::string &str, char separator1=' ', char separator2='=')
void setFindFileCallback (FindFileCallback *cb)
FindFileCallback * getFindFileCallback () const
void setReadFileCallback (ReadFileCallback *cb)
ReadFileCallback * getReadFileCallback () const
void setWriteFileCallback (WriteFileCallback *cb)
WriteFileCallback * getWriteFileCallback () const
void setFileLocationCallback (FileLocationCallback *cb)
FileLocationCallback * getFileLocationCallback () const
void setFileCache (FileCache *fileCache)
FileCache * getFileCache () const
void setTerrain (osg::observer_ptr< osg::Node > &terrain)
const osg::observer_ptr< osg::Node > & getTerrain () const
void setParentGroup (osg::observer_ptr< osg::Group > &parentGroup)
const osg::observer_ptr< osg::Group > & getParentGroup () const
bool operator< (const Options &rhs) const
bool operator== (const Options &rhs) const
Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * cloneType () const =0
virtual Object * clone (const CopyOp &) const =0
virtual bool isSameKindAs (const Object *) const
virtual const char * libraryName () const =0
virtual const char * className () const =0
std::string getCompoundClassName () const
virtual Node * asNode ()
virtual const Node * asNode () const
virtual NodeVisitor * asNodeVisitor ()
virtual const NodeVisitor * asNodeVisitor () const
virtual StateSet * asStateSet ()
virtual const StateSet * asStateSet () const
virtual StateAttribute * asStateAttribute ()
virtual const StateAttribute * asStateAttribute () const
virtual Uniform * asUniform ()
virtual const Uniform * asUniform () const
virtual Camera * asCamera ()
virtual const Camera * asCamera () const
virtual Drawable * asDrawable ()
virtual const Drawable * asDrawable () const
virtual Callback * asCallback ()
virtual const Callback * asCallback () const
virtual CallbackObject * asCallbackObject ()
virtual const CallbackObject * asCallbackObject () const
virtual UserDataContainer * asUserDataContainer ()
virtual const UserDataContainer * asUserDataContainer () const
virtual ValueObject * asValueObject ()
virtual const ValueObject * asValueObject () const
virtual Image * asImage ()
virtual const Image * asImage () const
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void setName (const std::string &name)
void setName (const char *name)
const std::string & getName () const
void setDataVariance (DataVariance dv)
DataVariance getDataVariance () const
virtual void computeDataVariance ()
void setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * getUserDataContainer ()
const osg::UserDataContainer * getUserDataContainer () const
osg::UserDataContainer * getOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
template<class T>
void setUserData (const ref_ptr< T > &ud)
virtual Referenced * getUserData ()
virtual const Referenced * getUserData () const
template<typename T>
bool getUserValue (const std::string &name, T &value) const
template<typename T>
void setUserValue (const std::string &name, const T &value)
virtual void resizeGLObjectBuffers (unsigned int)
virtual void releaseGLObjects (osg::State *=0) const
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referenced & operator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::Mutex * getRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSet * getObserverSet () const
ObserverSet * getOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Protected Types

typedef std::map< std::string, void * > PluginDataMap
typedef std::map< std::string, std::string > PluginStringDataMap

Protected Member Functions

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

Protected Attributes

std::string _str
FilePathList _databasePaths
CacheHintOptions _objectCacheHint
osg::ref_ptr< ObjectCache > _objectCache
PrecisionHint _precisionHint
BuildKdTreesHint _buildKdTreesHint
osg::ref_ptr< AuthenticationMap > _authenticationMap
PluginDataMap _pluginData
PluginStringDataMap _pluginStringData
osg::ref_ptr< FindFileCallback > _findFileCallback
osg::ref_ptr< ReadFileCallback > _readFileCallback
osg::ref_ptr< WriteFileCallback > _writeFileCallback
osg::ref_ptr< FileLocationCallback > _fileLocationCallback
osg::ref_ptr< FileCache > _fileCache
osg::observer_ptr< osg::Node > _terrain
osg::observer_ptr< osg::Group > _parentGroup
Protected Attributes inherited from osg::Object
std::string _name
DataVariance _dataVariance
osg::UserDataContainer * _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * getDeleteHandler ()

Detailed Description

Options base class used for passing options into plugins to control their operation.

Member Typedef Documentation

◆ PluginDataMap

typedef std::map<std::string,void*> osgDB::Options::PluginDataMap
protected

◆ PluginStringDataMap

typedef std::map<std::string,std::string> osgDB::Options::PluginStringDataMap
protected

Member Enumeration Documentation

◆ BuildKdTreesHint

range of options of whether to build kdtrees automatically on loading

Enumerator
NO_PREFERENCE 
DO_NOT_BUILD_KDTREES 
BUILD_KDTREES 

◆ CacheHintOptions

bit mask for setting up which object types get cached by readObject/Image/HeightField/Node(filename) calls

Enumerator
CACHE_NONE 

do not cache objects of any type

CACHE_NODES 

cache nodes loaded via readNode(filename)

CACHE_IMAGES 

cache images loaded via readImage(filename)

CACHE_HEIGHTFIELDS 

cache heightfield loaded via readHeightField(filename)

CACHE_ARCHIVES 

cache heightfield loaded via readHeightField(filename)

CACHE_OBJECTS 

cache objects loaded via readObject(filename)

CACHE_SHADERS 

cache shaders loaded via readShader(filename)

CACHE_ALL 

cache on all read*(filename) calls

◆ PrecisionHint

Bit mask for which geometry attributes should be imported with double precision where source data is held in double precision This is useful for data that will be pre-processed before rendering. In general the geometry should be converted to floating point before rendering to ensure good performance.

Enumerator
FLOAT_PRECISION_ALL 
DOUBLE_PRECISION_VERTEX 
DOUBLE_PRECISION_NORMAL 
DOUBLE_PRECISION_COLOR 
DOUBLE_PRECISION_SECONDARY_COLOR 
DOUBLE_PRECISION_FOG_COORD 
DOUBLE_PRECISION_TEX_COORD 
DOUBLE_PRECISION_VERTEX_ATTRIB 
DOUBLE_PRECISION_ALL 

Constructor & Destructor Documentation

◆ Options() [1/3]

◆ Options() [2/3]

osgDB::Options::Options ( const std::string & str)

◆ Options() [3/3]

osgDB::Options::Options ( const Options & options,
const osg::CopyOp & copyop = osg::CopyOp::SHALLOW_COPY )

◆ ~Options()

virtual osgDB::Options::~Options ( )
protectedvirtual

Member Function Documentation

◆ cloneOptions()

Options * osgDB::Options::cloneOptions ( const osg::CopyOp & copyop = osg::CopyOp::SHALLOW_COPY) const
inline

◆ getAuthenticationMap()

const AuthenticationMap * osgDB::Options::getAuthenticationMap ( ) const
inline

Get the password map to be used by plugins when access files from secure locations.

References _authenticationMap.

◆ getBuildKdTreesHint()

BuildKdTreesHint osgDB::Options::getBuildKdTreesHint ( ) const
inline

Get whether the KdTrees should be built for geometry in the loader model.

References _buildKdTreesHint.

Referenced by osgDB::Registry::_buildKdTreeIfRequired().

◆ getDatabasePathList() [1/2]

FilePathList & osgDB::Options::getDatabasePathList ( )
inline

Get the database path which is used a hint of where to look when loading models.

References _databasePaths.

◆ getDatabasePathList() [2/2]

const FilePathList & osgDB::Options::getDatabasePathList ( ) const
inline

Get the const database path which is used a hint of where to look when loading models.

References _databasePaths.

◆ getFileCache()

FileCache * osgDB::Options::getFileCache ( ) const
inline

Get the FileCache that is used to manage local storage of files downloaded from the internet.

References _fileCache.

◆ getFileLocationCallback()

FileLocationCallback * osgDB::Options::getFileLocationCallback ( ) const
inline

Get the callback to use inform the DatabasePager whether a file is located on local or remote file system.

References _fileLocationCallback.

◆ getFindFileCallback()

FindFileCallback * osgDB::Options::getFindFileCallback ( ) const
inline

Get the const findFile callback.

References _findFileCallback.

Referenced by osgDB::Registry::findDataFile(), and osgDB::Registry::findLibraryFile().

◆ getNumPluginData()

unsigned int osgDB::Options::getNumPluginData ( ) const
inline

Get number of PluginData values

References _pluginData.

◆ getNumPluginStringData()

unsigned int osgDB::Options::getNumPluginStringData ( ) const
inline

Get number of PluginStrData values

References _pluginStringData.

◆ getObjectCache()

ObjectCache * osgDB::Options::getObjectCache ( ) const
inline

Get the ObjectCache that is used to cache previously loaded data.

References _objectCache.

◆ getObjectCacheHint()

CacheHintOptions osgDB::Options::getObjectCacheHint ( ) const
inline

Get whether the Registry::ObjectCache should be used by default.

References _objectCacheHint.

◆ getOptionString()

const std::string & osgDB::Options::getOptionString ( ) const
inline

Get the general Options string.

References _str.

◆ getParentGroup()

const osg::observer_ptr< osg::Group > & osgDB::Options::getParentGroup ( ) const
inline

Get the parentGroup observer_ptr, where the loaded model is intended to be added

References _parentGroup.

◆ getPluginData() [1/2]

void * osgDB::Options::getPluginData ( const std::string & s)
inline

Get a value from the PluginData

References _pluginData.

◆ getPluginData() [2/2]

const void * osgDB::Options::getPluginData ( const std::string & s) const
inline

Get a value from the PluginData

References _pluginData.

◆ getPluginStringData() [1/2]

std::string & osgDB::Options::getPluginStringData ( const std::string & s)
inline

Get a string from the PluginStrData

References _pluginStringData.

◆ getPluginStringData() [2/2]

const std::string osgDB::Options::getPluginStringData ( const std::string & s) const
inline

Get a value from the PluginData

References _pluginStringData.

◆ getPrecisionHint()

PrecisionHint osgDB::Options::getPrecisionHint ( ) const
inline

Get which geometry attributes plugins should import at double precision.

References _precisionHint.

◆ getReadFileCallback()

◆ getTerrain()

const osg::observer_ptr< osg::Node > & osgDB::Options::getTerrain ( ) const
inline

Get the terrain observer_ptr, use to decorate any osgTerrain subgraphs.

References _terrain.

◆ getWriteFileCallback()

◆ META_Object()

osgDB::Options::META_Object ( osgDB ,
Options  )

References Options().

◆ operator<()

bool osgDB::Options::operator< ( const Options & rhs) const

References Options().

◆ operator==()

bool osgDB::Options::operator== ( const Options & rhs) const

References Options().

◆ parsePluginStringData()

void osgDB::Options::parsePluginStringData ( const std::string & str,
char separator1 = ' ',
char separator2 = '=' )

Parse string into plugin string data. This will be automatically done in Options(const std::string&)

Referenced by setOptionString().

◆ removePluginData()

void osgDB::Options::removePluginData ( const std::string & s) const
inline

Remove a value from the PluginData

References _pluginData.

◆ removePluginStringData()

void osgDB::Options::removePluginStringData ( const std::string & s) const
inline

Remove a value from the PluginData

References _pluginStringData.

◆ setAuthenticationMap()

void osgDB::Options::setAuthenticationMap ( AuthenticationMap * authenticationMap)
inline

Set the password map to be used by plugins when access files from secure locations.

References _authenticationMap.

◆ setBuildKdTreesHint()

void osgDB::Options::setBuildKdTreesHint ( BuildKdTreesHint hint)
inline

Set whether the KdTrees should be built for geometry in the loader model.

References _buildKdTreesHint.

◆ setDatabasePath()

void osgDB::Options::setDatabasePath ( const std::string & str)
inline

Set the database path to use a hint of where to look when loading models.

References _databasePaths.

◆ setFileCache()

void osgDB::Options::setFileCache ( FileCache * fileCache)
inline

Set the FileCache that is used to manage local storage of files downloaded from the internet.

References _fileCache.

◆ setFileLocationCallback()

void osgDB::Options::setFileLocationCallback ( FileLocationCallback * cb)
inline

Set the callback to use inform the DatabasePager whether a file is located on local or remote file system.

References _fileLocationCallback.

◆ setFindFileCallback()

void osgDB::Options::setFindFileCallback ( FindFileCallback * cb)
inline

Set the find callback to use in place of the default findFile calls.

References _findFileCallback.

◆ setObjectCache()

void osgDB::Options::setObjectCache ( ObjectCache * objectCache)
inline

Set the ObjectCache that is used to cache previously loaded data.

References _objectCache.

◆ setObjectCacheHint()

void osgDB::Options::setObjectCacheHint ( CacheHintOptions useObjectCache)
inline

Set whether the Registry::ObjectCache should be used by default.

References _objectCacheHint.

◆ setOptionString()

void osgDB::Options::setOptionString ( const std::string & str)
inline

Set the general Options string.

References _str, and parsePluginStringData().

◆ setParentGroup()

void osgDB::Options::setParentGroup ( osg::observer_ptr< osg::Group > & parentGroup)
inline

Set the parentGroup observer_ptr, where the loaded model is intended to be added

References _parentGroup.

◆ setPluginData()

void osgDB::Options::setPluginData ( const std::string & s,
void * v ) const
inline

Sets a plugindata value PluginData with a string

References _pluginData.

◆ setPluginStringData()

void osgDB::Options::setPluginStringData ( const std::string & s,
const std::string & v ) const
inline

Sets a plugindata value PluginData with a string

References _pluginStringData.

◆ setPrecisionHint()

void osgDB::Options::setPrecisionHint ( PrecisionHint hint)
inline

Set which geometry attributes plugins should import at double precision.

References _precisionHint.

◆ setReadFileCallback()

void osgDB::Options::setReadFileCallback ( ReadFileCallback * cb)
inline

Set the read callback to use in place of the default readFile calls.

References _readFileCallback.

◆ setTerrain()

void osgDB::Options::setTerrain ( osg::observer_ptr< osg::Node > & terrain)
inline

Set the terrain observer_ptr, use to decorate any osgTerrain subgraphs.

References _terrain.

◆ setWriteFileCallback()

void osgDB::Options::setWriteFileCallback ( WriteFileCallback * cb)
inline

Set the callback to use in place of the default writeFile calls.

References _writeFileCallback.

Member Data Documentation

◆ _authenticationMap

osg::ref_ptr<AuthenticationMap> osgDB::Options::_authenticationMap
protected

◆ _buildKdTreesHint

BuildKdTreesHint osgDB::Options::_buildKdTreesHint
protected

◆ _databasePaths

FilePathList osgDB::Options::_databasePaths
protected

◆ _fileCache

osg::ref_ptr<FileCache> osgDB::Options::_fileCache
protected

Referenced by getFileCache(), and setFileCache().

◆ _fileLocationCallback

osg::ref_ptr<FileLocationCallback> osgDB::Options::_fileLocationCallback
protected

◆ _findFileCallback

osg::ref_ptr<FindFileCallback> osgDB::Options::_findFileCallback
protected

◆ _objectCache

osg::ref_ptr<ObjectCache> osgDB::Options::_objectCache
protected

Referenced by getObjectCache(), and setObjectCache().

◆ _objectCacheHint

CacheHintOptions osgDB::Options::_objectCacheHint
protected

◆ _parentGroup

osg::observer_ptr<osg::Group> osgDB::Options::_parentGroup
protected

Referenced by getParentGroup(), and setParentGroup().

◆ _pluginData

PluginDataMap osgDB::Options::_pluginData
mutableprotected

◆ _pluginStringData

◆ _precisionHint

PrecisionHint osgDB::Options::_precisionHint
protected

◆ _readFileCallback

osg::ref_ptr<ReadFileCallback> osgDB::Options::_readFileCallback
protected

◆ _str

std::string osgDB::Options::_str
protected

Referenced by getOptionString(), and setOptionString().

◆ _terrain

osg::observer_ptr<osg::Node> osgDB::Options::_terrain
protected

Referenced by getTerrain(), and setTerrain().

◆ _writeFileCallback

osg::ref_ptr<WriteFileCallback> osgDB::Options::_writeFileCallback
protected

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