OpenSceneGraph 3.6.5
osgDB::Registry Class Reference

Registry is a singleton factory which stores the reader/writers which are linked in at runtime for reading non-native file formats. More...

#include <Registry>

Inheritance diagram for osgDB::Registry:

Classes

struct  ReadFunctor
 Functor used in internal implementations. More...

Public Types

enum  LoadStatus { NOT_LOADED = 0 , PREVIOUSLY_LOADED , LOADED }
typedef std::map< std::string, std::string > MimeTypeExtensionMap
typedef std::vector< osg::ref_ptr< ReaderWriter > > ReaderWriterList
typedef std::vector< osg::ref_ptr< ImageProcessor > > ImageProcessorList
typedef class osgDB::FindFileCallback FindFileCallback
typedef class osgDB::ReadFileCallback ReadFileCallback
typedef class osgDB::WriteFileCallback WriteFileCallback
typedef class osgDB::FileLocationCallback FileLocationCallback
typedef std::vector< std::string > ArchiveExtensionList

Public Member Functions

void readCommandLine (osg::ArgumentParser &commandLine)
 read the command line arguments.
void addFileExtensionAlias (const std::string mapExt, const std::string toExt)
 register an .fileextension alias to mapExt toExt, the later should be the extension name of the readerwriter plugin library.
bool readPluginAliasConfigurationFile (const std::string &file)
 Reads a file that configures extension mappings.
void addMimeTypeExtensionMapping (const std::string fromMimeType, const std::string toExt)
 Registers a mapping of a mime-type to an extension.
MimeTypeExtensionMapgetMimeTypeExtensionMap ()
const MimeTypeExtensionMapgetMimeTypeExtensionMap () const
void addReaderWriter (ReaderWriter *rw)
void removeReaderWriter (ReaderWriter *rw)
void addImageProcessor (ImageProcessor *ip)
void removeImageProcessor (ImageProcessor *ip)
std::string createLibraryNameForFile (const std::string &fileName)
 create the platform specific library name associated with file.
std::string createLibraryNameForExtension (const std::string &ext)
 create the platform specific library name associated with file extension.
std::string createLibraryNameForNodeKit (const std::string &name)
 create the platform specific library name associated with nodekit library name.
LoadStatus loadLibrary (const std::string &fileName)
 find the library in the OSG_LIBRARY_PATH and load it.
bool closeLibrary (const std::string &fileName)
 close the attached library with specified name.
void closeAllLibraries ()
 close all libraries.
ReaderWritergetReaderWriterForExtension (const std::string &ext)
 get a reader writer which handles specified extension.
ReaderWritergetReaderWriterForMimeType (const std::string &mimeType)
 gets a reader/writer that handles the extension mapped to by one of the registered mime-types.
ReaderWriterListgetReaderWriterList ()
 get list of all registered ReaderWriters.
const ReaderWriterListgetReaderWriterList () const
 get const list of all registered ReaderWriters.
void getReaderWriterListForProtocol (const std::string &protocol, ReaderWriterList &results) const
 get a list of registered ReaderWriters which can handle given protocol
ReaderWritergetReaderWriterForProtocolAndExtension (const std::string &protocol, const std::string &extension)
ImageProcessorgetImageProcessor ()
 get a image processor if available.
ImageProcessorgetImageProcessorForExtension (const std::string &ext)
 get a image processor which is associated specified extension.
ImageProcessorListgetImageProcessorList ()
 get list of all registered ImageProcessors.
const ImageProcessorListgetImageProcessorList () const
 get const list of all registered ImageProcessors.
void setFindFileCallback (FindFileCallback *cb)
 Set the Registry callback to use in place of the default findFile calls.
FindFileCallbackgetFindFileCallback ()
 Get the findFile callback.
const FindFileCallbackgetFindFileCallback () const
 Get the const findFile callback.
std::string findDataFile (const std::string &fileName, const Options *options, CaseSensitivity caseSensitivity)
std::string findDataFileImplementation (const std::string &fileName, const Options *options, CaseSensitivity caseSensitivity)
std::string findLibraryFile (const std::string &fileName, const Options *options, CaseSensitivity caseSensitivity)
std::string findLibraryFileImplementation (const std::string &fileName, const Options *options, CaseSensitivity caseSensitivity)
void setReadFileCallback (ReadFileCallback *cb)
 Set the Registry callback to use in place of the default readFile calls.
ReadFileCallbackgetReadFileCallback ()
 Get the readFile callback.
const ReadFileCallbackgetReadFileCallback () const
 Get the const readFile callback.
