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

Inheritance diagram for osgDB::Registry:

[legend]
List of all members.

## 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 the the extension name of the readerwriter plugin library.
void | addDotOsgWrapper (DotOsgWrapper *wrapper)
void | removeDotOsgWrapper (DotOsgWrapper *wrapper)
void | addReaderWriter (ReaderWriter *rw)
void | removeReaderWriter (ReaderWriter *rw)
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.
bool | loadLibrary (const std::string &fileName)
| find the library in the SG_LIBRARY_PATH and load it.
bool | closeLibrary (const std::string &fileName)
| close the attached library with specified name.
void | closeAllLibraries ()
| close all libraries.
ReaderWriter * | getReaderWriterForExtension (const std::string &ext)
| get a reader writer which handles specified extension.
osg::Object * | readObjectOfType (const osg::Object &compObj, Input &fr)
osg::Object * | readObjectOfType (const basic_type_wrapper &btw, Input &fr)
osg::Object * | readObject (Input &fr)
osg::Image * | readImage (Input &fr)
osg::Drawable * | readDrawable (Input &fr)
osg::StateAttribute * | readStateAttribute (Input &fr)
osg::Node * | readNode (Input &fr)
bool | writeObject (const osg::Object &obj, Output &fw)
void | setReadFileCallback (ReadFileCallback *cb)
| Set the Registry callback to use in place of the default readFile calls.
ReadFileCallback * | getReadFileCallback ()
| Get the readFile callback.
const ReadFileCallback * | getReadFileCallback () const
| Get the const readFile callback.
ReaderWriter::ReadResult | openArchive (const std::string &fileName, ReaderWriter::ArchiveStatus status, unsigned int indexBlockSizeHint, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | openArchiveImplementation (const std::string &fileName, ReaderWriter::ArchiveStatus status, unsigned int indexBlockSizeHint, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readObject (const std::string &fileName, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readObjectImplementation (const std::string &fileName, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readImage (const std::string &fileName, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readImageImplementation (const std::string &fileName, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readHeightField (const std::string &fileName, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readHeightFieldImplementation (const std::string &fileName, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readNode (const std::string &fileName, const ReaderWriter::Options *options)
ReaderWriter::ReadResult | readNodeImplementation (const std::string &fileName, const ReaderWriter::Options *options)
void | setWriteFileCallback (WriteFileCallback *cb)
| Set the Registry callback to use in place of the default writeFile calls.
WriteFileCallback * | getWriteFileCallback ()
| Get the writeFile callback.
const WriteFileCallback * | getWriteFileCallback () const
| Get the const writeFile callback.
ReaderWriter::WriteResult | writeObject (const osg::Object &obj, const std::string &fileName)
ReaderWriter::WriteResult | writeObjectImplementation (const osg::Object &obj, const std::string &fileName)
ReaderWriter::WriteResult | writeImage (const osg::Image &obj, const std::string &fileName)
ReaderWriter::WriteResult | writeImageImplementation (const osg::Image &obj, const std::string &fileName)
ReaderWriter::WriteResult | writeHeightField (const osg::HeightField &obj, const std::string &fileName)
ReaderWriter::WriteResult | writeHeightFieldImplementation (const osg::HeightField &obj, const std::string &fileName)
ReaderWriter::WriteResult | writeNode (const osg::Node &node, const std::string &fileName)
ReaderWriter::WriteResult | writeNodeImplementation (const osg::Node &node, const std::string &fileName)
void | setCreateNodeFromImage (bool flag)
bool | getCreateNodeFromImage () const
void | setOptions (ReaderWriter::Options *opt)
ReaderWriter::Options * | getOptions ()
const ReaderWriter::Options * | getOptions () const
void | initFilePathLists ()
| initilize 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 ()
| initilize 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 deliminated either with ';' (Windows) or ':' (All other platforms), which is used when search for data files.
FilePathList & | getDataFilePathList ()
| get the data file path which is used when search for data files.
const FilePathList & | getDataFilePathList () const
| get the const data file path which is used when search for data files.
void | initLibraryFilePathList ()
| initilize 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 deliminated either with ';' (Windows) or ':' (All other platforms), which is used when search for data files.
FilePathList & | getLibraryFilePathList ()
| get the library file path which is used when search for library (dso/dll's) files.
const FilePathList & | getLibraryFilePathList () const
| get the const library file path which is used when search for library (dso/dll's) files.
void | updateTimeStampOfObjectsInCacheWithExtenalReferences (double currentTime)
| 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 (double expiryTime)
| 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)
| Add a filename,object,timestamp tripple to the Registry::ObjectCache.
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::Archive * | getFromArchiveCache (const std::string &fileName)
| Get an archive from the archive cache.
void | clearArchiveCache ()
| Remove all archives from the archive cache.
DynamicLibrary * | getLibrary (const std::string &fileName)
| get the attached library with specified name.
void | setDatabasePager (DatabasePager *databasePager)
| Set the DatabasePager.
DatabasePager * | getOrCreateDatabasePager ()
| Get the DatabasePager, creating one if one is not already created.
DatabasePager * | getDatabasePager ()
| Get the DatabasePager.
void | setSharedStateManager (SharedStateManager *SharedStateManager)
| Set the SharedStateManager.
SharedStateManager * | getOrCreateSharedStateManager ()
| Get the SharedStateManager, creating one if one is not already created.
SharedStateManager * | getSharedStateManager ()
| Get the SharedStateManager.

## Static Public Member Functions

static Registry * | instance (bool erase=false)

## Protected Types

typedef std::vector< osg::ref_ptr< ReaderWriter > > | ReaderWriterList
typedef std::map< std::string, osg::ref_ptr< DotOsgWrapper > > | DotOsgWrapperMap
typedef std::vector< osg::ref_ptr< DynamicLibrary > > | DynamicLibraryList
typedef std::map< std::string, std::string > | ExtensionAliasMap
typedef std::pair< osg::ref_ptr< osg::Object >, double > | ObjectTimeStampPair
typedef std::map< std::string, ObjectTimeStampPair > | ObjectCache
typedef std::map< std::string, osg::ref_ptr< osgDB::Archive > > | ArchiveCache

## 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.
osg::Object * | readObject (DotOsgWrapperMap &dowMap, Input &fr)
void | eraseWrapper (DotOsgWrapperMap &wrappermap, DotOsgWrapper *wrapper)
ReaderWriter::ReadResult | read (const ReadFunctor &readFunctor)
ReaderWriter::ReadResult | readImplementation (const ReadFunctor &readFunctor, bool useObjectCache)

## Protected Attributes

bool | _createNodeFromImage
struct struct struct struct friend struct | ReadFunctor
class | AvailableReaderWriterIterator
osg::ref_ptr< ReadFileCallback > | _readFileCallback
osg::ref_ptr< WriteFileCallback > | _writeFileCallback
DotOsgWrapperMap | _objectWrapperMap
DotOsgWrapperMap | _imageWrapperMap
DotOsgWrapperMap | _drawableWrapperMap
DotOsgWrapperMap | _stateAttrWrapperMap
DotOsgWrapperMap | _nodeWrapperMap
DotOsgWrapperMap | _classNameWrapperMap
ReaderWriterList | _rwList
DynamicLibraryList | _dlList
bool | _openingLibrary
ExtensionAliasMap | _extAliasMap
osg::ref_ptr< ReaderWriter::Options > | _options
FilePathList | _dataFilePath
FilePathList | _libraryFilePath
ObjectCache | _objectCache
OpenThreads::Mutex | _objectCacheMutex
ArchiveCache | _archiveCache
OpenThreads::Mutex | _archiveCacheMutex
osg::ref_ptr< DatabasePager > | _databasePager
osg::ref_ptr< SharedStateManager > | _sharedStateManager

## Friends

struct | ReadObjectFunctor
struct | ReadImageFunctor
struct | ReadHeightFieldFunctor
struct | ReadNodeFunctor
struct | ReadArchiveFunctor

## Classes

class | ReadFileCallback
struct | ReadFunctor
| Functor used in internal implementations. More...
class | WriteFileCallback

## 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 RegisterDotOsgWrapperProxy can be used to automatically register DotOsgWrappers, at runtime with the Registry. A DotOsgWrapper encapsulates the functions that can read and write to the .osg for each osg::Object.

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

## Member Typedef Documentation

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

typedef std::map< std::string, osg::ref_ptr<DotOsgWrapper> > osgDB::Registry::DotOsgWrapperMap `[protected]`

typedef std::vector< osg::ref_ptr<DynamicLibrary> > osgDB::Registry::DynamicLibraryList `[protected]`

typedef std::map< std::string, std::string> osgDB::Registry::ExtensionAliasMap `[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 `[protected]`

## Constructor & Destructor Documentation

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

## Member Function Documentation

void osgDB::Registry::addDotOsgWrapper | ( | DotOsgWrapper * | wrapper | ) |

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

| Add a filename,object,timestamp tripple 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::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::eraseWrapper | ( | DotOsgWrapperMap & | wrappermap,
|  | DotOsgWrapper * | wrapper
| ) | `[protected]`

bool osgDB::Registry::getCreateNodeFromImage | ( |  | ) | const`[inline]`

DatabasePager* osgDB::Registry::getDatabasePager | ( |  | ) | `[inline]`

| Get the DatabasePager. Return 0 if no DatabasePager has been assigned.

const FilePathList& osgDB::Registry::getDataFilePathList | ( |  | ) | const`[inline]`

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

FilePathList& osgDB::Registry::getDataFilePathList | ( |  | ) | `[inline]`

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

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

| Get an archive from the archive cache.

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

| get the attached library with specified name.

const FilePathList& osgDB::Registry::getLibraryFilePathList | ( |  | ) | const`[inline]`

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

FilePathList& osgDB::Registry::getLibraryFilePathList | ( |  | ) | `[inline]`

| get the 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.

const ReaderWriter::Options* osgDB::Registry::getOptions | ( |  | ) | const`[inline]`

ReaderWriter::Options* osgDB::Registry::getOptions | ( |  | ) | `[inline]`

DatabasePager* osgDB::Registry::getOrCreateDatabasePager | ( |  | ) |

| Get the DatabasePager, creating one if one is not already created.

SharedStateManager* osgDB::Registry::getOrCreateSharedStateManager | ( |  | ) |

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

const ReadFileCallback* osgDB::Registry::getReadFileCallback | ( |  | ) | const`[inline]`

| Get the const readFile callback.

ReadFileCallback* osgDB::Registry::getReadFileCallback | ( |  | ) | `[inline]`

| Get the readFile callback.

SharedStateManager* osgDB::Registry::getSharedStateManager | ( |  | ) | `[inline]`

| Get the SharedStateManager. Return 0 if no SharedStateManager has been assigned.

const WriteFileCallback* osgDB::Registry::getWriteFileCallback | ( |  | ) | const`[inline]`

| Get the const writeFile callback.

WriteFileCallback* osgDB::Registry::getWriteFileCallback | ( |  | ) | `[inline]`

| Get the writeFile callback.

void osgDB::Registry::initDataFilePathList | ( |  | ) |

| initilize the Data FilePath by reading the OSG_FILE_PATH environmental variable.

void osgDB::Registry::initFilePathLists | ( |  | ) | `[inline]`

| initilize 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 osgDB::Registry::initLibraryFilePathList | ( |  | ) |

| initilize the Library FilePath by reading the OSG_LIBRARY_PATH and the appropriate system environmental variables

static Registry* osgDB::Registry::instance | ( | bool | erase = `false` | ) | `[static]`

bool osgDB::Registry::loadLibrary | ( | const std::string & | fileName | ) |

| find the library in the SG_LIBRARY_PATH and load it.

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

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

ReaderWriter::ReadResult osgDB::Registry::read | ( | const ReadFunctor & | readFunctor | ) | `[protected]`

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

| read the command line arguments.

osg::Drawable* osgDB::Registry::readDrawable | ( | Input & | fr | ) |

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

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

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

osg::Image* osgDB::Registry::readImage | ( | Input & | fr | ) |

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

ReaderWriter::ReadResult osgDB::Registry::readImplementation | ( | const ReadFunctor & | readFunctor,
|  | bool | useObjectCache
| ) | `[protected]`

ReaderWriter::ReadResult osgDB::Registry::readNode | ( | const std::string & | fileName,
|  | const ReaderWriter::Options * | options
| ) | `[inline]`

osg::Node* osgDB::Registry::readNode | ( | Input & | fr | ) |

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

osg::Object* osgDB::Registry::readObject | ( | DotOsgWrapperMap & | dowMap,
|  | Input & | fr
| ) | `[protected]`

ReaderWriter::ReadResult osgDB::Registry::readObject | ( | const std::string & | fileName,
|  | const ReaderWriter::Options * | options
| ) | `[inline]`

osg::Object* osgDB::Registry::readObject | ( | Input & | fr | ) |

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

osg::Object* osgDB::Registry::readObjectOfType | ( | const basic_type_wrapper & | btw,
|  | Input & | fr
| ) |

osg::Object* osgDB::Registry::readObjectOfType | ( | const osg::Object & | compObj,
|  | Input & | fr
| ) |

osg::StateAttribute* osgDB::Registry::readStateAttribute | ( | Input & | fr | ) |

void osgDB::Registry::removeDotOsgWrapper | ( | DotOsgWrapper * | wrapper | ) |

void osgDB::Registry::removeExpiredObjectsInCache | ( | double | expiryTime | ) |

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 updateTimeStampOfObjectsInCacheWithExtenalReferences(currentTime). Note, the currentTime is not the expiryTime, one would typically set the expiry time to a fixed amount of time before currentTime, such as expiryTime = currentTime-10.0. Time value is time in sceonds.

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

| Remove archive from cache.

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

void osgDB::Registry::setCreateNodeFromImage | ( | bool | flag | ) | `[inline]`

void osgDB::Registry::setDatabasePager | ( | DatabasePager * | databasePager | ) | `[inline]`

| Set the DatabasePager.

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

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

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.

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

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

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.

void osgDB::Registry::setOptions | ( | ReaderWriter::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.

void osgDB::Registry::updateTimeStampOfObjectsInCacheWithExtenalReferences | ( | double | currentTime | ) |

| 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. Time value is time in sceonds.

ReaderWriter::WriteResult osgDB::Registry::writeHeightField | ( | const osg::HeightField & | obj,
|  | const std::string & | fileName
| ) | `[inline]`

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

ReaderWriter::WriteResult osgDB::Registry::writeImage | ( | const osg::Image & | obj,
|  | const std::string & | fileName
| ) | `[inline]`

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

ReaderWriter::WriteResult osgDB::Registry::writeNode | ( | const osg::Node & | node,
|  | const std::string & | fileName
| ) | `[inline]`

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

ReaderWriter::WriteResult osgDB::Registry::writeObject | ( | const osg::Object & | obj,
|  | const std::string & | fileName
| ) | `[inline]`

bool osgDB::Registry::writeObject | ( | const osg::Object & | obj,
|  | Output & | fw
| ) |

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

## Friends And Related Function Documentation

friend struct ReadArchiveFunctor`[friend]`

friend struct ReadHeightFieldFunctor`[friend]`

friend struct ReadImageFunctor`[friend]`

friend struct ReadNodeFunctor`[friend]`

friend struct ReadObjectFunctor`[friend]`

## Member Data Documentation

ArchiveCache osgDB::Registry::_archiveCache `[protected]`

OpenThreads::Mutex osgDB::Registry::_archiveCacheMutex `[protected]`

DotOsgWrapperMap osgDB::Registry::_classNameWrapperMap `[protected]`

bool osgDB::Registry::_createNodeFromImage `[protected]`

osg::ref_ptr<DatabasePager> osgDB::Registry::_databasePager `[protected]`

FilePathList osgDB::Registry::_dataFilePath `[protected]`

DynamicLibraryList osgDB::Registry::_dlList `[protected]`

DotOsgWrapperMap osgDB::Registry::_drawableWrapperMap `[protected]`

ExtensionAliasMap osgDB::Registry::_extAliasMap `[protected]`

DotOsgWrapperMap osgDB::Registry::_imageWrapperMap `[protected]`

FilePathList osgDB::Registry::_libraryFilePath `[protected]`

DotOsgWrapperMap osgDB::Registry::_nodeWrapperMap `[protected]`

ObjectCache osgDB::Registry::_objectCache `[protected]`

OpenThreads::Mutex osgDB::Registry::_objectCacheMutex `[protected]`

DotOsgWrapperMap osgDB::Registry::_objectWrapperMap `[protected]`

bool osgDB::Registry::_openingLibrary `[protected]`

osg::ref_ptr<ReaderWriter::Options> osgDB::Registry::_options `[protected]`

osg::ref_ptr<ReadFileCallback> osgDB::Registry::_readFileCallback `[protected]`

ReaderWriterList osgDB::Registry::_rwList `[protected]`

osg::ref_ptr<SharedStateManager> osgDB::Registry::_sharedStateManager `[protected]`

DotOsgWrapperMap osgDB::Registry::_stateAttrWrapperMap `[protected]`

osg::ref_ptr<WriteFileCallback> osgDB::Registry::_writeFileCallback `[protected]`

class friend class osgDB::Registry::AvailableReaderWriterIterator `[protected]`

struct struct struct struct struct friend struct osgDB::Registry::ReadFunctor `[protected]`

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

- osgDB/Registry