openscenegraph
osgDB::Registry Class Reference

#include <Registry>

Inheritance diagram for osgDB::Registry:
osg::Referenced

Classes

struct  ReadFunctor

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)
void addFileExtensionAlias (const std::string mapExt, const std::string toExt)
bool readPluginAliasConfigurationFile (const std::string &file)
void addMimeTypeExtensionMapping (const std::string fromMimeType, const std::string toExt)
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)
std::string createLibraryNameForExtension (const std::string &ext)
std::string createLibraryNameForNodeKit (const std::string &name)
LoadStatus loadLibrary (const std::string &fileName)
bool closeLibrary (const std::string &fileName)
void closeAllLibraries ()
ReaderWritergetReaderWriterForExtension (const std::string &ext)
ReaderWritergetReaderWriterForMimeType (const std::string &mimeType)
ReaderWriterListgetReaderWriterList ()
const ReaderWriterListgetReaderWriterList () const
void getReaderWriterListForProtocol (const std::string &protocol, ReaderWriterList &results) const
ReaderWritergetReaderWriterForProtocolAndExtension (const std::string &protocol, const std::string &extension)
ImageProcessorgetImageProcessor ()
ImageProcessorgetImageProcessorForExtension (const std::string &ext)
ImageProcessorListgetImageProcessorList ()
const ImageProcessorListgetImageProcessorList () const
void setFindFileCallback (FindFileCallback *cb)
FindFileCallbackgetFindFileCallback ()
const FindFileCallbackgetFindFileCallback () const
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)
ReadFileCallbackgetReadFileCallback ()
const ReadFileCallbackgetReadFileCallback () const
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)
WriteFileCallbackgetWriteFileCallback ()
const WriteFileCallbackgetWriteFileCallback () const
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)
FileLocationCallbackgetFileLocationCallback () const
void setBuildKdTreesHint (Options::BuildKdTreesHint hint)
Options::BuildKdTreesHint getBuildKdTreesHint () const
void setKdTreeBuilder (osg::KdTreeBuilder *builder)
osg::KdTreeBuildergetKdTreeBuilder ()
void setFileCache (FileCache *fileCache)
FileCachegetFileCache ()
const FileCachegetFileCache () const
void setAuthenticationMap (AuthenticationMap *authenticationMap)
AuthenticationMapgetOrCreateAuthenticationMap ()
AuthenticationMapgetAuthenticationMap ()
const AuthenticationMapgetAuthenticationMap () const
void setCreateNodeFromImage (bool flag)
bool getCreateNodeFromImage () const
void setOptions (Options *opt)
OptionsgetOptions ()
const OptionsgetOptions () const
void initFilePathLists ()
void initDataFilePathList ()
void setDataFilePathList (const FilePathList &filepath)
void setDataFilePathList (const std::string &paths)
FilePathListgetDataFilePathList ()
const FilePathListgetDataFilePathList () const
void initLibraryFilePathList ()
void setLibraryFilePathList (const FilePathList &filepath)
void setLibraryFilePathList (const std::string &paths)
FilePathListgetLibraryFilePathList ()
const FilePathListgetLibraryFilePathList () const
void setObjectCache (ObjectCache *objectCache)
ObjectCachegetObjectCache ()
const ObjectCachegetObjectCache () const
void setExpiryDelay (double expiryDelay)
double getExpiryDelay () const
void updateTimeStampOfObjectsInCacheWithExternalReferences (const osg::FrameStamp &frameStamp)
void removeExpiredObjectsInCache (const osg::FrameStamp &frameStamp)
void clearObjectCache ()
void addEntryToObjectCache (const std::string &filename, osg::Object *object, double timestamp=0.0, Options *options=NULL)
void removeFromObjectCache (const std::string &fileName, Options *options=NULL)
osg::ObjectgetFromObjectCache (const std::string &fileName, Options *options=NULL)
osg::ref_ptr< osg::ObjectgetRefFromObjectCache (const std::string &fileName, Options *options=NULL)
void addToArchiveCache (const std::string &fileName, osgDB::Archive *archive)
void removeFromArchiveCache (const std::string &fileName)
osgDB::ArchivegetFromArchiveCache (const std::string &fileName)
osg::ref_ptr< osgDB::ArchivegetRefFromArchiveCache (const std::string &fileName)
void clearArchiveCache ()
void releaseGLObjects (osg::State *state=0)
DynamicLibrarygetLibrary (const std::string &fileName)
void setSharedStateManager (SharedStateManager *SharedStateManager)
SharedStateManagergetOrCreateSharedStateManager ()
SharedStateManagergetSharedStateManager ()
void addArchiveExtension (const std::string ext)
void registerProtocol (const std::string &protocol)
bool isProtocolRegistered (const std::string &protocol)
ObjectWrapperManagergetObjectWrapperManager ()
DeprecatedDotOsgWrapperManagergetDeprecatedDotOsgObjectWrapperManager ()
const ArchiveExtensionListgetArchiveExtensions () const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
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

Static Public Member Functions

static Registryinstance (bool erase=false)
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

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 ()
DynamicLibraryList::iterator getLibraryItr (const std::string &fileName)
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: