openscenegraph
|
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.
typedef std::map<std::string, osg::ref_ptr<osgDB::Archive> > osgDB::Registry::ArchiveCache [protected] |
typedef std::vector< std::string> osgDB::Registry::ArchiveExtensionList |
typedef std::vector< osg::ref_ptr<DynamicLibrary> > osgDB::Registry::DynamicLibraryList [protected] |
typedef std::map< std::string, std::string> osgDB::Registry::ExtensionAliasMap [protected] |
typedef class osgDB::FindFileCallback osgDB::Registry::FindFileCallback |
typedef std::vector< osg::ref_ptr<ImageProcessor> > osgDB::Registry::ImageProcessorList |
typedef std::map< std::string, std::string> osgDB::Registry::MimeTypeExtensionMap [protected] |
typedef std::map<std::string, ObjectTimeStampPair > osgDB::Registry::ObjectCache [protected] |
typedef std::pair<osg::ref_ptr<osg::Object>, double > osgDB::Registry::ObjectTimeStampPair [protected] |
typedef std::vector< osg::ref_ptr<ReaderWriter> > osgDB::Registry::ReaderWriterList |
typedef class osgDB::ReadFileCallback osgDB::Registry::ReadFileCallback |
typedef std::set<std::string> osgDB::Registry::RegisteredProtocolsSet [protected] |
typedef class osgDB::WriteFileCallback osgDB::Registry::WriteFileCallback |
virtual osgDB::Registry::~Registry | ( | ) | [protected, virtual] |
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
void osgDB::Registry::_buildKdTreeIfRequired | ( | ReaderWriter::ReadResult & | result, |
const Options * | options | ||
) | [inline] |
void osgDB::Registry::addArchiveExtension | ( | const std::string | ext | ) |
Add an Archive extension.
void osgDB::Registry::addEntryToObjectCache | ( | const std::string & | filename, |
osg::Object * | object, | ||
double | timestamp = 0.0 |
||
) |
Add a filename,object,timestamp triple to the Registry::ObjectCache.
void osgDB::Registry::addFileExtensionAlias | ( | const std::string | mapExt, |
const std::string | toExt | ||
) |
register an .fileextension alias to mapExt toExt, the later should the 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.
void osgDB::Registry::addImageProcessor | ( | ImageProcessor * | ip | ) |
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.
void osgDB::Registry::addReaderWriter | ( | ReaderWriter * | rw | ) |
void osgDB::Registry::addToArchiveCache | ( | const std::string & | fileName, |
osgDB::Archive * | archive | ||
) |
Add archive to archive cache so that future calls reference this archive.
void osgDB::Registry::clearArchiveCache | ( | ) |
Remove all archives from the archive cache.
void osgDB::Registry::clearObjectCache | ( | ) |
Remove all objects in the cache regardless of having external references or expiry times.
void osgDB::Registry::closeAllLibraries | ( | ) |
close all libraries.
bool osgDB::Registry::closeLibrary | ( | const std::string & | fileName | ) |
close the attached library with specified name.
std::string osgDB::Registry::createLibraryNameForExtension | ( | const std::string & | ext | ) |
create the platform specific library name associated with file extension.
std::string osgDB::Registry::createLibraryNameForFile | ( | const std::string & | fileName | ) |
create the platform specific library name associated with file.
std::string osgDB::Registry::createLibraryNameForNodeKit | ( | const std::string & | name | ) |
create the platform specific library name associated with nodekit library name.
void osgDB::Registry::destruct | ( | ) | [protected] |
std::string osgDB::Registry::findDataFile | ( | const std::string & | fileName, |
const Options * | options, | ||
CaseSensitivity | caseSensitivity | ||
) | [inline] |
std::string osgDB::Registry::findDataFileImplementation | ( | const std::string & | fileName, |
const Options * | options, | ||
CaseSensitivity | caseSensitivity | ||
) |
std::string osgDB::Registry::findLibraryFile | ( | const std::string & | fileName, |
const Options * | options, | ||
CaseSensitivity | caseSensitivity | ||
) | [inline] |
std::string osgDB::Registry::findLibraryFileImplementation | ( | const std::string & | fileName, |
const Options * | options, | ||
CaseSensitivity | caseSensitivity | ||
) |
const ArchiveExtensionList& osgDB::Registry::getArchiveExtensions | ( | ) | const [inline] |
AuthenticationMap* osgDB::Registry::getAuthenticationMap | ( | ) | [inline] |
Get the password map to be used by plugins when access files from secure locations.
const AuthenticationMap* osgDB::Registry::getAuthenticationMap | ( | ) | const [inline] |
Get the password map to be used by plugins when access files from secure locations.
Options::BuildKdTreesHint osgDB::Registry::getBuildKdTreesHint | ( | ) | const [inline] |
Get whether the KdTrees should be built for geometry in the loader model.
bool osgDB::Registry::getCreateNodeFromImage | ( | ) | const [inline] |
FilePathList& osgDB::Registry::getDataFilePathList | ( | ) | [inline] |
get the data file path which is used when search for data files.
Referenced by osgDB::getDataFilePathList().
const FilePathList& osgDB::Registry::getDataFilePathList | ( | ) | const [inline] |
get the const data file path which is used when search for data files.
DeprecatedDotOsgWrapperManager* osgDB::Registry::getDeprecatedDotOsgObjectWrapperManager | ( | ) | [inline] |
Get the ObjectWrapperManager that is used to store all the ObjectWrappers.
double osgDB::Registry::getExpiryDelay | ( | ) | const [inline] |
FileCache* osgDB::Registry::getFileCache | ( | ) | [inline] |
Get the FileCache that is used to manage local storage of files downloaded from the internet.
const FileCache* osgDB::Registry::getFileCache | ( | ) | const [inline] |
Get the const FileCache that is used to manage local storage of files downloaded from the internet.
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.
FindFileCallback* osgDB::Registry::getFindFileCallback | ( | ) | [inline] |
Get the findFile callback.
const FindFileCallback* osgDB::Registry::getFindFileCallback | ( | ) | const [inline] |
Get the const findFile callback.
osgDB::Archive* osgDB::Registry::getFromArchiveCache | ( | const std::string & | fileName | ) |
Get an Archive from the archive cache.
osg::Object* osgDB::Registry::getFromObjectCache | ( | const std::string & | fileName | ) |
Get an Object from the object cache
get a image processor if available.
ImageProcessor* osgDB::Registry::getImageProcessorForExtension | ( | const std::string & | ext | ) |
get a image processor which is associated specified extension.
ImageProcessorList& osgDB::Registry::getImageProcessorList | ( | ) | [inline] |
get list of all registered ImageProcessors.
const ImageProcessorList& osgDB::Registry::getImageProcessorList | ( | ) | const [inline] |
get const list of all registered ImageProcessors.
osg::KdTreeBuilder* osgDB::Registry::getKdTreeBuilder | ( | ) | [inline] |
Get the KdTreeBuilder visitor that is used to build KdTree on loaded models.
DynamicLibrary* osgDB::Registry::getLibrary | ( | const std::string & | fileName | ) |
get the attached library with specified name.
FilePathList& osgDB::Registry::getLibraryFilePathList | ( | ) | [inline] |
get the library file path which is used when search for library (dso/dll's) files.
Referenced by osgDB::getLibraryFilePathList().
const FilePathList& osgDB::Registry::getLibraryFilePathList | ( | ) | const [inline] |
get the const library file path which is used when search for library (dso/dll's) files.
DynamicLibraryList::iterator osgDB::Registry::getLibraryItr | ( | const std::string & | fileName | ) | [protected] |
get the attached library with specified name.
ObjectWrapperManager* osgDB::Registry::getObjectWrapperManager | ( | ) | [inline] |
Get the ObjectWrapperManager that is used to store all the ObjectWrappers.
Options* osgDB::Registry::getOptions | ( | ) | [inline] |
const Options* osgDB::Registry::getOptions | ( | ) | const [inline] |
Get the SharedStateManager, creating one if one is not already created.
ReaderWriter* osgDB::Registry::getReaderWriterForExtension | ( | const std::string & | ext | ) |
get a reader writer which handles specified extension.
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.
ReaderWriterList& osgDB::Registry::getReaderWriterList | ( | ) | [inline] |
get list of all registered ReaderWriters.
const ReaderWriterList& osgDB::Registry::getReaderWriterList | ( | ) | const [inline] |
get const list of all registered ReaderWriters.
ReadFileCallback* osgDB::Registry::getReadFileCallback | ( | ) | [inline] |
Get the readFile callback.
const ReadFileCallback* osgDB::Registry::getReadFileCallback | ( | ) | const [inline] |
Get the const readFile callback.
osg::ref_ptr<osgDB::Archive> osgDB::Registry::getRefFromArchiveCache | ( | const std::string & | fileName | ) |
Get an ref_ptr<Archive> from the archive cache.
osg::ref_ptr<osg::Object> osgDB::Registry::getRefFromObjectCache | ( | const std::string & | fileName | ) |
Get an ref_ptr<Object> from the object cache
SharedStateManager* osgDB::Registry::getSharedStateManager | ( | ) | [inline] |
Get the SharedStateManager. Return 0 if no SharedStateManager has been assigned.
WriteFileCallback* osgDB::Registry::getWriteFileCallback | ( | ) | [inline] |
Get the writeFile callback.
const WriteFileCallback* osgDB::Registry::getWriteFileCallback | ( | ) | const [inline] |
Get the const writeFile callback.
initialize the Data FilePath by reading the OSG_FILE_PATH environmental variable.
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.
initialize the Library FilePath by reading the OSG_LIBRARY_PATH and the appropriate system environmental variables
static Registry* osgDB::Registry::instance | ( | bool | erase = false | ) | [static] |
Referenced by osgDB::getDataFilePathList(), osgDB::getLibraryFilePathList(), osgDB::readCommandLine(), osgDB::readHeightFieldFile(), osgDB::readImageFile(), osgDB::readNodeFile(), osgDB::readNodeFiles(), osgDB::readObjectFile(), osgDB::readRefHeightFieldFile(), osgDB::readRefImageFile(), osgDB::readRefNodeFile(), osgDB::readRefObjectFile(), osgDB::readRefShaderFile(), osgDB::readShaderFile(), osgDB::readXmlFile(), osgDB::RegisterImageProcessorProxy< T >::RegisterImageProcessorProxy(), osgDB::RegisterReaderWriterProxy< T >::RegisterReaderWriterProxy(), osgDB::setDataFilePathList(), osgDB::setLibraryFilePathList(), osgDB::writeHeightFieldFile(), osgDB::writeImageFile(), osgDB::writeNodeFile(), osgDB::writeObjectFile(), osgDB::writeShaderFile(), osgDB::RegisterImageProcessorProxy< T >::~RegisterImageProcessorProxy(), and osgDB::RegisterReaderWriterProxy< T >::~RegisterReaderWriterProxy().
bool osgDB::Registry::isProtocolRegistered | ( | const std::string & | protocol | ) |
returns true, if named protocol is registered
LoadStatus osgDB::Registry::loadLibrary | ( | const std::string & | fileName | ) |
find the library in the OSG_LIBRARY_PATH and load it.
ReaderWriter::ReadResult osgDB::Registry::openArchive | ( | const std::string & | fileName, |
ReaderWriter::ArchiveStatus | status, | ||
unsigned int | indexBlockSizeHint, | ||
const Options * | options | ||
) | [inline] |
ReaderWriter::ReadResult osgDB::Registry::openArchiveImplementation | ( | const std::string & | fileName, |
ReaderWriter::ArchiveStatus | status, | ||
unsigned int | indexBlockSizeHint, | ||
const Options * | options | ||
) |
ReaderWriter::ReadResult osgDB::Registry::read | ( | const ReadFunctor & | readFunctor | ) | [protected] |
void osgDB::Registry::readCommandLine | ( | osg::ArgumentParser & | commandLine | ) |
read the command line arguments.
Referenced by osgDB::readCommandLine().
ReaderWriter::ReadResult osgDB::Registry::readHeightField | ( | const std::string & | fileName, |
const Options * | options | ||
) | [inline] |
ReaderWriter::ReadResult osgDB::Registry::readHeightFieldImplementation | ( | const std::string & | fileName, |
const Options * | options | ||
) |
ReaderWriter::ReadResult osgDB::Registry::readImage | ( | const std::string & | fileName, |
const Options * | options | ||
) | [inline] |
ReaderWriter::ReadResult osgDB::Registry::readImageImplementation | ( | const std::string & | fileName, |
const Options * | options | ||
) |
ReaderWriter::ReadResult osgDB::Registry::readImplementation | ( | const ReadFunctor & | readFunctor, |
Options::CacheHintOptions | cacheHint | ||
) | [protected] |
ReaderWriter::ReadResult osgDB::Registry::readNode | ( | const std::string & | fileName, |
const Options * | options, | ||
bool | buildKdTreeIfRequired = true |
||
) | [inline] |
References osgDB::Options::getReadFileCallback(), and osgDB::ReadFileCallback::readNode().
ReaderWriter::ReadResult osgDB::Registry::readNodeImplementation | ( | const std::string & | fileName, |
const Options * | options | ||
) |
ReaderWriter::ReadResult osgDB::Registry::readObject | ( | const std::string & | fileName, |
const Options * | options, | ||
bool | buildKdTreeIfRequired = true |
||
) | [inline] |
ReaderWriter::ReadResult osgDB::Registry::readObjectImplementation | ( | const std::string & | fileName, |
const Options * | options | ||
) |
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.
ReaderWriter::ReadResult osgDB::Registry::readShader | ( | const std::string & | fileName, |
const Options * | options | ||
) | [inline] |
ReaderWriter::ReadResult osgDB::Registry::readShaderImplementation | ( | const std::string & | fileName, |
const Options * | options | ||
) |
void osgDB::Registry::registerProtocol | ( | const std::string & | protocol | ) |
registers a protocol
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.
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).
void osgDB::Registry::removeFromArchiveCache | ( | const std::string & | fileName | ) |
Remove Archive from cache.
void osgDB::Registry::removeImageProcessor | ( | ImageProcessor * | ip | ) |
void osgDB::Registry::removeReaderWriter | ( | ReaderWriter * | rw | ) |
void osgDB::Registry::setAuthenticationMap | ( | AuthenticationMap * | authenticationMap | ) | [inline] |
Set the password map to be used by plugins when access files from secure locations.
void osgDB::Registry::setBuildKdTreesHint | ( | Options::BuildKdTreesHint | hint | ) | [inline] |
Set whether the KdTrees should be built for geometry in the loader model.
void osgDB::Registry::setCreateNodeFromImage | ( | bool | flag | ) | [inline] |
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.
Referenced by osgDB::setDataFilePathList().
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.
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,
void osgDB::Registry::setFileCache | ( | FileCache * | fileCache | ) | [inline] |
Set the FileCache that is used to manage local storage of files downloaded from the internet.
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.
void osgDB::Registry::setFindFileCallback | ( | FindFileCallback * | cb | ) | [inline] |
Set the Registry callback to use in place of the default findFile calls.
void osgDB::Registry::setKdTreeBuilder | ( | osg::KdTreeBuilder * | builder | ) | [inline] |
Set the KdTreeBuilder visitor that is used to build KdTree on loaded models.
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.
Referenced by osgDB::setLibraryFilePathList().
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.
void osgDB::Registry::setOptions | ( | Options * | opt | ) | [inline] |
void osgDB::Registry::setReadFileCallback | ( | ReadFileCallback * | cb | ) | [inline] |
Set the Registry callback to use in place of the default readFile calls.
void osgDB::Registry::setSharedStateManager | ( | SharedStateManager * | SharedStateManager | ) | [inline] |
Set the SharedStateManager.
void osgDB::Registry::setWriteFileCallback | ( | WriteFileCallback * | cb | ) | [inline] |
Set the Registry callback to use in place of the default writeFile calls.
static std::string osgDB::Registry::trim | ( | const std::string & | str | ) | [static, protected] |
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().
ReaderWriter::WriteResult osgDB::Registry::writeHeightField | ( | const osg::HeightField & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) | [inline] |
ReaderWriter::WriteResult osgDB::Registry::writeHeightFieldImplementation | ( | const osg::HeightField & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) |
ReaderWriter::WriteResult osgDB::Registry::writeImage | ( | const osg::Image & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) | [inline] |
ReaderWriter::WriteResult osgDB::Registry::writeImageImplementation | ( | const osg::Image & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) |
ReaderWriter::WriteResult osgDB::Registry::writeNode | ( | const osg::Node & | node, |
const std::string & | fileName, | ||
const Options * | options | ||
) | [inline] |
ReaderWriter::WriteResult osgDB::Registry::writeNodeImplementation | ( | const osg::Node & | node, |
const std::string & | fileName, | ||
const Options * | options | ||
) |
ReaderWriter::WriteResult osgDB::Registry::writeObject | ( | const osg::Object & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) | [inline] |
ReaderWriter::WriteResult osgDB::Registry::writeObjectImplementation | ( | const osg::Object & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) |
ReaderWriter::WriteResult osgDB::Registry::writeShader | ( | const osg::Shader & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) | [inline] |
ReaderWriter::WriteResult osgDB::Registry::writeShaderImplementation | ( | const osg::Shader & | obj, |
const std::string & | fileName, | ||
const Options * | options | ||
) |
friend class AvailableArchiveIterator [friend] |
friend class AvailableReaderWriterIterator [friend] |
friend struct ReadArchiveFunctor [friend] |
friend struct ReadFunctor [friend] |
friend struct ReadHeightFieldFunctor [friend] |
friend struct ReadImageFunctor [friend] |
friend struct ReadNodeFunctor [friend] |
friend struct ReadObjectFunctor [friend] |
friend struct ReadShaderFunctor [friend] |
ArchiveCache osgDB::Registry::_archiveCache [protected] |
ArchiveExtensionList osgDB::Registry::_archiveExtList [protected] |
bool osgDB::Registry::_createNodeFromImage [protected] |
FilePathList osgDB::Registry::_dataFilePath [protected] |
osg::ref_ptr<DeprecatedDotOsgWrapperManager> osgDB::Registry::_deprecatedDotOsgWrapperManager [protected] |
DynamicLibraryList osgDB::Registry::_dlList [protected] |
double osgDB::Registry::_expiryDelay [protected] |
ExtensionAliasMap osgDB::Registry::_extAliasMap [protected] |
osg::ref_ptr<FileCache> osgDB::Registry::_fileCache [protected] |
ImageProcessorList osgDB::Registry::_ipList [protected] |
FilePathList osgDB::Registry::_libraryFilePath [protected] |
MimeTypeExtensionMap osgDB::Registry::_mimeTypeExtMap [protected] |
ObjectCache osgDB::Registry::_objectCache [protected] |
OpenThreads::Mutex osgDB::Registry::_objectCacheMutex [protected] |
bool osgDB::Registry::_openingLibrary [protected] |
osg::ref_ptr<Options> osgDB::Registry::_options [protected] |
ReaderWriterList osgDB::Registry::_rwList [protected] |