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)
OptionscloneOptions (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)
FilePathListgetDatabasePathList ()
const FilePathListgetDatabasePathList () const
void setObjectCacheHint (CacheHintOptions useObjectCache)
CacheHintOptions getObjectCacheHint () const
void setObjectCache (ObjectCache *objectCache)
ObjectCachegetObjectCache () const
void setPrecisionHint (PrecisionHint hint)
PrecisionHint getPrecisionHint () const
void setBuildKdTreesHint (BuildKdTreesHint hint)
BuildKdTreesHint getBuildKdTreesHint () const
void setAuthenticationMap (AuthenticationMap *authenticationMap)
const AuthenticationMapgetAuthenticationMap () 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)
FindFileCallbackgetFindFileCallback () const
void setReadFileCallback (ReadFileCallback *cb)
ReadFileCallbackgetReadFileCallback () const
void setWriteFileCallback (WriteFileCallback *cb)
WriteFileCallbackgetWriteFileCallback () const
void setFileLocationCallback (FileLocationCallback *cb)
FileLocationCallbackgetFileLocationCallback () const
void setFileCache (FileCache *fileCache)
FileCachegetFileCache () 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 ObjectcloneType () const =0
virtual Objectclone (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 NodeasNode ()
virtual const NodeasNode () const
virtual NodeVisitorasNodeVisitor ()
virtual const NodeVisitorasNodeVisitor () const
virtual StateSetasStateSet ()
virtual const StateSetasStateSet () const
virtual StateAttributeasStateAttribute ()
virtual const StateAttributeasStateAttribute () const
virtual UniformasUniform ()
virtual const UniformasUniform () const
virtual CameraasCamera ()
virtual const CameraasCamera () const
virtual DrawableasDrawable ()
virtual const DrawableasDrawable () const
virtual CallbackasCallback ()
virtual const CallbackasCallback () const
virtual CallbackObjectasCallbackObject ()
virtual const CallbackObjectasCallbackObject () const
virtual UserDataContainerasUserDataContainer ()
virtual const UserDataContainerasUserDataContainer () const
virtual ValueObjectasValueObject ()
virtual const ValueObjectasValueObject () const
virtual ImageasImage ()
virtual const ImageasImage () 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::UserDataContainergetUserDataContainer ()
const osg::UserDataContainergetUserDataContainer () const
osg::UserDataContainergetOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
template<class T>
void setUserData (const ref_ptr< T > &ud)
virtual ReferencedgetUserData ()
virtual const ReferencedgetUserData () 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 &)
Referencedoperator= (const Referenced &)
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

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::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

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: