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

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: