OpenSceneGraph/doc/doc++/osgDB/Registry.html
2004-08-13 14:09:48 +00:00

870 lines
53 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class OSGDB_EXPORT osgDB::Registry</TITLE>
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.6">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class OSGDB_EXPORT <A HREF="#DOC.DOCU">osgDB::Registry</A></H2></H2><BLOCKQUOTE> Registry is a singleton factory which stores the reader/writers which are linked in at runtime for reading non-native file formats.</BLOCKQUOTE>
<HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
<param name=classes value="Mosg::Referenced,M,CRegistry,MRegistry.html">
<param name=before value="M,M">
<param name=after value="Md_,M">
<param name=indent value="0,1">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Classes</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>enum <B><A HREF="#DOC.2.55.1">CacheHintOptions</A></B>
<DD><I>bit mask for setting up which object types get cached by readObject/Image/HeightField/Node(filename) calls</I>
<DT>
class <B><A HREF="ReadFileCallback.html">ReadFileCallback</A></B>: public osg::Referenced
<DT>
class <B><A HREF="WriteFileCallback.html">WriteFileCallback</A></B>: public osg::Referenced
</DL></P>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static <!1><A HREF="Registry.html">Registry</A>* <B><A HREF="#DOC.2.55.2">instance</A></B>(bool erase = false)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.3">readCommandLine</A></B>(osg::ArgumentParser&amp; commandLine)
<DD><I>read the command line arguments</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.4">addFileExtensionAlias</A></B>(const std::string mapExt, const std::string toExt)
<DD><I>register an fileextension alias to mapExt toExt, the later should the the extension name of the readerwriter plugin library.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.5">addDotOsgWrapper</A></B>(<!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>* wrapper)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.6">removeDotOsgWrapper</A></B>(<!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>* wrapper)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.7">addReaderWriter</A></B>(<!1><A HREF="ReaderWriter.html">ReaderWriter</A>* rw)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.8">removeReaderWriter</A></B>(<!1><A HREF="ReaderWriter.html">ReaderWriter</A>* rw)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>std::string <B><A HREF="#DOC.2.55.9">createLibraryNameForFile</A></B>(const std::string&amp; fileName)
<DD><I>create the platform specific library name associated with file</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>std::string <B><A HREF="#DOC.2.55.10">createLibraryNameForExtension</A></B>(const std::string&amp; ext)
<DD><I>create the platform specific library name associated with file extension</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>std::string <B><A HREF="#DOC.2.55.11">createLibraryNameForNodeKit</A></B>(const std::string&amp; name)
<DD><I>create the platform specific library name associated with nodekit library name</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.55.12">loadLibrary</A></B>(const std::string&amp; fileName)
<DD><I>find the library in the SG_LIBRARY_PATH and load it</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.55.13">closeLibrary</A></B>(const std::string&amp; fileName)
<DD><I>close the attached library with specified name</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.14">closeAllLibraries</A></B>()
<DD><I>close all libraries</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ReaderWriter.html">ReaderWriter</A>* <B><A HREF="#DOC.2.55.15">getReaderWriterForExtension</A></B>(const std::string&amp; ext)
<DD><I>get a reader writer which handles specified extension</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Object* <B><A HREF="#DOC.2.55.16">readObjectOfType</A></B>(const osg::Object&amp; compObj, <!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Object* <B><A HREF="#DOC.2.55.17">readObjectOfType</A></B>(const <!1><A HREF="basic_type_wrapper.html">basic_type_wrapper</A> &amp;btw, <!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Object* <B><A HREF="#DOC.2.55.18">readObject</A></B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Image* <B><A HREF="#DOC.2.55.19">readImage</A></B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Drawable* <B><A HREF="#DOC.2.55.20">readDrawable</A></B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::StateAttribute* <B><A HREF="#DOC.2.55.21">readStateAttribute</A></B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Node* <B><A HREF="#DOC.2.55.22">readNode</A></B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.55.23">writeObject</A></B>(const osg::Object&amp; obj, <!1><A HREF="Output.html">Output</A>&amp; fw)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.25">setReadFileCallback</A></B>( <!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>* cb)
<DD><I>Set the Registry callback to use in place of the default readFile calls</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>* <B><A HREF="#DOC.2.55.26">getReadFileCallback</A></B>()
<DD><I>Get the readFile callback</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>* <B><A HREF="#DOC.2.55.27">getReadFileCallback</A></B>() const
<DD><I>Get the const readFile callback</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.28">readObject</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.29">readObjectImplementation</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.30">readImage</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.31">readImageImplementation</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.32">readHeightField</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.33">readHeightFieldImplementation</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.34">readNode</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.35">readNodeImplementation</A></B>(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.37">setWriteFileCallback</A></B>( <!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>* cb)
<DD><I>Set the Registry callback to use in place of the default writeFile calls</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>* <B><A HREF="#DOC.2.55.38">getWriteFileCallback</A></B>()
<DD><I>Get the writeFile callback</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>* <B><A HREF="#DOC.2.55.39">getWriteFileCallback</A></B>() const
<DD><I>Get the const writeFile callback</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.40">writeObject</A></B>(const osg::Object&amp; obj, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.41">writeObjectImplementation</A></B>(const osg::Object&amp; obj, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.42">writeImage</A></B>(const osg::Image&amp; obj, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.43">writeImageImplementation</A></B>(const osg::Image&amp; obj, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.44">writeHeightField</A></B>(const osg::HeightField&amp; obj, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.45">writeHeightFieldImplementation</A></B>(const osg::HeightField&amp; obj, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.46">writeNode</A></B>(const osg::Node&amp; node, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::WriteResult <B><A HREF="#DOC.2.55.47">writeNodeImplementation</A></B>(const osg::Node&amp; node, const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.48">setCreateNodeFromImage</A></B>(bool flag)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.55.49">getCreateNodeFromImage</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.50">setOptions</A></B>(ReaderWriter::Options* opt)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::Options* <B><A HREF="#DOC.2.55.51">getOptions</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const ReaderWriter::Options* <B><A HREF="#DOC.2.55.52">getOptions</A></B>() const
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.53">initFilePathLists</A></B>()
<DD><I>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</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.54">initDataFilePathList</A></B>()
<DD><I>initilize the Data FilePath by reading the OSG_FILE_PATH environmental variable</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.55">setDataFilePathList</A></B>(const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; filepath)
<DD><I>Set the data file path using a list of paths stored in a FilePath, which is used when search for data files</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.56">setDataFilePathList</A></B>(const std::string&amp; paths)
<DD><I>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</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="FilePathList.html">FilePathList</A>&amp; <B><A HREF="#DOC.2.55.57">getDataFilePathList</A></B>()
<DD><I>get the data file path which is used when search for data files</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; <B><A HREF="#DOC.2.55.58">getDataFilePathList</A></B>() const
<DD><I>get the const data file path which is used when search for data files</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.59">initLibraryFilePathList</A></B>()
<DD><I>initilize the Library FilePath by reading the OSG_LIBRARY_PATH and the appropriate system environmental variables</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.60">setLibraryFilePathList</A></B>(const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; filepath)
<DD><I>Set the library file path using a list of paths stored in a FilePath, which is used when search for data files</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.61">setLibraryFilePathList</A></B>(const std::string&amp; paths)
<DD><I>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</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="FilePathList.html">FilePathList</A>&amp; <B><A HREF="#DOC.2.55.62">getLibraryFilePathList</A></B>()
<DD><I>get the library file path which is used when search for library (dso/dll's) files</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; <B><A HREF="#DOC.2.55.63">getLibraryFilePathList</A></B>() const
<DD><I>get the const library file path which is used when search for library (dso/dll's) files</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>static void <B><A HREF="#DOC.2.55.64">convertStringPathIntoFilePathList</A></B>(const std::string&amp; paths, <!1><A HREF="FilePathList.html">FilePathList</A>&amp; filepath)
<DD><I>convert a string containing a list of paths deliminated either with ';' (Windows) or ':' (All other platforms) into FilePath represetation</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.65">updateTimeStampOfObjectsInCacheWithExtenalReferences</A></B>(double currentTime)
<DD><I>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.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.66">removeExpiredObjectsInCache</A></B>(double expiryTime)
<DD><I>Removed object in the cache which have a time stamp at or before the specified expiry time.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.67">clearObjectCache</A></B>()
<DD><I>Remove all objects in the cache regardless of having external references or expiry times</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.68">addEntryToObjectCache</A></B>(const std::string&amp; filename, osg::Object* object, double timestamp = 0.0)
<DD><I>Add a filename,object,timestamp tripple to the Registry::ObjectCache</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.69">setUseObjectCacheHint</A></B>(<!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)
<DD><I>Set whether the Registry::ObjectCache should be used by default</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> <B><A HREF="#DOC.2.55.70">getUseObjectCacheHint</A></B>() const
<DD><I>Get whether the Registry::ObjectCache should be used by default</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>* <B><A HREF="#DOC.2.55.71">getLibrary</A></B>(const std::string&amp; fileName)
<DD><I>get the attached library with specified name</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.73">setDatabasePager</A></B>(<!1><A HREF="DatabasePager.html">DatabasePager</A>* databasePager)
<DD><I>Set the DatabasePager</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="DatabasePager.html">DatabasePager</A>* <B><A HREF="#DOC.2.55.74">getOrCreateDatabasePager</A></B>()
<DD><I>Get the DatabasePager, creating one if one is not already created</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="DatabasePager.html">DatabasePager</A>* <B><A HREF="#DOC.2.55.75">getDatabasePager</A></B>()
<DD><I>Get the DatabasePager.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.76">setSharedStateManager</A></B>(<!1><A HREF="SharedStateManager.html">SharedStateManager</A>* <!1><A HREF="SharedStateManager.html">SharedStateManager</A>)
<DD><I>Set the SharedStateManager</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="SharedStateManager.html">SharedStateManager</A>* <B><A HREF="#DOC.2.55.77">getOrCreateSharedStateManager</A></B>()
<DD><I>Get the SharedStateManager, creating one if one is not already created</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="SharedStateManager.html">SharedStateManager</A>* <B><A HREF="#DOC.2.55.78">getSharedStateManager</A></B>()
<DD><I>Get the SharedStateManager.</I>
</DL></P>
<P><DL>
<DT><H3>Public</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt; osg::ref_ptr&lt;<!1><A HREF="ReaderWriter.html">ReaderWriter</A>&gt; &gt; <B><A HREF="#DOC.2.55.72">ReaderWriterList</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.55.87">_createNodeFromImage</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;<!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>&gt; <B><A HREF="#DOC.2.55.94">_readFileCallback</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;<!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>&gt; <B><A HREF="#DOC.2.55.95">_writeFileCallback</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> <B><A HREF="#DOC.2.55.96">_objectWrapperMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> <B><A HREF="#DOC.2.55.97">_imageWrapperMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> <B><A HREF="#DOC.2.55.98">_drawableWrapperMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> <B><A HREF="#DOC.2.55.99">_stateAttrWrapperMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> <B><A HREF="#DOC.2.55.100">_nodeWrapperMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> <B><A HREF="#DOC.2.55.101">_classNameWrapperMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.72">ReaderWriterList</A> <B><A HREF="#DOC.2.55.102">_rwList</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.81">DynamicLibraryList</A> <B><A HREF="#DOC.2.55.103">_dlList</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.55.104">_openingLibrary</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.82">ExtensionAliasMap</A> <B><A HREF="#DOC.2.55.105">_extAliasMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;ReaderWriter::Options&gt; <B><A HREF="#DOC.2.55.106">_options</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="FilePathList.html">FilePathList</A> <B><A HREF="#DOC.2.55.107">_dataFilePath</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="FilePathList.html">FilePathList</A> <B><A HREF="#DOC.2.55.108">_libraryFilePath</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> <B><A HREF="#DOC.2.55.109">_useObjectCacheHint</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Registry.html#DOC.2.55.84">ObjectCache</A> <B><A HREF="#DOC.2.55.110">_objectCache</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;<!1><A HREF="DatabasePager.html">DatabasePager</A>&gt; <B><A HREF="#DOC.2.55.111">_databasePager</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;<!1><A HREF="SharedStateManager.html">SharedStateManager</A>&gt; <B><A HREF="#DOC.2.55.112">_sharedStateManager</A></B>
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.55.79">~Registry</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.55.85">Registry</A></B>()
<DD><I>constructor is private, as its a singleton, preventing construction other than via the instance() method and therefore ensuring only one copy is ever constructed</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>DynamicLibraryList::iterator <B><A HREF="#DOC.2.55.86">getLibraryItr</A></B>(const std::string&amp; fileName)
<DD><I>get the attached library with specified name</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Object* <B><A HREF="#DOC.2.55.88">readObject</A></B>(<!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A>&amp; dowMap, <!1><A HREF="Input.html">Input</A>&amp; fr)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.55.89">eraseWrapper</A></B>(<!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A>&amp; wrappermap, <!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>* wrapper)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.90">readObject</A></B>(const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.91">readImage</A></B>(const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.92">readHeightField</A></B>(const std::string&amp; fileName)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>ReaderWriter::ReadResult <B><A HREF="#DOC.2.55.93">readNode</A></B>(const std::string&amp; fileName)
</DL></P>
<P><DL>
<DT><H3>Protected</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::map&lt; std::string, osg::ref_ptr&lt;<!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>&gt; &gt; <B><A HREF="#DOC.2.55.80">DotOsgWrapperMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::vector&lt; osg::ref_ptr&lt;<!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>&gt; &gt; <B><A HREF="#DOC.2.55.81">DynamicLibraryList</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::map&lt; std::string, std::string&gt; <B><A HREF="#DOC.2.55.82">ExtensionAliasMap</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::pair&lt;osg::ref_ptr&lt;osg::Object&gt;, double &gt; <B><A HREF="#DOC.2.55.83">ObjectTimeStampPair</A></B>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>typedef std::map&lt;std::string, <!1><A HREF="Registry.html#DOC.2.55.83">ObjectTimeStampPair</A> &gt; <B><A HREF="#DOC.2.55.84">ObjectCache</A></B>
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>
Registry is a singleton factory which stores
the reader/writers which are linked in
at runtime for reading non-native file formats.
<P>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.
<P>The RegisterReaderWriterProxy can be used to automatically
register at runtime a reader/writer with the Registry.</BLOCKQUOTE>
<DL>
<A NAME="CacheHintOptions"></A>
<A NAME="DOC.2.55.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum CacheHintOptions</B></TT>
<DD>bit mask for setting up which object types get cached by readObject/Image/HeightField/Node(filename) calls
<DL><DT><DD></DL><P><DL>
<A NAME="CACHE_NONE"></A>
<A NAME="DOC.2.55.1.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CACHE_NONE</B></TT>
<DD>do not cache objects of any type
<DL><DT><DD></DL><P>
<A NAME="CACHE_NODES"></A>
<A NAME="DOC.2.55.1.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CACHE_NODES</B></TT>
<DD>cache nodes loaded via readNode(filename)
<DL><DT><DD></DL><P>
<A NAME="CACHE_IMAGES"></A>
<A NAME="DOC.2.55.1.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CACHE_IMAGES</B></TT>
<DD>cache images loaded via readImage(filename)
<DL><DT><DD></DL><P>
<A NAME="CACHE_HEIGHTFIELDS"></A>
<A NAME="DOC.2.55.1.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CACHE_HEIGHTFIELDS</B></TT>
<DD>cache heightfield loaded via readHeightField(filename)
<DL><DT><DD></DL><P>
<A NAME="CACHE_OBJECTS"></A>
<A NAME="DOC.2.55.1.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CACHE_OBJECTS</B></TT>
<DD>cache objects loaded via readObject(filename)
<DL><DT><DD></DL><P>
<A NAME="CACHE_ALL"></A>
<A NAME="DOC.2.55.1.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CACHE_ALL</B></TT>
<DD>cache on all read*(filename) calls
<DL><DT><DD></DL><P></DL>
<A NAME="instance"></A>
<A NAME="DOC.2.55.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static <!1><A HREF="Registry.html">Registry</A>* instance(bool erase = false)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readCommandLine"></A>
<A NAME="DOC.2.55.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void readCommandLine(osg::ArgumentParser&amp; commandLine)</B></TT>
<DD>read the command line arguments
<DL><DT><DD></DL><P>
<A NAME="addFileExtensionAlias"></A>
<A NAME="DOC.2.55.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addFileExtensionAlias(const std::string mapExt, const std::string toExt)</B></TT>
<DD>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.
<DL><DT><DD></DL><P>
<A NAME="addDotOsgWrapper"></A>
<A NAME="DOC.2.55.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addDotOsgWrapper(<!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>* wrapper)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="removeDotOsgWrapper"></A>
<A NAME="DOC.2.55.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void removeDotOsgWrapper(<!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>* wrapper)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="addReaderWriter"></A>
<A NAME="DOC.2.55.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addReaderWriter(<!1><A HREF="ReaderWriter.html">ReaderWriter</A>* rw)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="removeReaderWriter"></A>
<A NAME="DOC.2.55.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void removeReaderWriter(<!1><A HREF="ReaderWriter.html">ReaderWriter</A>* rw)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="createLibraryNameForFile"></A>
<A NAME="DOC.2.55.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string createLibraryNameForFile(const std::string&amp; fileName)</B></TT>
<DD>create the platform specific library name associated with file
<DL><DT><DD></DL><P>
<A NAME="createLibraryNameForExtension"></A>
<A NAME="DOC.2.55.10"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string createLibraryNameForExtension(const std::string&amp; ext)</B></TT>
<DD>create the platform specific library name associated with file extension
<DL><DT><DD></DL><P>
<A NAME="createLibraryNameForNodeKit"></A>
<A NAME="DOC.2.55.11"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string createLibraryNameForNodeKit(const std::string&amp; name)</B></TT>
<DD>create the platform specific library name associated with nodekit library name
<DL><DT><DD></DL><P>
<A NAME="loadLibrary"></A>
<A NAME="DOC.2.55.12"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool loadLibrary(const std::string&amp; fileName)</B></TT>
<DD>find the library in the SG_LIBRARY_PATH and load it
<DL><DT><DD></DL><P>
<A NAME="closeLibrary"></A>
<A NAME="DOC.2.55.13"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool closeLibrary(const std::string&amp; fileName)</B></TT>
<DD>close the attached library with specified name
<DL><DT><DD></DL><P>
<A NAME="closeAllLibraries"></A>
<A NAME="DOC.2.55.14"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void closeAllLibraries()</B></TT>
<DD>close all libraries
<DL><DT><DD></DL><P>
<A NAME="getReaderWriterForExtension"></A>
<A NAME="DOC.2.55.15"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ReaderWriter.html">ReaderWriter</A>* getReaderWriterForExtension(const std::string&amp; ext)</B></TT>
<DD>get a reader writer which handles specified extension
<DL><DT><DD></DL><P>
<A NAME="readObjectOfType"></A>
<A NAME="DOC.2.55.16"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Object* readObjectOfType(const osg::Object&amp; compObj, <!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readObjectOfType"></A>
<A NAME="DOC.2.55.17"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Object* readObjectOfType(const <!1><A HREF="basic_type_wrapper.html">basic_type_wrapper</A> &amp;btw, <!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readObject"></A>
<A NAME="DOC.2.55.18"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Object* readObject(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readImage"></A>
<A NAME="DOC.2.55.19"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Image* readImage(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readDrawable"></A>
<A NAME="DOC.2.55.20"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Drawable* readDrawable(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readStateAttribute"></A>
<A NAME="DOC.2.55.21"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::StateAttribute* readStateAttribute(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readNode"></A>
<A NAME="DOC.2.55.22"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Node* readNode(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeObject"></A>
<A NAME="DOC.2.55.23"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool writeObject(const osg::Object&amp; obj, <!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setReadFileCallback"></A>
<A NAME="DOC.2.55.25"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setReadFileCallback( <!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>* cb)</B></TT>
<DD>Set the Registry callback to use in place of the default readFile calls
<DL><DT><DD></DL><P>
<A NAME="getReadFileCallback"></A>
<A NAME="DOC.2.55.26"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>* getReadFileCallback()</B></TT>
<DD>Get the readFile callback
<DL><DT><DD></DL><P>
<A NAME="getReadFileCallback"></A>
<A NAME="DOC.2.55.27"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>* getReadFileCallback() const </B></TT>
<DD>Get the const readFile callback
<DL><DT><DD></DL><P>
<A NAME="readObject"></A>
<A NAME="DOC.2.55.28"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readObject(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readObjectImplementation"></A>
<A NAME="DOC.2.55.29"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readObjectImplementation(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readImage"></A>
<A NAME="DOC.2.55.30"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readImage(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readImageImplementation"></A>
<A NAME="DOC.2.55.31"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readImageImplementation(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readHeightField"></A>
<A NAME="DOC.2.55.32"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readHeightField(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readHeightFieldImplementation"></A>
<A NAME="DOC.2.55.33"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readHeightFieldImplementation(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readNode"></A>
<A NAME="DOC.2.55.34"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readNode(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readNodeImplementation"></A>
<A NAME="DOC.2.55.35"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readNodeImplementation(const std::string&amp; fileName, <!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setWriteFileCallback"></A>
<A NAME="DOC.2.55.37"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setWriteFileCallback( <!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>* cb)</B></TT>
<DD>Set the Registry callback to use in place of the default writeFile calls
<DL><DT><DD></DL><P>
<A NAME="getWriteFileCallback"></A>
<A NAME="DOC.2.55.38"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>* getWriteFileCallback()</B></TT>
<DD>Get the writeFile callback
<DL><DT><DD></DL><P>
<A NAME="getWriteFileCallback"></A>
<A NAME="DOC.2.55.39"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>* getWriteFileCallback() const </B></TT>
<DD>Get the const writeFile callback
<DL><DT><DD></DL><P>
<A NAME="writeObject"></A>
<A NAME="DOC.2.55.40"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeObject(const osg::Object&amp; obj, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeObjectImplementation"></A>
<A NAME="DOC.2.55.41"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeObjectImplementation(const osg::Object&amp; obj, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeImage"></A>
<A NAME="DOC.2.55.42"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeImage(const osg::Image&amp; obj, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeImageImplementation"></A>
<A NAME="DOC.2.55.43"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeImageImplementation(const osg::Image&amp; obj, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeHeightField"></A>
<A NAME="DOC.2.55.44"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeHeightField(const osg::HeightField&amp; obj, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeHeightFieldImplementation"></A>
<A NAME="DOC.2.55.45"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeHeightFieldImplementation(const osg::HeightField&amp; obj, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeNode"></A>
<A NAME="DOC.2.55.46"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeNode(const osg::Node&amp; node, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="writeNodeImplementation"></A>
<A NAME="DOC.2.55.47"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::WriteResult writeNodeImplementation(const osg::Node&amp; node, const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setCreateNodeFromImage"></A>
<A NAME="DOC.2.55.48"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCreateNodeFromImage(bool flag)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getCreateNodeFromImage"></A>
<A NAME="DOC.2.55.49"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getCreateNodeFromImage() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="setOptions"></A>
<A NAME="DOC.2.55.50"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setOptions(ReaderWriter::Options* opt)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getOptions"></A>
<A NAME="DOC.2.55.51"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::Options* getOptions()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="getOptions"></A>
<A NAME="DOC.2.55.52"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const ReaderWriter::Options* getOptions() const </B></TT>
<DL><DT><DD></DL><P>
<A NAME="initFilePathLists"></A>
<A NAME="DOC.2.55.53"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void initFilePathLists()</B></TT>
<DD>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
<DL><DT><DD></DL><P>
<A NAME="initDataFilePathList"></A>
<A NAME="DOC.2.55.54"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void initDataFilePathList()</B></TT>
<DD>initilize the Data FilePath by reading the OSG_FILE_PATH environmental variable
<DL><DT><DD></DL><P>
<A NAME="setDataFilePathList"></A>
<A NAME="DOC.2.55.55"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDataFilePathList(const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; filepath)</B></TT>
<DD>Set the data file path using a list of paths stored in a FilePath, which is used when search for data files
<DL><DT><DD></DL><P>
<A NAME="setDataFilePathList"></A>
<A NAME="DOC.2.55.56"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDataFilePathList(const std::string&amp; paths)</B></TT>
<DD>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
<DL><DT><DD></DL><P>
<A NAME="getDataFilePathList"></A>
<A NAME="DOC.2.55.57"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FilePathList.html">FilePathList</A>&amp; getDataFilePathList()</B></TT>
<DD>get the data file path which is used when search for data files
<DL><DT><DD></DL><P>
<A NAME="getDataFilePathList"></A>
<A NAME="DOC.2.55.58"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; getDataFilePathList() const </B></TT>
<DD>get the const data file path which is used when search for data files
<DL><DT><DD></DL><P>
<A NAME="initLibraryFilePathList"></A>
<A NAME="DOC.2.55.59"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void initLibraryFilePathList()</B></TT>
<DD>initilize the Library FilePath by reading the OSG_LIBRARY_PATH
and the appropriate system environmental variables
<DL><DT><DD></DL><P>
<A NAME="setLibraryFilePathList"></A>
<A NAME="DOC.2.55.60"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLibraryFilePathList(const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; filepath)</B></TT>
<DD>Set the library file path using a list of paths stored in a FilePath, which is used when search for data files
<DL><DT><DD></DL><P>
<A NAME="setLibraryFilePathList"></A>
<A NAME="DOC.2.55.61"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLibraryFilePathList(const std::string&amp; paths)</B></TT>
<DD>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
<DL><DT><DD></DL><P>
<A NAME="getLibraryFilePathList"></A>
<A NAME="DOC.2.55.62"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FilePathList.html">FilePathList</A>&amp; getLibraryFilePathList()</B></TT>
<DD>get the library file path which is used when search for library (dso/dll's) files
<DL><DT><DD></DL><P>
<A NAME="getLibraryFilePathList"></A>
<A NAME="DOC.2.55.63"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="FilePathList.html">FilePathList</A>&amp; getLibraryFilePathList() const </B></TT>
<DD>get the const library file path which is used when search for library (dso/dll's) files
<DL><DT><DD></DL><P>
<A NAME="convertStringPathIntoFilePathList"></A>
<A NAME="DOC.2.55.64"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static void convertStringPathIntoFilePathList(const std::string&amp; paths, <!1><A HREF="FilePathList.html">FilePathList</A>&amp; filepath)</B></TT>
<DD>convert a string containing a list of paths deliminated either with ';' (Windows) or ':' (All other platforms) into FilePath represetation
<DL><DT><DD></DL><P>
<A NAME="updateTimeStampOfObjectsInCacheWithExtenalReferences"></A>
<A NAME="DOC.2.55.65"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void updateTimeStampOfObjectsInCacheWithExtenalReferences(double currentTime)</B></TT>
<DD>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.
<DL><DT><DD></DL><P>
<A NAME="removeExpiredObjectsInCache"></A>
<A NAME="DOC.2.55.66"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void removeExpiredObjectsInCache(double expiryTime)</B></TT>
<DD>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.
<DL><DT><DD></DL><P>
<A NAME="clearObjectCache"></A>
<A NAME="DOC.2.55.67"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void clearObjectCache()</B></TT>
<DD>Remove all objects in the cache regardless of having external references or expiry times
<DL><DT><DD></DL><P>
<A NAME="addEntryToObjectCache"></A>
<A NAME="DOC.2.55.68"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addEntryToObjectCache(const std::string&amp; filename, osg::Object* object, double timestamp = 0.0)</B></TT>
<DD>Add a filename,object,timestamp tripple to the Registry::ObjectCache
<DL><DT><DD></DL><P>
<A NAME="setUseObjectCacheHint"></A>
<A NAME="DOC.2.55.69"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setUseObjectCacheHint(<!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> useObjectCache)</B></TT>
<DD>Set whether the Registry::ObjectCache should be used by default
<DL><DT><DD></DL><P>
<A NAME="getUseObjectCacheHint"></A>
<A NAME="DOC.2.55.70"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> getUseObjectCacheHint() const </B></TT>
<DD>Get whether the Registry::ObjectCache should be used by default
<DL><DT><DD></DL><P>
<A NAME="getLibrary"></A>
<A NAME="DOC.2.55.71"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>* getLibrary(const std::string&amp; fileName)</B></TT>
<DD>get the attached library with specified name
<DL><DT><DD></DL><P>
<A NAME="ReaderWriterList"></A>
<A NAME="DOC.2.55.72"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector&lt; osg::ref_ptr&lt;<!1><A HREF="ReaderWriter.html">ReaderWriter</A>&gt; &gt; ReaderWriterList</B></TT>
<DL><DT><DD></DL><P>
<A NAME="setDatabasePager"></A>
<A NAME="DOC.2.55.73"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDatabasePager(<!1><A HREF="DatabasePager.html">DatabasePager</A>* databasePager)</B></TT>
<DD>Set the DatabasePager
<DL><DT><DD></DL><P>
<A NAME="getOrCreateDatabasePager"></A>
<A NAME="DOC.2.55.74"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="DatabasePager.html">DatabasePager</A>* getOrCreateDatabasePager()</B></TT>
<DD>Get the DatabasePager, creating one if one is not already created
<DL><DT><DD></DL><P>
<A NAME="getDatabasePager"></A>
<A NAME="DOC.2.55.75"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="DatabasePager.html">DatabasePager</A>* getDatabasePager()</B></TT>
<DD>Get the DatabasePager. Return 0 if no DatabasePager has been assigned.
<DL><DT><DD></DL><P>
<A NAME="setSharedStateManager"></A>
<A NAME="DOC.2.55.76"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSharedStateManager(<!1><A HREF="SharedStateManager.html">SharedStateManager</A>* <!1><A HREF="SharedStateManager.html">SharedStateManager</A>)</B></TT>
<DD>Set the SharedStateManager
<DL><DT><DD></DL><P>
<A NAME="getOrCreateSharedStateManager"></A>
<A NAME="DOC.2.55.77"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="SharedStateManager.html">SharedStateManager</A>* getOrCreateSharedStateManager()</B></TT>
<DD>Get the SharedStateManager, creating one if one is not already created
<DL><DT><DD></DL><P>
<A NAME="getSharedStateManager"></A>
<A NAME="DOC.2.55.78"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="SharedStateManager.html">SharedStateManager</A>* getSharedStateManager()</B></TT>
<DD>Get the SharedStateManager. Return 0 if no SharedStateManager has been assigned.
<DL><DT><DD></DL><P>
<A NAME="~Registry"></A>
<A NAME="DOC.2.55.79"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~Registry()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="DotOsgWrapperMap"></A>
<A NAME="DOC.2.55.80"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::map&lt; std::string, osg::ref_ptr&lt;<!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>&gt; &gt; DotOsgWrapperMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="DynamicLibraryList"></A>
<A NAME="DOC.2.55.81"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::vector&lt; osg::ref_ptr&lt;<!1><A HREF="DynamicLibrary.html">DynamicLibrary</A>&gt; &gt; DynamicLibraryList</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ExtensionAliasMap"></A>
<A NAME="DOC.2.55.82"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::map&lt; std::string, std::string&gt; ExtensionAliasMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ObjectTimeStampPair"></A>
<A NAME="DOC.2.55.83"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::pair&lt;osg::ref_ptr&lt;osg::Object&gt;, double &gt; ObjectTimeStampPair</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ObjectCache"></A>
<A NAME="DOC.2.55.84"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef std::map&lt;std::string, <!1><A HREF="Registry.html#DOC.2.55.83">ObjectTimeStampPair</A> &gt; ObjectCache</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Registry"></A>
<A NAME="DOC.2.55.85"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Registry()</B></TT>
<DD>constructor is private, as its a singleton, preventing
construction other than via the instance() method and
therefore ensuring only one copy is ever constructed
<DL><DT><DD></DL><P>
<A NAME="getLibraryItr"></A>
<A NAME="DOC.2.55.86"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>DynamicLibraryList::iterator getLibraryItr(const std::string&amp; fileName)</B></TT>
<DD>get the attached library with specified name
<DL><DT><DD></DL><P>
<A NAME="_createNodeFromImage"></A>
<A NAME="DOC.2.55.87"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _createNodeFromImage</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readObject"></A>
<A NAME="DOC.2.55.88"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Object* readObject(<!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A>&amp; dowMap, <!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="eraseWrapper"></A>
<A NAME="DOC.2.55.89"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void eraseWrapper(<!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A>&amp; wrappermap, <!1><A HREF="DotOsgWrapper.html">DotOsgWrapper</A>* wrapper)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readObject"></A>
<A NAME="DOC.2.55.90"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readObject(const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readImage"></A>
<A NAME="DOC.2.55.91"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readImage(const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readHeightField"></A>
<A NAME="DOC.2.55.92"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readHeightField(const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="readNode"></A>
<A NAME="DOC.2.55.93"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ReaderWriter::ReadResult readNode(const std::string&amp; fileName)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_readFileCallback"></A>
<A NAME="DOC.2.55.94"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;<!1><A HREF="ReadFileCallback.html">ReadFileCallback</A>&gt; _readFileCallback</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_writeFileCallback"></A>
<A NAME="DOC.2.55.95"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;<!1><A HREF="WriteFileCallback.html">WriteFileCallback</A>&gt; _writeFileCallback</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_objectWrapperMap"></A>
<A NAME="DOC.2.55.96"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> _objectWrapperMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_imageWrapperMap"></A>
<A NAME="DOC.2.55.97"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> _imageWrapperMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_drawableWrapperMap"></A>
<A NAME="DOC.2.55.98"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> _drawableWrapperMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_stateAttrWrapperMap"></A>
<A NAME="DOC.2.55.99"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> _stateAttrWrapperMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_nodeWrapperMap"></A>
<A NAME="DOC.2.55.100"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> _nodeWrapperMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_classNameWrapperMap"></A>
<A NAME="DOC.2.55.101"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.80">DotOsgWrapperMap</A> _classNameWrapperMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_rwList"></A>
<A NAME="DOC.2.55.102"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.72">ReaderWriterList</A> _rwList</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_dlList"></A>
<A NAME="DOC.2.55.103"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.81">DynamicLibraryList</A> _dlList</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_openingLibrary"></A>
<A NAME="DOC.2.55.104"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _openingLibrary</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_extAliasMap"></A>
<A NAME="DOC.2.55.105"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.82">ExtensionAliasMap</A> _extAliasMap</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_options"></A>
<A NAME="DOC.2.55.106"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;ReaderWriter::Options&gt; _options</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_dataFilePath"></A>
<A NAME="DOC.2.55.107"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FilePathList.html">FilePathList</A> _dataFilePath</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_libraryFilePath"></A>
<A NAME="DOC.2.55.108"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FilePathList.html">FilePathList</A> _libraryFilePath</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_useObjectCacheHint"></A>
<A NAME="DOC.2.55.109"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.1">CacheHintOptions</A> _useObjectCacheHint</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_objectCache"></A>
<A NAME="DOC.2.55.110"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Registry.html#DOC.2.55.84">ObjectCache</A> _objectCache</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_databasePager"></A>
<A NAME="DOC.2.55.111"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;<!1><A HREF="DatabasePager.html">DatabasePager</A>&gt; _databasePager</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_sharedStateManager"></A>
<A NAME="DOC.2.55.112"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;<!1><A HREF="SharedStateManager.html">SharedStateManager</A>&gt; _sharedStateManager</B></TT>
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
</BODY>
</HTML>