ReaderWriter::ReadResult openArchive (const std::string &fileName, ReaderWriter::ArchiveStatus status, unsigned int indexBlockSizeHint, const Options *options)
ReaderWriter::ReadResult openArchiveImplementation (const std::string &fileName, ReaderWriter::ArchiveStatus status, unsigned int indexBlockSizeHint, const Options *options)
ReaderWriter::ReadResult readObject (const std::string &fileName, const Options *options, bool buildKdTreeIfRequired=true)
ReaderWriter::ReadResult readObjectImplementation (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readImage (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readImageImplementation (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readHeightField (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readHeightFieldImplementation (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readNode (const std::string &fileName, const Options *options, bool buildKdTreeIfRequired=true)
ReaderWriter::ReadResult readNodeImplementation (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readShader (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readShaderImplementation (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readScript (const std::string &fileName, const Options *options)
ReaderWriter::ReadResult readScriptImplementation (const std::string &fileName, const Options *options)
void setWriteFileCallback (WriteFileCallback *cb)
 Set the Registry callback to use in place of the default writeFile calls.
WriteFileCallbackgetWriteFileCallback ()
 Get the writeFile callback.
const WriteFileCallbackgetWriteFileCallback () const
 Get the const writeFile callback.
ReaderWriter::WriteResult writeObject (const osg::Object &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeObjectImplementation (const osg::Object &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeImage (const osg::Image &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeImageImplementation (const osg::Image &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeHeightField (const osg::HeightField &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeHeightFieldImplementation (const osg::HeightField &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeNode (const osg::Node &node, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeNodeImplementation (const osg::Node &node, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeShader (const osg::Shader &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeShaderImplementation (const osg::Shader &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeScript (const osg::Script &obj, const std::string &fileName, const Options *options)
ReaderWriter::WriteResult writeScriptImplementation (const osg::Script &obj, const std::string &fileName, const Options *options)
void _buildKdTreeIfRequired (ReaderWriter::ReadResult &result, const Options *options)
void setFileLocationCallback (FileLocationCallback *cb)
 Set the callback to use inform to the DatabasePager whether a file is located on local or remote file system.
FileLocationCallbackgetFileLocationCallback () const
 Get the callback to use inform to the DatabasePager whether a file is located on local or remote file system.
void setBuildKdTreesHint (Options::BuildKdTreesHint hint)
 Set whether the KdTrees should be built for geometry in the loader model.
Options::BuildKdTreesHint getBuildKdTreesHint () const
 Get whether the KdTrees should be built for geometry in the loader model.
void setKdTreeBuilder (osg::KdTreeBuilder *builder)
 Set the KdTreeBuilder visitor that is used to build KdTree on loaded models.
osg::KdTreeBuildergetKdTreeBuilder ()
 Get the KdTreeBuilder visitor that is used to build KdTree on loaded models.
void setFileCache (FileCache *fileCache)
 Set the FileCache that is used to manage local storage of files downloaded from the internet.
FileCachegetFileCache ()
 Get the FileCache that is used to manage local storage of files downloaded from the internet.
const FileCachegetFileCache () const
 Get the const FileCache that is used to manage local storage of files downloaded from the internet.
void setAuthenticationMap (AuthenticationMap *authenticationMap)
 Set the password map to be used by plugins when access files from secure locations.
AuthenticationMapgetOrCreateAuthenticationMap ()
 Get the password map to be used by plugins when access files from secure locations.
AuthenticationMapgetAuthenticationMap ()
 Get the password map to be used by plugins when access files from secure locations.
const AuthenticationMapgetAuthenticationMap () const
 Get the password map to be used by plugins when access files from secure locations.
void setCreateNodeFromImage (bool flag)
bool getCreateNodeFromImage () const
void setOptions (Options *opt)
OptionsgetOptions ()
const OptionsgetOptions () const
void initFilePathLists ()
 initialize both the Data and Library FilePaths, by default called by the constructor, so it should only be required if you want to force the re-reading of environmental variables.
void initDataFilePathList ()
 initialize the Data FilePath by reading the OSG_FILE_PATH environmental variable.
void setDataFilePathList (const FilePathList &filepath)
 Set the data file path using a list of paths stored in a FilePath, which is used when search for data files.
void setDataFilePathList (const std::string &paths)
 Set the data file path using a single string delimited either with ';' (Windows) or ':' (All other platforms), which is used when search for data files.
FilePathListgetDataFilePathList ()
 get the data file path which is used when search for data files.
const FilePathListgetDataFilePathList () const
 get the const data file path which is used when search for data files.
void initLibraryFilePathList ()
 initialize the Library FilePath by reading the OSG_LIBRARY_PATH and the appropriate system environmental variables
void setLibraryFilePathList (const FilePathList &filepath)
 Set the library file path using a list of paths stored in a FilePath, which is used when search for data files.
void setLibraryFilePathList (const std::string &paths)
 Set the library file path using a single string delimited either with ';' (Windows) or ':' (All other platforms), which is used when search for data files.
FilePathListgetLibraryFilePathList ()
 get the library file path which is used when search for library (dso/dll's) files.
const FilePathListgetLibraryFilePathList () const
 get the const library file path which is used when search for library (dso/dll's) files.
void setObjectCache (ObjectCache *objectCache)
 Set the ObjectCache that is used to manage local storage of files downloaded from the internet.
ObjectCachegetObjectCache ()
 Get the ObjectCache that is used to manage local storage of files downloaded from the internet.
const ObjectCachegetObjectCache () const
 Get the const ObjectCache that is used to manage local storage of files downloaded from the internet.
void setExpiryDelay (double expiryDelay)
 set hint to viewer code calling removeExpiredObjectsInCache to specify how long it should give before expiring objects in Registry cache,
double getExpiryDelay () const
void updateTimeStampOfObjectsInCacheWithExternalReferences (const osg::FrameStamp &frameStamp)
 For each object in the cache which has an reference count greater than 1 (and therefore referenced by elsewhere in the application) set the time stamp for that object in the cache to specified time.
void removeExpiredObjectsInCache (const osg::FrameStamp &frameStamp)
 Removed object in the cache which have a time stamp at or before the specified expiry time.
void clearObjectCache ()
 Remove all objects in the cache regardless of having external references or expiry times.
void addEntryToObjectCache (const std::string &filename, osg::Object *object, double timestamp=0.0, Options *options=NULL)
 Add a filename,object,timestamp triple to the Registry::ObjectCache.
void removeFromObjectCache (const std::string &fileName, Options *options=NULL)
 Remove Object from cache.
osg::ObjectgetFromObjectCache (const std::string &fileName, Options *options=NULL)
 Get an Object from the object cache.
osg::ref_ptr< osg::ObjectgetRefFromObjectCache (const std::string &fileName, Options *options=NULL)
 Get an ref_ptr<Object> from the object cache.
void addToArchiveCache (const std::string &fileName, osgDB::Archive *archive)
 Add archive to archive cache so that future calls reference this archive.
void removeFromArchiveCache (const std::string &fileName)
 Remove Archive from cache.
osgDB::ArchivegetFromArchiveCache (const std::string &fileName)
 Get an Archive from the archive cache.
osg::ref_ptr< osgDB::ArchivegetRefFromArchiveCache (const std::string &fileName)
 Get an ref_ptr<Archive> from the archive cache.
void clearArchiveCache ()
 Remove all archives from the archive cache.
void releaseGLObjects (osg::State *state=0)
 If State is non-zero, this function releases OpenGL objects for the specified graphics context.
DynamicLibrarygetLibrary (const std::string &fileName)
 get the attached library with specified name.
void setSharedStateManager (SharedStateManager *SharedStateManager)
 Set the SharedStateManager.
SharedStateManagergetOrCreateSharedStateManager ()
 Get the SharedStateManager, creating one if one is not already created.
SharedStateManagergetSharedStateManager ()
 Get the SharedStateManager.
void addArchiveExtension (const std::string ext)
 Add an Archive extension.
void registerProtocol (const std::string &protocol)
 registers a protocol
bool isProtocolRegistered (const std::string &protocol)
 returns true, if named protocol is registered
ObjectWrapperManagergetObjectWrapperManager ()
 Get the ObjectWrapperManager that is used to store all the ObjectWrappers.
DeprecatedDotOsgWrapperManagergetDeprecatedDotOsgObjectWrapperManager ()
 Get the ObjectWrapperManager that is used to store all the ObjectWrappers.
const ArchiveExtensionListgetArchiveExtensions () const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead.
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
 Deprecated, Referenced is always theadsafe so there method now has no effect and does not need to be called.
bool getThreadSafeRefUnref () const
 Get whether a mutex is used to ensure ref() and unref() are thread safe.
OpenThreads::Mutex * getRefMutex () const
 Get the mutex used to ensure thread safety of ref()/unref().
int ref () const
 Increment the reference count by one, indicating that this object has another pointer which is referencing it.
int unref () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it.
int unref_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it.
int referenceCount () const
 Return the number of pointers currently referencing this object.
ObserverSetgetObserverSet () const
 Get the ObserverSet if one is attached, otherwise return NULL.
ObserverSetgetOrCreateObserverSet () const
 Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet.
void addObserver (Observer *observer) const
 Add a Observer that is observing this object, notify the Observer when this object gets deleted.
void removeObserver (Observer *observer) const
 Remove Observer that is observing this object.

Static Public Member Functions

static Registryinstance (bool erase=false)
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
 Get the optional global Referenced mutex, this can be shared between all osg::Referenced.
static void setDeleteHandler (DeleteHandler *handler)
 Set a DeleteHandler to which deletion of all referenced counted objects will be delegated.
static DeleteHandlergetDeleteHandler ()
 Get a DeleteHandler.

Protected Types

typedef std::vector< osg::ref_ptr< DynamicLibrary > > DynamicLibraryList
typedef std::map< std::string, std::string > ExtensionAliasMap
typedef std::map< std::string, osg::ref_ptr< osgDB::Archive > > ArchiveCache
typedef std::set< std::string > RegisteredProtocolsSet

Protected Member Functions

virtual ~Registry ()
 Registry ()
 constructor is private, as its a singleton, preventing construction other than via the instance() method and therefore ensuring only one copy is ever constructed
DynamicLibraryList::iterator getLibraryItr (const std::string &fileName)
 get the attached library with specified name.
void destruct ()
ReaderWriter::ReadResult read (const ReadFunctor &readFunctor)
ReaderWriter::ReadResult readImplementation (const ReadFunctor &readFunctor, Options::CacheHintOptions cacheHint)
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Static Protected Member Functions

static std::string trim (const std::string &str)

Protected Attributes

Options::BuildKdTreesHint _buildKdTreesHint
osg::ref_ptr< osg::KdTreeBuilder_kdTreeBuilder
osg::ref_ptr< FileCache_fileCache
osg::ref_ptr< AuthenticationMap_authenticationMap
bool _createNodeFromImage
RegisteredProtocolsSet _registeredProtocols
osg::ref_ptr< FindFileCallback_findFileCallback
osg::ref_ptr< ReadFileCallback_readFileCallback
osg::ref_ptr< WriteFileCallback_writeFileCallback
osg::ref_ptr< FileLocationCallback_fileLocationCallback
OpenThreads::ReentrantMutex _pluginMutex
ReaderWriterList _rwList
ImageProcessorList _ipList
DynamicLibraryList _dlList
OpenThreads::ReentrantMutex _archiveCacheMutex
ArchiveCache _archiveCache
bool _openingLibrary
ExtensionAliasMap _extAliasMap
MimeTypeExtensionMap _mimeTypeExtMap
osg::ref_ptr< Options_options
FilePathList _dataFilePath
FilePathList _libraryFilePath
osg::ref_ptr< ObjectCache_objectCache
double _expiryDelay
ArchiveExtensionList _archiveExtList
osg::ref_ptr< SharedStateManager_sharedStateManager
osg::ref_ptr< ObjectWrapperManager_objectWrapperManager
osg::ref_ptr< DeprecatedDotOsgWrapperManager_deprecatedDotOsgWrapperManager
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Friends

struct ReadFunctor
struct ReadObjectFunctor
struct ReadImageFunctor
struct ReadHeightFieldFunctor
struct ReadNodeFunctor
struct ReadArchiveFunctor
struct ReadShaderFunctor
struct ReadScriptFunctor
class AvailableReaderWriterIterator
class AvailableArchiveIterator

Detailed Description

Registry is a singleton factory which stores the reader/writers which are linked in at runtime for reading non-native file formats.

The RegisterReaderWriterProxy can be used to automatically register at runtime a reader/writer with the Registry.

Member Typedef Documentation

◆ ArchiveCache

typedef std::map<std::string, osg::ref_ptr<osgDB::Archive> > osgDB::Registry::ArchiveCache
protected

◆ ArchiveExtensionList

typedef std::vector< std::string> osgDB::Registry::ArchiveExtensionList

◆ DynamicLibraryList

◆ ExtensionAliasMap

typedef std::map< std::string, std::string> osgDB::Registry::ExtensionAliasMap
protected

◆ FileLocationCallback

◆ FindFileCallback

◆ ImageProcessorList

◆ MimeTypeExtensionMap

typedef std::map< std::string, std::string> osgDB::Registry::MimeTypeExtensionMap

◆ ReaderWriterList

◆ ReadFileCallback

◆ RegisteredProtocolsSet

typedef std::set<std::string> osgDB::Registry::RegisteredProtocolsSet
protected

◆ WriteFileCallback

Member Enumeration Documentation

◆ LoadStatus

Enumerator
NOT_LOADED 
PREVIOUSLY_LOADED 
LOADED 

Constructor & Destructor Documentation

◆ ~Registry()

virtual osgDB::Registry::~Registry ( )
protectedvirtual

◆ Registry()

osgDB::Registry::Registry ( )
protected

constructor is private, as its a singleton, preventing construction other than via the instance() method and therefore ensuring only one copy is ever constructed

Referenced by instance().

Member Function Documentation

◆ _buildKdTreeIfRequired()

◆ addArchiveExtension()

void osgDB::Registry::addArchiveExtension ( const std::string ext)

Add an Archive extension.

◆ addEntryToObjectCache()

void osgDB::Registry::addEntryToObjectCache ( const std::string & filename,
osg::Object * object,
double timestamp = 0.0,
Options * options = NULL )

Add a filename,object,timestamp triple to the Registry::ObjectCache.

References NULL.

◆ addFileExtensionAlias()

void osgDB::Registry::addFileExtensionAlias ( const std::string mapExt,
const std::string toExt )

register an .fileextension alias to mapExt toExt, the later should be the extension name of the readerwriter plugin library.

For example to map .tif files to the tiff loader, use addExtAlias("tif","tiff") which will enable .tif to be read by the libdb_tiff readerwriter plugin.

◆ addImageProcessor()

void osgDB::Registry::addImageProcessor ( ImageProcessor * ip)

◆ addMimeTypeExtensionMapping()

void osgDB::Registry::addMimeTypeExtensionMapping ( const std::string fromMimeType,
const std::string toExt )

Registers a mapping of a mime-type to an extension.

A process fetching data over HTTP can use this facility to determine the proper ReaderWriter to use when there is no filename extension to rely upon.

◆ addReaderWriter()

void osgDB::Registry::addReaderWriter ( ReaderWriter * rw)

◆ addToArchiveCache()

void osgDB::Registry::addToArchiveCache ( const std::string & fileName,
osgDB::Archive * archive )

Add archive to archive cache so that future calls reference this archive.

◆ clearArchiveCache()

void osgDB::Registry::clearArchiveCache ( )

Remove all archives from the archive cache.

◆ clearObjectCache()

void osgDB::Registry::clearObjectCache ( )

Remove all objects in the cache regardless of having external references or expiry times.

◆ closeAllLibraries()

void osgDB::Registry::closeAllLibraries ( )

close all libraries.

◆ closeLibrary()

bool osgDB::Registry::closeLibrary ( const std::string & fileName)

close the attached library with specified name.

◆ createLibraryNameForExtension()

std::string osgDB::Registry::createLibraryNameForExtension ( const std::string & ext)

create the platform specific library name associated with file extension.

◆ createLibraryNameForFile()

std::string osgDB::Registry::createLibraryNameForFile ( const std::string & fileName)

create the platform specific library name associated with file.

◆ createLibraryNameForNodeKit()

std::string osgDB::Registry::createLibraryNameForNodeKit ( const std::string & name)

create the platform specific library name associated with nodekit library name.

◆ destruct()

◆ findDataFile()

std::string osgDB::Registry::findDataFile ( const std::string & fileName,
const Options * options,
CaseSensitivity caseSensitivity )
inline

◆ findDataFileImplementation()

std::string osgDB::Registry::findDataFileImplementation ( const std::string & fileName,
const Options * options,
CaseSensitivity caseSensitivity )

Referenced by findDataFile().

◆ findLibraryFile()

std::string osgDB::Registry::findLibraryFile ( const std::string & fileName,
const Options * options,
CaseSensitivity caseSensitivity )
inline

◆ findLibraryFileImplementation()

std::string osgDB::Registry::findLibraryFileImplementation ( const std::string & fileName,
const Options * options,
CaseSensitivity caseSensitivity )

Referenced by findLibraryFile().

◆ getArchiveExtensions()

const ArchiveExtensionList & osgDB::Registry::getArchiveExtensions ( ) const
inline

References _archiveExtList.

◆ getAuthenticationMap() [1/2]

AuthenticationMap * osgDB::Registry::getAuthenticationMap ( )
inline

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

References _authenticationMap.

◆ getAuthenticationMap() [2/2]

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

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

References _authenticationMap.

◆ getBuildKdTreesHint()

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

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

References _buildKdTreesHint.

◆ getCreateNodeFromImage()

bool osgDB::Registry::getCreateNodeFromImage ( ) const
inline

References _createNodeFromImage.

◆ getDataFilePathList() [1/2]

FilePathList & osgDB::Registry::getDataFilePathList ( )
inline

get the data file path which is used when search for data files.

References _dataFilePath.

Referenced by osgDB::getDataFilePathList().

◆ getDataFilePathList() [2/2]

const FilePathList & osgDB::Registry::getDataFilePathList ( ) const
inline

get the const data file path which is used when search for data files.

References _dataFilePath.

◆ getDeprecatedDotOsgObjectWrapperManager()

DeprecatedDotOsgWrapperManager * osgDB::Registry::getDeprecatedDotOsgObjectWrapperManager ( )
inline

Get the ObjectWrapperManager that is used to store all the ObjectWrappers.

References _deprecatedDotOsgWrapperManager.

◆ getExpiryDelay()

double osgDB::Registry::getExpiryDelay ( ) const
inline

References _expiryDelay.

◆ getFileCache() [1/2]

FileCache * osgDB::Registry::getFileCache ( )
inline

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

References _fileCache.

◆ getFileCache() [2/2]

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

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

References _fileCache.

◆ getFileLocationCallback()

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

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

References _fileLocationCallback.

◆ getFindFileCallback() [1/2]

FindFileCallback * osgDB::Registry::getFindFileCallback ( )
inline

Get the findFile callback.

References _findFileCallback.

◆ getFindFileCallback() [2/2]

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

Get the const findFile callback.

References _findFileCallback.

◆ getFromArchiveCache()

osgDB::Archive * osgDB::Registry::getFromArchiveCache ( const std::string & fileName)

Get an Archive from the archive cache.

◆ getFromObjectCache()

osg::Object * osgDB::Registry::getFromObjectCache ( const std::string & fileName,
Options * options = NULL )

Get an Object from the object cache.

References NULL.

◆ getImageProcessor()

ImageProcessor * osgDB::Registry::getImageProcessor ( )

get a image processor if available.

◆ getImageProcessorForExtension()

ImageProcessor * osgDB::Registry::getImageProcessorForExtension ( const std::string & ext)

get a image processor which is associated specified extension.

◆ getImageProcessorList() [1/2]

ImageProcessorList & osgDB::Registry::getImageProcessorList ( )
inline

get list of all registered ImageProcessors.

References _ipList.

◆ getImageProcessorList() [2/2]

const ImageProcessorList & osgDB::Registry::getImageProcessorList ( ) const
inline

get const list of all registered ImageProcessors.

References _ipList.

◆ getKdTreeBuilder()

osg::KdTreeBuilder * osgDB::Registry::getKdTreeBuilder ( )
inline

Get the KdTreeBuilder visitor that is used to build KdTree on loaded models.

References _kdTreeBuilder.

◆ getLibrary()

DynamicLibrary * osgDB::Registry::getLibrary ( const std::string & fileName)

get the attached library with specified name.

◆ getLibraryFilePathList() [1/2]

FilePathList & osgDB::Registry::getLibraryFilePathList ( )
inline

get the library file path which is used when search for library (dso/dll's) files.

References _libraryFilePath.

Referenced by osgDB::getLibraryFilePathList().

◆ getLibraryFilePathList() [2/2]

const FilePathList & osgDB::Registry::getLibraryFilePathList ( ) const
inline

get the const library file path which is used when search for library (dso/dll's) files.

References _libraryFilePath.

◆ getLibraryItr()

DynamicLibraryList::iterator osgDB::Registry::getLibraryItr ( const std::string & fileName)
protected

get the attached library with specified name.

◆ getMimeTypeExtensionMap() [1/2]

MimeTypeExtensionMap & osgDB::Registry::getMimeTypeExtensionMap ( )
inline

References _mimeTypeExtMap.

◆ getMimeTypeExtensionMap() [2/2]

const MimeTypeExtensionMap & osgDB::Registry::getMimeTypeExtensionMap ( ) const
inline

References _mimeTypeExtMap.

◆ getObjectCache() [1/2]

ObjectCache * osgDB::Registry::getObjectCache ( )
inline

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

References _objectCache.

◆ getObjectCache() [2/2]

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

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

References _objectCache.

◆ getObjectWrapperManager()

ObjectWrapperManager * osgDB::Registry::getObjectWrapperManager ( )
inline

Get the ObjectWrapperManager that is used to store all the ObjectWrappers.

References _objectWrapperManager.

◆ getOptions() [1/2]

Options * osgDB::Registry::getOptions ( )
inline

References _options.

◆ getOptions() [2/2]

const Options * osgDB::Registry::getOptions ( ) const
inline

References _options.

◆ getOrCreateAuthenticationMap()

AuthenticationMap * osgDB::Registry::getOrCreateAuthenticationMap ( )
inline

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

Create a AuthenticationMap if one isn't already assigned.

References _authenticationMap.

◆ getOrCreateSharedStateManager()

SharedStateManager * osgDB::Registry::getOrCreateSharedStateManager ( )

Get the SharedStateManager, creating one if one is not already created.

◆ getReaderWriterForExtension()

ReaderWriter * osgDB::Registry::getReaderWriterForExtension ( const std::string & ext)

get a reader writer which handles specified extension.

◆ getReaderWriterForMimeType()

ReaderWriter * osgDB::Registry::getReaderWriterForMimeType ( const std::string & mimeType)

gets a reader/writer that handles the extension mapped to by one of the registered mime-types.

◆ getReaderWriterForProtocolAndExtension()

ReaderWriter * osgDB::Registry::getReaderWriterForProtocolAndExtension ( const std::string & protocol,
const std::string & extension )

◆ getReaderWriterList() [1/2]

ReaderWriterList & osgDB::Registry::getReaderWriterList ( )
inline

get list of all registered ReaderWriters.

References _rwList.

◆ getReaderWriterList() [2/2]

const ReaderWriterList & osgDB::Registry::getReaderWriterList ( ) const
inline

get const list of all registered ReaderWriters.

References _rwList.

◆ getReaderWriterListForProtocol()

void osgDB::Registry::getReaderWriterListForProtocol ( const std::string & protocol,
ReaderWriterList & results ) const

get a list of registered ReaderWriters which can handle given protocol

◆ getReadFileCallback() [1/2]

ReadFileCallback * osgDB::Registry::getReadFileCallback ( )
inline

Get the readFile callback.

References _readFileCallback.

◆ getReadFileCallback() [2/2]

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

Get the const readFile callback.

References _readFileCallback.

◆ getRefFromArchiveCache()

osg::ref_ptr< osgDB::Archive > osgDB::Registry::getRefFromArchiveCache ( const std::string & fileName)

Get an ref_ptr<Archive> from the archive cache.

◆ getRefFromObjectCache()

osg::ref_ptr< osg::Object > osgDB::Registry::getRefFromObjectCache ( const std::string & fileName,
Options * options = NULL )

Get an ref_ptr<Object> from the object cache.

References NULL.

◆ getSharedStateManager()

SharedStateManager * osgDB::Registry::getSharedStateManager ( )
inline

Get the SharedStateManager.

Return 0 if no SharedStateManager has been assigned.

References _sharedStateManager.

◆ getWriteFileCallback() [1/2]

WriteFileCallback * osgDB::Registry::getWriteFileCallback ( )
inline

Get the writeFile callback.

References _writeFileCallback.

◆ getWriteFileCallback() [2/2]

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

Get the const writeFile callback.

References _writeFileCallback.

◆ initDataFilePathList()

void osgDB::Registry::initDataFilePathList ( )

initialize the Data FilePath by reading the OSG_FILE_PATH environmental variable.

Referenced by initFilePathLists().

◆ initFilePathLists()

void osgDB::Registry::initFilePathLists ( )
inline

initialize both the Data and Library FilePaths, by default called by the constructor, so it should only be required if you want to force the re-reading of environmental variables.

References initDataFilePathList(), and initLibraryFilePathList().

◆ initLibraryFilePathList()

void osgDB::Registry::initLibraryFilePathList ( )

initialize the Library FilePath by reading the OSG_LIBRARY_PATH and the appropriate system environmental variables

Referenced by initFilePathLists().

◆ instance()

◆ isProtocolRegistered()

bool osgDB::Registry::isProtocolRegistered ( const std::string & protocol)

returns true, if named protocol is registered

◆ loadLibrary()

LoadStatus osgDB::Registry::loadLibrary ( const std::string & fileName)

find the library in the OSG_LIBRARY_PATH and load it.

◆ openArchive()

ReaderWriter::ReadResult osgDB::Registry::openArchive ( const std::string & fileName,
ReaderWriter::ArchiveStatus status,
unsigned int indexBlockSizeHint,
const Options * options )
inline

◆ openArchiveImplementation()

ReaderWriter::ReadResult osgDB::Registry::openArchiveImplementation ( const std::string & fileName,
ReaderWriter::ArchiveStatus status,
unsigned int indexBlockSizeHint,
const Options * options )

Referenced by openArchive().

◆ read()

ReaderWriter::ReadResult osgDB::Registry::read ( const ReadFunctor & readFunctor)
protected

◆ readCommandLine()

void osgDB::Registry::readCommandLine ( osg::ArgumentParser & commandLine)

read the command line arguments.

Referenced by osgDB::readCommandLine().

◆ readHeightField()

ReaderWriter::ReadResult osgDB::Registry::readHeightField ( const std::string & fileName,
const Options * options )
inline

◆ readHeightFieldImplementation()

ReaderWriter::ReadResult osgDB::Registry::readHeightFieldImplementation ( const std::string & fileName,
const Options * options )

Referenced by readHeightField().

◆ readImage()

ReaderWriter::ReadResult osgDB::Registry::readImage ( const std::string & fileName,
const Options * options )
inline

◆ readImageImplementation()

ReaderWriter::ReadResult osgDB::Registry::readImageImplementation ( const std::string & fileName,
const Options * options )

Referenced by readImage().

◆ readImplementation()

ReaderWriter::ReadResult osgDB::Registry::readImplementation ( const ReadFunctor & readFunctor,
Options::CacheHintOptions cacheHint )
protected

◆ readNode()

ReaderWriter::ReadResult osgDB::Registry::readNode ( const std::string & fileName,
const Options * options,
bool buildKdTreeIfRequired = true )
inline

◆ readNodeImplementation()

ReaderWriter::ReadResult osgDB::Registry::readNodeImplementation ( const std::string & fileName,
const Options * options )

Referenced by readNode().

◆ readObject()

ReaderWriter::ReadResult osgDB::Registry::readObject ( const std::string & fileName,
const Options * options,
bool buildKdTreeIfRequired = true )
inline

◆ readObjectImplementation()

ReaderWriter::ReadResult osgDB::Registry::readObjectImplementation ( const std::string & fileName,
const Options * options )

Referenced by readObject().

◆ readPluginAliasConfigurationFile()

bool osgDB::Registry::readPluginAliasConfigurationFile ( const std::string & file)

Reads a file that configures extension mappings.

File is ASCII text and each line contains the parameters to the addFileExtensionAlias method. Lines can be commented out with an initial '#' character.

◆ readScript()

ReaderWriter::ReadResult osgDB::Registry::readScript ( const std::string & fileName,
const Options * options )
inline

◆ readScriptImplementation()

ReaderWriter::ReadResult osgDB::Registry::readScriptImplementation ( const std::string & fileName,
const Options * options )

Referenced by readScript().

◆ readShader()

ReaderWriter::ReadResult osgDB::Registry::readShader ( const std::string & fileName,
const Options * options )
inline

◆ readShaderImplementation()

ReaderWriter::ReadResult osgDB::Registry::readShaderImplementation ( const std::string & fileName,
const Options * options )

Referenced by readShader().

◆ registerProtocol()

void osgDB::Registry::registerProtocol ( const std::string & protocol)

registers a protocol

◆ releaseGLObjects()

void osgDB::Registry::releaseGLObjects ( osg::State * state = 0)

If State is non-zero, this function releases OpenGL objects for the specified graphics context.

Otherwise, releases OpenGL objexts for all graphics contexts.

◆ removeExpiredObjectsInCache()

void osgDB::Registry::removeExpiredObjectsInCache ( const osg::FrameStamp & frameStamp)

Removed object in the cache which have a time stamp at or before the specified expiry time.

This would typically be called once per frame by applications which are doing database paging, and need to prune objects that are no longer required, and called after the a called after the call to updateTimeStampOfObjectsInCacheWithExternalReferences(frameStamp).

◆ removeFromArchiveCache()

void osgDB::Registry::removeFromArchiveCache ( const std::string & fileName)

Remove Archive from cache.

◆ removeFromObjectCache()

void osgDB::Registry::removeFromObjectCache ( const std::string & fileName,
Options * options = NULL )

Remove Object from cache.

References NULL.

◆ removeImageProcessor()

void osgDB::Registry::removeImageProcessor ( ImageProcessor * ip)

◆ removeReaderWriter()

void osgDB::Registry::removeReaderWriter ( ReaderWriter * rw)

◆ setAuthenticationMap()

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

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

References _authenticationMap.

◆ setBuildKdTreesHint()

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

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

References _buildKdTreesHint.

◆ setCreateNodeFromImage()

void osgDB::Registry::setCreateNodeFromImage ( bool flag)
inline

References _createNodeFromImage.

◆ setDataFilePathList() [1/2]

void osgDB::Registry::setDataFilePathList ( const FilePathList & filepath)
inline

Set the data file path using a list of paths stored in a FilePath, which is used when search for data files.

References _dataFilePath.

Referenced by osgDB::setDataFilePathList(), and osgDB::setDataFilePathList().

◆ setDataFilePathList() [2/2]

void osgDB::Registry::setDataFilePathList ( const std::string & paths)

Set the data file path using a single string delimited either with ';' (Windows) or ':' (All other platforms), which is used when search for data files.

◆ setExpiryDelay()

void osgDB::Registry::setExpiryDelay ( double expiryDelay)
inline

set hint to viewer code calling removeExpiredObjectsInCache to specify how long it should give before expiring objects in Registry cache,

References _expiryDelay.

◆ setFileCache()

void osgDB::Registry::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::Registry::setFileLocationCallback ( FileLocationCallback * cb)
inline

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

References _fileLocationCallback.

◆ setFindFileCallback()

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

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

References _findFileCallback.

◆ setKdTreeBuilder()

void osgDB::Registry::setKdTreeBuilder ( osg::KdTreeBuilder * builder)
inline

Set the KdTreeBuilder visitor that is used to build KdTree on loaded models.

References _kdTreeBuilder.

◆ setLibraryFilePathList() [1/2]

void osgDB::Registry::setLibraryFilePathList ( const FilePathList & filepath)
inline

Set the library file path using a list of paths stored in a FilePath, which is used when search for data files.

References _libraryFilePath.

Referenced by osgDB::setLibraryFilePathList(), and osgDB::setLibraryFilePathList().

◆ setLibraryFilePathList() [2/2]

void osgDB::Registry::setLibraryFilePathList ( const std::string & paths)

Set the library file path using a single string delimited either with ';' (Windows) or ':' (All other platforms), which is used when search for data files.

◆ setObjectCache()

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

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

References _objectCache.

◆ setOptions()

void osgDB::Registry::setOptions ( Options * opt)
inline

References _options.

◆ setReadFileCallback()

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

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

References _readFileCallback.

◆ setSharedStateManager()

void osgDB::Registry::setSharedStateManager ( SharedStateManager * SharedStateManager)
inline

◆ setWriteFileCallback()

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

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

References _writeFileCallback.

◆ trim()

std::string osgDB::Registry::trim ( const std::string & str)
staticprotected

◆ updateTimeStampOfObjectsInCacheWithExternalReferences()

void osgDB::Registry::updateTimeStampOfObjectsInCacheWithExternalReferences ( const osg::FrameStamp & frameStamp)

For each object in the cache which has an reference count greater than 1 (and therefore referenced by elsewhere in the application) set the time stamp for that object in the cache to specified time.

This would typically be called once per frame by applications which are doing database paging, and need to prune objects that are no longer required. The time used is taken from the FrameStamp::getReferenceTime().

◆ writeHeightField()

ReaderWriter::WriteResult osgDB::Registry::writeHeightField ( const osg::HeightField & obj,
const std::string & fileName,
const Options * options )
inline

◆ writeHeightFieldImplementation()

ReaderWriter::WriteResult osgDB::Registry::writeHeightFieldImplementation ( const osg::HeightField & obj,
const std::string & fileName,
const Options * options )

Referenced by writeHeightField().

◆ writeImage()

ReaderWriter::WriteResult osgDB::Registry::writeImage ( const osg::Image & obj,
const std::string & fileName,
const Options * options )
inline

◆ writeImageImplementation()

ReaderWriter::WriteResult osgDB::Registry::writeImageImplementation ( const osg::Image & obj,
const std::string & fileName,
const Options * options )

Referenced by writeImage().

◆ writeNode()

ReaderWriter::WriteResult osgDB::Registry::writeNode ( const osg::Node & node,
const std::string & fileName,
const Options * options )
inline

◆ writeNodeImplementation()

ReaderWriter::WriteResult osgDB::Registry::writeNodeImplementation ( const osg::Node & node,
const std::string & fileName,
const Options * options )

Referenced by writeNode().

◆ writeObject()

ReaderWriter::WriteResult osgDB::Registry::writeObject ( const osg::Object & obj,
const std::string & fileName,
const Options * options )
inline

◆ writeObjectImplementation()

ReaderWriter::WriteResult osgDB::Registry::writeObjectImplementation ( const osg::Object & obj,
const std::string & fileName,
const Options * options )

Referenced by writeObject().

◆ writeScript()

ReaderWriter::WriteResult osgDB::Registry::writeScript ( const osg::Script & obj,
const std::string & fileName,
const Options * options )
inline

◆ writeScriptImplementation()

ReaderWriter::WriteResult osgDB::Registry::writeScriptImplementation ( const osg::Script & obj,
const std::string & fileName,
const Options * options )

Referenced by writeScript().

◆ writeShader()

ReaderWriter::WriteResult osgDB::Registry::writeShader ( const osg::Shader & obj,
const std::string & fileName,
const Options * options )
inline

◆ writeShaderImplementation()

ReaderWriter::WriteResult osgDB::Registry::writeShaderImplementation ( const osg::Shader & obj,
const std::string & fileName,
const Options * options )

Referenced by writeShader().

◆ AvailableArchiveIterator

friend class AvailableArchiveIterator
friend

◆ AvailableReaderWriterIterator

friend class AvailableReaderWriterIterator
friend

◆ ReadArchiveFunctor

friend struct ReadArchiveFunctor
friend

References ReadArchiveFunctor.

Referenced by destruct(), and ReadArchiveFunctor.

◆ ReadFunctor

friend struct ReadFunctor
friend

◆ ReadHeightFieldFunctor

friend struct ReadHeightFieldFunctor
friend

References ReadHeightFieldFunctor.

Referenced by destruct(), and ReadHeightFieldFunctor.

◆ ReadImageFunctor

friend struct ReadImageFunctor
friend

References ReadImageFunctor.

Referenced by destruct(), and ReadImageFunctor.

◆ ReadNodeFunctor

friend struct ReadNodeFunctor
friend

References ReadNodeFunctor.

Referenced by destruct(), and ReadNodeFunctor.

◆ ReadObjectFunctor

friend struct ReadObjectFunctor
friend

References ReadObjectFunctor.

Referenced by destruct(), and ReadObjectFunctor.

◆ ReadScriptFunctor

friend struct ReadScriptFunctor
friend

References ReadScriptFunctor.

Referenced by destruct(), and ReadScriptFunctor.

◆ ReadShaderFunctor

friend struct ReadShaderFunctor
friend

References ReadShaderFunctor.

Referenced by destruct(), and ReadShaderFunctor.

Member Data Documentation

◆ _archiveCache

ArchiveCache osgDB::Registry::_archiveCache
protected

◆ _archiveCacheMutex

OpenThreads::ReentrantMutex osgDB::Registry::_archiveCacheMutex
protected

◆ _archiveExtList

ArchiveExtensionList osgDB::Registry::_archiveExtList
protected

Referenced by getArchiveExtensions().

◆ _authenticationMap

◆ _buildKdTreesHint

Options::BuildKdTreesHint osgDB::Registry::_buildKdTreesHint
protected

◆ _createNodeFromImage

bool osgDB::Registry::_createNodeFromImage
protected

◆ _dataFilePath

FilePathList osgDB::Registry::_dataFilePath
protected

◆ _deprecatedDotOsgWrapperManager

osg::ref_ptr<DeprecatedDotOsgWrapperManager> osgDB::Registry::_deprecatedDotOsgWrapperManager
protected

◆ _dlList

DynamicLibraryList osgDB::Registry::_dlList
protected

◆ _expiryDelay

double osgDB::Registry::_expiryDelay
protected

Referenced by getExpiryDelay(), and setExpiryDelay().

◆ _extAliasMap

ExtensionAliasMap osgDB::Registry::_extAliasMap
protected

◆ _fileCache

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

◆ _fileLocationCallback

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

◆ _findFileCallback

◆ _ipList

ImageProcessorList osgDB::Registry::_ipList
protected

◆ _kdTreeBuilder

osg::ref_ptr<osg::KdTreeBuilder> osgDB::Registry::_kdTreeBuilder
protected

◆ _libraryFilePath

FilePathList osgDB::Registry::_libraryFilePath
protected

◆ _mimeTypeExtMap

MimeTypeExtensionMap osgDB::Registry::_mimeTypeExtMap
protected

◆ _objectCache

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

◆ _objectWrapperManager

osg::ref_ptr<ObjectWrapperManager> osgDB::Registry::_objectWrapperManager
protected

Referenced by getObjectWrapperManager().

◆ _openingLibrary

bool osgDB::Registry::_openingLibrary
protected

◆ _options

osg::ref_ptr<Options> osgDB::Registry::_options
protected

Referenced by getOptions(), getOptions(), and setOptions().

◆ _pluginMutex

OpenThreads::ReentrantMutex osgDB::Registry::_pluginMutex
protected

◆ _readFileCallback

◆ _registeredProtocols

RegisteredProtocolsSet osgDB::Registry::_registeredProtocols
protected

◆ _rwList

ReaderWriterList osgDB::Registry::_rwList
protected

◆ _sharedStateManager

osg::ref_ptr<SharedStateManager> osgDB::Registry::_sharedStateManager
protected

◆ _writeFileCallback


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

osg logo
Generated at Sun Jul 20 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0.