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

osgDB::Options::Options ( )

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

◆ getBuildKdTreesHint()

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

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

◆ getDatabasePathList() [1/2]

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

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

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

◆ getFileCache()

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

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

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

◆ getFindFileCallback()

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

Get the const findFile callback.

◆ getNumPluginData()

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

Get number of PluginData values

◆ getNumPluginStringData()

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

Get number of PluginStrData values

◆ getObjectCache()

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

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

◆ getObjectCacheHint()

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

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

◆ getOptionString()

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

Get the general Options string.

◆ 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

◆ getPluginData() [1/2]

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

Get a value from the PluginData

◆ getPluginData() [2/2]

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

Get a value from the PluginData

◆ getPluginStringData() [1/2]

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

Get a string from the PluginStrData

◆ getPluginStringData() [2/2]

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

Get a value from the PluginData

◆ getPrecisionHint()

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

Get which geometry attributes plugins should import at double precision.

◆ getReadFileCallback()

ReadFileCallback * osgDB::Options::getReadFileCallback ( ) const
inline

Get the const readFile callback.

◆ getTerrain()

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

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

◆ getWriteFileCallback()

WriteFileCallback * osgDB::Options::getWriteFileCallback ( ) const
inline

Get the const writeFile callback.

◆ META_Object()

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

◆ operator<()

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

◆ operator==()

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

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

◆ removePluginData()

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

Remove a value from the PluginData

◆ removePluginStringData()

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

Remove a value from the PluginData

◆ setAuthenticationMap()

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

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

◆ setBuildKdTreesHint()

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

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

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

◆ setFileCache()

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

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

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

◆ setFindFileCallback()

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

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

◆ setObjectCache()

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

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

◆ setObjectCacheHint()

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

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

◆ setOptionString()

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

Set the general Options string.

◆ 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

◆ setPluginData()

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

Sets a plugindata value PluginData with a string

◆ setPluginStringData()

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

Sets a plugindata value PluginData with a string

◆ setPrecisionHint()

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

Set which geometry attributes plugins should import at double precision.

◆ setReadFileCallback()

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

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

◆ setTerrain()

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

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

◆ setWriteFileCallback()

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

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

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

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

◆ _objectCacheHint

CacheHintOptions osgDB::Options::_objectCacheHint
protected

◆ _parentGroup

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

◆ _pluginData

PluginDataMap osgDB::Options::_pluginData
mutableprotected

◆ _pluginStringData

PluginStringDataMap osgDB::Options::_pluginStringData
mutableprotected

◆ _precisionHint

PrecisionHint osgDB::Options::_precisionHint
protected

◆ _readFileCallback

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

◆ _str

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

◆ _terrain

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

◆ _writeFileCallback

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

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