Index: /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/osg.spec
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/osg.spec (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/osg.spec (revision 2)
@@ -0,0 +1,32 @@
+
+Summary: Open Scene Graph
+Name: OpenSceneGraph
+Version: 0.8
+Release: 2
+Copyright: GLPL
+Group: Graphics
+Source: osg-0.8-2.tar.gz
+URL: http://www.openscenegraph.org 
+Packager: Robert Osfield
+
+%description
+
+Open Scene Graph is an open-source scene graph API.
+
+%prep
+%setup
+%build
+%install
+
+
+
+
+
+# ---------------------
+# FILES Sections
+%files
+
+%attr(755, root, root) /usr/bin/*
+%attr(755, root, root) /usr/lib/*
+%attr(444, root, root) /usr/include/osg/*
+
Index: /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/makespec
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/makespec (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/makespec (revision 2)
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+list_install_files()
+{
+    for d in \
+    	${OSGHOME}/bin\
+    	${OSGHOME}/lib\
+    	${OSGHOME}/include
+    do
+        dd=`basename $d`
+    	for f in `ls -1 $d`
+    	do
+	    echo  cp -rf \
+		/usr/src/redhat/BUILD/OpenSceneGraph-"$OSGVERSION"/$dd/$f /usr/$dd/$f
+    	done
+    done
+}
+
+list_attr_files()
+{
+    for d in \
+    	${OSGHOME}/bin\
+    	${OSGHOME}/lib
+    do
+        dd=`basename $d`
+    	for f in $d/*
+    	do
+            ff=`basename $f`
+            echo  "%attr(755, root, root) /usr/$dd/$ff"
+    	done
+    done
+
+    for f in ${OSGHOME}/include/osg/*
+    do
+        ff=`basename $f`
+        echo  "%attr(444, root, root) /usr/include/osg/$ff"
+    done
+}
+
+[ -z "$OSGHOME" ] && (echo Please define OSGHOME; exit 1)
+[ -z "$OSGVERSION" ] && (echo Please define OSGVERSION; exit 1)
+[ -z "$OSGRELEASE" ] && (echo Please define OSGRELEASE; exit 1)
+
+
+
+
+cat <<-LEOF > osg.spec
+
+Summary: Open Scene Graph
+Name: OpenSceneGraph
+Version: $OSGVERSION
+Release: $OSGRELEASE
+Copyright: GLPL
+Group: Graphics
+Source: osg-$OSGVERSION-$OSGRELEASE.tar.gz
+URL: http://www.openscenegraph.org 
+Packager: `awk -f - /etc/passwd <<-EOF
+BEGIN { FS=":"}
+{
+    if( \\$1 == "$LOGNAME" )
+    print \\$5
+}
+EOF`
+
+%description
+
+Open Scene Graph is an open-source scene graph API.
+
+%prep
+%setup
+%build
+%install
+
+`list_install_files`
+
+
+
+# ---------------------
+# FILES Sections
+%files
+
+`list_attr_files`
+
+LEOF
Index: /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/Makefile
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/Makefile (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/dist/RedHatRPM/Makefile (revision 2)
@@ -0,0 +1,29 @@
+SHELL = /bin/sh
+
+BINDIRS = \
+	OpenSceneGraph-${OSGVERSION}/bin/\
+	OpenSceneGraph-${OSGVERSION}/include/\
+	OpenSceneGraph-${OSGVERSION}/lib/\
+
+all :: rpm
+
+
+rpm : osg.spec tardist 
+	rpm -bb --clean osg.spec
+
+
+osg.spec : makespec
+	makespec 
+
+tardist : 
+	@[ -n "${OSGHOME}" ] || (echo Please define OSGHOME; exit 3)
+	@[ -n "${OSGVERSION}" ] || (echo Please define OSGVERSION; exit 4)
+	@[ -n "${OSGRELEASE}" ] || (echo Please define OSGRELEASE; exit 5)
+	@[ "`whoami`" = "root" ] || (echo Must be ROOT; exit 6)
+	(cd ${OSGHOME}/..; \
+		tar cf -  ${BINDIRS} | gzip > \
+		/usr/src/redhat/SOURCES/osg-${OSGVERSION}-${OSGRELEASE}.tar.gz)
+
+
+clean : 
+	rm -f osg.spec
Index: /OpenSceneGraph/tags/osg_8_34/dist/Irix/osg.spec
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/dist/Irix/osg.spec (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/dist/Irix/osg.spec (revision 2)
@@ -0,0 +1,13 @@
+product osg
+    id "OpenSceneGraph"
+    image sw
+        id "Software"
+        version 1
+        order 9999
+        subsys base default
+            id "Base Software"
+            replaces self
+            exp osg.sw.base
+        endsubsys
+    endimage
+endproduct
Index: /OpenSceneGraph/tags/osg_8_34/dist/Irix/osg.idb
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/dist/Irix/osg.idb (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/dist/Irix/osg.idb (revision 2)
@@ -0,0 +1,80 @@
+f 0755 root sys usr/bin/sgv bin/sgv osg.sw.base
+d 0755 root sys usr/include/osg include/osg osg.sw.base
+f 0666 root sys usr/include/osg/AlphaFunc include/osg/AlphaFunc osg.sw.base
+f 0666 root sys usr/include/osg/Billboard include/osg/Billboard osg.sw.base
+f 0666 root sys usr/include/osg/BoundingBox include/osg/BoundingBox osg.sw.base
+f 0666 root sys usr/include/osg/BoundingSphere include/osg/BoundingSphere osg.sw.base
+f 0666 root sys usr/include/osg/Camera include/osg/Camera osg.sw.base
+f 0666 root sys usr/include/osg/CullFace include/osg/CullFace osg.sw.base
+f 0666 root sys usr/include/osg/DCS include/osg/DCS osg.sw.base
+f 0666 root sys usr/include/osg/DynamicLibrary include/osg/DynamicLibrary osg.sw.base
+f 0666 root sys usr/include/osg/Export include/osg/Export osg.sw.base
+f 0666 root sys usr/include/osg/ExtensionSupported include/osg/ExtensionSupported osg.sw.base
+f 0666 root sys usr/include/osg/Field include/osg/Field osg.sw.base
+f 0666 root sys usr/include/osg/FieldReader include/osg/FieldReader osg.sw.base
+f 0666 root sys usr/include/osg/FieldReaderIterator include/osg/FieldReaderIterator osg.sw.base
+f 0666 root sys usr/include/osg/FileNameUtils include/osg/FileNameUtils osg.sw.base
+f 0666 root sys usr/include/osg/Fog include/osg/Fog osg.sw.base
+f 0666 root sys usr/include/osg/GL include/osg/GL osg.sw.base
+f 0666 root sys usr/include/osg/GeoSet include/osg/GeoSet osg.sw.base
+f 0666 root sys usr/include/osg/GeoState include/osg/GeoState osg.sw.base
+f 0666 root sys usr/include/osg/Geode include/osg/Geode osg.sw.base
+f 0666 root sys usr/include/osg/Group include/osg/Group osg.sw.base
+f 0666 root sys usr/include/osg/Image include/osg/Image osg.sw.base
+f 0666 root sys usr/include/osg/Input include/osg/Input osg.sw.base
+f 0666 root sys usr/include/osg/LOD include/osg/LOD osg.sw.base
+f 0666 root sys usr/include/osg/Light include/osg/Light osg.sw.base
+f 0666 root sys usr/include/osg/LightSource include/osg/LightSource osg.sw.base
+f 0666 root sys usr/include/osg/Lighting include/osg/Lighting osg.sw.base
+f 0666 root sys usr/include/osg/Material include/osg/Material osg.sw.base
+f 0666 root sys usr/include/osg/Matrix include/osg/Matrix osg.sw.base
+f 0666 root sys usr/include/osg/Node include/osg/Node osg.sw.base
+f 0666 root sys usr/include/osg/NodeVisitor include/osg/NodeVisitor osg.sw.base
+f 0666 root sys usr/include/osg/Notify include/osg/Notify osg.sw.base
+f 0666 root sys usr/include/osg/OSG include/osg/OSG osg.sw.base
+f 0666 root sys usr/include/osg/Object include/osg/Object osg.sw.base
+f 0666 root sys usr/include/osg/Output include/osg/Output osg.sw.base
+f 0666 root sys usr/include/osg/Point include/osg/Point osg.sw.base
+f 0666 root sys usr/include/osg/PolygonOffset include/osg/PolygonOffset osg.sw.base
+f 0666 root sys usr/include/osg/Quat include/osg/Quat osg.sw.base
+f 0666 root sys usr/include/osg/Referenced include/osg/Referenced osg.sw.base
+f 0666 root sys usr/include/osg/Registry include/osg/Registry osg.sw.base
+f 0666 root sys usr/include/osg/Scene include/osg/Scene osg.sw.base
+f 0666 root sys usr/include/osg/Seg include/osg/Seg osg.sw.base
+f 0666 root sys usr/include/osg/Sequence include/osg/Sequence osg.sw.base
+f 0666 root sys usr/include/osg/State include/osg/State osg.sw.base
+f 0666 root sys usr/include/osg/Switch include/osg/Switch osg.sw.base
+f 0666 root sys usr/include/osg/TexEnv include/osg/TexEnv osg.sw.base
+f 0666 root sys usr/include/osg/TexGen include/osg/TexGen osg.sw.base
+f 0666 root sys usr/include/osg/TexMat include/osg/TexMat osg.sw.base
+f 0666 root sys usr/include/osg/Texture include/osg/Texture osg.sw.base
+f 0666 root sys usr/include/osg/Timer include/osg/Timer osg.sw.base
+f 0666 root sys usr/include/osg/Transparency include/osg/Transparency osg.sw.base
+f 0666 root sys usr/include/osg/Types include/osg/Types osg.sw.base
+f 0666 root sys usr/include/osg/Vec2 include/osg/Vec2 osg.sw.base
+f 0666 root sys usr/include/osg/Vec3 include/osg/Vec3 osg.sw.base
+f 0666 root sys usr/include/osg/Vec4 include/osg/Vec4 osg.sw.base
+f 0666 root sys usr/include/osg/Version include/osg/Version osg.sw.base
+d 0750 root sys usr/include/osgUtil include/osgUtil osg.sw.base
+f 0666 root sys usr/include/osgUtil/CameraManipulator include/osgUtil/CameraManipulator osg.sw.base
+f 0666 root sys usr/include/osgUtil/DisplayListVisitor include/osgUtil/DisplayListVisitor osg.sw.base
+f 0666 root sys usr/include/osgUtil/DriveManipulator include/osgUtil/DriveManipulator osg.sw.base
+f 0666 root sys usr/include/osgUtil/Export include/osgUtil/Export osg.sw.base
+f 0666 root sys usr/include/osgUtil/FlightManipulator include/osgUtil/FlightManipulator osg.sw.base
+f 0666 root sys usr/include/osgUtil/GUIActionAdapter include/osgUtil/GUIActionAdapter osg.sw.base
+f 0666 root sys usr/include/osgUtil/GUIEventAdapter include/osgUtil/GUIEventAdapter osg.sw.base
+f 0666 root sys usr/include/osgUtil/IntersectVisitor include/osgUtil/IntersectVisitor osg.sw.base
+f 0666 root sys usr/include/osgUtil/RenderVisitor include/osgUtil/RenderVisitor osg.sw.base
+f 0666 root sys usr/include/osgUtil/SceneView include/osgUtil/SceneView osg.sw.base
+f 0666 root sys usr/include/osgUtil/TrackballManipulator include/osgUtil/TrackballManipulator osg.sw.base
+f 0666 root sys usr/include/osgUtil/Version include/osgUtil/Version osg.sw.base
+f 0755 root sys usr/lib32/libosg.so lib/libosg.so osg.sw.base
+f 0755 root sys usr/lib32/libosgUtil.so lib/libosgUtil.so osg.sw.base
+d 0755 root sys usr/lib32/osgPlugins lib/osgPlugins osg.sw.base
+f 0755 root sys usr/lib32/osgPlugins/osgdb_flt.so lib/osgPlugins/osgdb_flt.so osg.sw.base
+f 0755 root sys usr/lib32/osgPlugins/osgdb_fly.so lib/osgPlugins/osgdb_fly.so osg.sw.base
+f 0755 root sys usr/lib32/osgPlugins/osgdb_jpg.so lib/osgPlugins/osgdb_jpg.so osg.sw.base
+f 0755 root sys usr/lib32/osgPlugins/osgdb_osgtgz.so lib/osgPlugins/osgdb_osgtgz.so osg.sw.base
+f 0755 root sys usr/lib32/osgPlugins/osgdb_pic.so lib/osgPlugins/osgdb_pic.so osg.sw.base
+f 0755 root sys usr/lib32/osgPlugins/osgdb_tga.so lib/osgPlugins/osgdb_tga.so osg.sw.base
+f 0755 root sys usr/lib32/osgPlugins/osgdb_tif.so lib/osgPlugins/osgdb_tif.so osg.sw.base
Index: /OpenSceneGraph/tags/osg_8_34/dist/Irix/Makefile
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/dist/Irix/Makefile (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/dist/Irix/Makefile (revision 2)
@@ -0,0 +1,16 @@
+SHELL = /bin/sh
+
+
+all : irixdist tardist
+
+
+irixdist :
+	cd ${OSGHOME}; [ -d irixdist ] || mkdir irixdist
+	cd ${OSGHOME}; \
+	/usr/sbin/gendist -sbase ${OSGHOME} -idb dist/Irix/osg.idb -spec dist/Irix/osg.spec -dist irixdist -all
+
+
+tardist : irixdist
+	cd ${OSGHOME}/irixdist;\
+	tar cvf osg.tardist osg  osg.idb  osg.sw
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Export
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Export (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Export (revision 2)
@@ -0,0 +1,22 @@
+// The following symbole has a underscore suffix for compatibility.
+#ifndef OSGGLUT_EXPORT_
+#define OSGGLUT_EXPORT_ 1
+
+#ifdef WIN32
+	#pragma warning( disable : 4251 )
+	#pragma warning( disable : 4275 )
+	#pragma warning( disable : 4786 )
+#endif
+
+#if defined(_MSC_VER)
+	#  ifdef OSGGLUT_LIBRARY
+	#    define OSGGLUT_EXPORT   __declspec(dllexport)
+	#  else
+	#    define OSGGLUT_EXPORT   __declspec(dllimport)
+	#endif /* OSGGLUT_LIBRARY */
+#else
+	#define OSGGLUT_EXPORT 
+#endif 
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Viewer
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Viewer (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Viewer (revision 2)
@@ -0,0 +1,147 @@
+#ifndef OSGGLUT_VIEWER
+#define OSGGLUT_VIEWER 1
+
+#include <osg/OSG>
+#include <osg/GeoState>
+#include <osg/Scene>
+#include <osg/Light>
+#include <osg/DCS>
+#include <osg/GL>
+#include <osg/NodeVisitor>
+#include <osg/Geode>
+#include <osg/Timer>
+
+#include <osgUtil/GUIEventAdapter>
+#include <osgUtil/CameraManipulator>
+#include <osgUtil/SceneView>
+
+#include <osgGLUT/Export>
+
+#ifdef SGV_USE_RTFS
+#include <rtfs/rtfs.h>
+#endif
+
+#include <string>
+
+#ifdef OSG_USE_IO_DOT_H
+#include <iostream.h>
+#else
+#include <iostream>
+using namespace std;
+#endif
+
+namespace osgGLUT{
+
+/** A basic viewer base class which provides a window, simple keyboard and mouse interaction.
+  * Please note, this viewer class has been developed via a rather haphazzard
+  * path and *needs* a total rewrite.  It currently surfices for osg demo's
+  * but shouldn't be viewed as the be all or end of osg viewer classes.
+  * Someone please rewrite it :-)
+  */
+class OSGGLUT_EXPORT Viewer : public osgUtil::GUIActionAdapter
+{
+    public:
+
+        Viewer();
+        virtual ~Viewer();
+
+        virtual bool init( osg::Node* );
+
+        virtual bool run();
+
+        // called on each frame redraw..
+        virtual bool update();
+        virtual bool traverse();
+        virtual bool draw();
+
+        // initialize the clock.
+        long initClock();
+        // time since initClock() in seconds.
+        float clockSeconds() { return _timer.delta_s(_initialTick,clockTick()); }
+
+        // update the number of ticks since the last frame update.
+        osg::Timer_t updateFrameTick();
+        
+        // time from the current frame update and the previous one in seconds.
+        float frameSeconds() { return _timer.delta_s(_lastFrameTick,_frameTick); }
+        float frameRate() { return 1.0f/frameSeconds(); }
+
+        void help(ostream& fout);
+
+        // hande multiple camera.
+        void registerCameraManipulator(osgUtil::CameraManipulator* cm);
+        void selectCameraManipulator(unsigned int pos);
+
+        // derived from osgUtil::GUIActionAdapter
+        virtual void needRedraw(bool /*needed*/) {} // redraw always done.
+        virtual void needContinuousUpdate(bool /*needed*/) {} // continous update always
+        virtual void needWarpPointer(int x,int y);
+
+    protected:
+
+        static void displayCB();
+        static void reshapeCB(GLint w, GLint h);
+        static void visibilityCB(int state);
+        static void mouseMotionCB(int x, int y);
+        static void mousePassiveMotionCB(int x, int y);
+        static void mouseCB(int button, int state, int x, int y);
+        static void keyboardCB(unsigned char key, int x, int y );
+
+        virtual void display();
+        virtual void reshape(GLint w, GLint h);
+        virtual void visibility(int state);
+        virtual void mouseMotion(int x, int y);
+        virtual void mousePassiveMotion(int x, int y);
+        virtual void mouse(int button, int state, int x, int y);
+        virtual void keyboard(unsigned char key, int x, int y);
+        
+
+        static Viewer*    s_theViewer;
+
+        osg::ref_ptr<osgUtil::SceneView> _sceneView;
+                
+        typedef std::vector<osg::ref_ptr<osgUtil::CameraManipulator> > CameraManipList;
+
+        osg::ref_ptr<osgUtil::CameraManipulator>    _cameraManipulator;
+        CameraManipList                             _cameraManipList;
+
+        std::string                                 _saveFileName;
+
+        int ww, wh;
+
+        #ifdef SGV_USE_RTFS
+	unsigned int frame_rate;
+	RTfs *fs;
+	#endif
+        
+        bool _viewFrustumCullingActive;
+        bool _smallFeatureCullingActive;
+
+        int mx, my, mbutton;
+        int polymode;
+        int texture;
+        int backface;
+        int lighting;
+        int flat_shade;
+        int _two_sided_lighting;
+        bool fullscreen;
+        int _saved_ww,_saved_wh;
+        bool _printStats;
+        bool _useDisplayLists;
+        
+        osg::Timer   _timer;
+        osg::Timer_t _tickRatePerSecond;
+        osg::Timer_t _initialTick;
+        osg::Timer_t _lastFrameTick;
+        osg::Timer_t _frameTick;
+
+        // system tick.
+        osg::Timer_t clockTick();
+        osg::Timer_t frameTick();
+
+
+};
+
+}
+
+#endif                           // SG_VIEWIER_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Version
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Version (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/Version (revision 2)
@@ -0,0 +1,35 @@
+#ifndef OSGGLUT_VERSION
+#define OSGGLUT_VERSION 1
+
+#include <osgGLUT/Export>
+
+
+extern "C" {
+
+/**
+ * getVersion_osgGLUT() returns the library version number.
+ * Numbering conventon : osg_src-0.8-31 will return 0.8.31 from getVersion_osgGLUT.
+ *
+ * This C function can be also used to check for the existance of the OpenSceneGraph
+ * library using autoconf and its m4 macro AC_CHECK_LIB.
+ *
+ * Here is the code to add to your configure.in:
+ \verbatim
+ #
+ # Check for the OpenSceneGraph (OSG) GLUT library
+ #
+ AC_CHECK_LIB(osg, osgGLUTGetVersion, ,
+    [AC_MSG_ERROR(OpenSceneGraph GLUT library not found. See http://www.openscenegraph.org)],)
+ \endverbatim
+*/
+extern OSGGLUT_EXPORT const char* osgGLUTGetVersion();
+
+/**
+ * getLibraryName_osgGLUT() returns the library name in human friendly form.
+*/
+extern OSGGLUT_EXPORT const char* osgGLUTGetLibraryName();
+
+};
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/GLUTEventAdapter
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/GLUTEventAdapter (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgGLUT/GLUTEventAdapter (revision 2)
@@ -0,0 +1,108 @@
+#ifndef OSGGLUT_GLUTEVENTADAPTER
+#define OSGGLUT_GLUTEVENTADAPTER 1
+
+#include <osgUtil/GUIEventAdapter>
+
+#include <osgGLUT/Export>
+
+namespace osgGLUT{
+
+/** Class for adapting GLUT events so that they can be used as input to osgUtil::CameraManipulators.*/
+class OSGGLUT_EXPORT GLUTEventAdapter : public osgUtil::GUIEventAdapter
+{
+
+    public:
+        GLUTEventAdapter();
+        virtual ~GLUTEventAdapter() {}
+
+        /** Get the EventType of the GUI event.*/
+        virtual EventType getEventType() const { return _eventType; }
+
+        /** key pressed, return -1 if inapropriate for this event. */
+        virtual int getKey() const { return _key; }
+
+        /** button pressed/released, return -1 if inappropriate for this event.*/
+        virtual int getButton() const { return _button; }
+
+        /** window minimum x. */
+        virtual int getXmin() const  { return _Xmin; }
+
+        /** window maximum x. */
+        virtual int getXmax() const  { return _Xmax; }
+
+        /** window minimum y. */
+        virtual int getYmin() const { return _Ymin; }
+
+        /** window maximum y. */
+        virtual int getYmax() const { return _Ymax; }
+
+        /** current mouse x position.*/
+        virtual int getX() const { return _mx; }
+
+        /** current mouse y position.*/
+        virtual int getY() const { return _my; }
+
+        /** current mouse button state */
+        virtual unsigned int getButtonMask() const { return _buttonMask; }
+
+        /** time in seconds of event. */
+        virtual float time() const { return _time; }
+
+
+        /** static method for setting window dimensions.*/
+        static void setWindowSize(int Xmin, int Ymin, int Xmax, int Ymax);
+
+        /** static method for setting button state.*/
+        static void setButtonMask(unsigned int buttonMask);
+
+        /** method for adapting resize events. */
+        void adaptResize(float t, int Xmin, int Ymin, int Xmax, int Ymax);
+
+        /** method for adapting mouse motion events whilst mouse buttons are pressed.*/
+        void adaptMouseMotion(float t, int x, int y);
+
+        /** method for adapting mouse motion events whilst no mouse button are pressed.*/
+        void adaptMousePassiveMotion(float t,int x, int y);
+
+        /** method for adapting mouse button pressed/released events.*/
+        void adaptMouse(float t,int button, int state, int x, int y);
+
+        /** method for adapting keyboard events.*/
+        void adaptKeyboard(float t,unsigned char key, int x, int y );
+
+        /** method for adapting frame events, i.e. iddle/display callback.*/
+        void adaptFrame(float t);
+
+        void copyStaticVariables();
+
+    protected:
+
+        EventType _eventType;
+        int _key;
+        int _button;
+        int _Xmin,_Xmax;
+        int _Ymin,_Ymax;
+        int _mx;
+        int _my;
+        unsigned int _buttonMask;
+        float _time;
+
+        // used to accumulate the button mask state, it represents
+        // the current button mask state, which is modified by the
+        // adaptMouse() method which then copies it to value _buttonMask
+        // which required the mouse buttons state at the time of the event.
+        static unsigned int _s_accumulatedButtonMask;
+        
+        // used to store window min and max values.
+        static int _s_Xmin;
+        static int _s_Xmax;
+        static int _s_Ymin;
+        static int _s_Ymax;
+        static int _s_mx;
+        static int _s_my;
+
+};
+
+}
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/RenderVisitor
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/RenderVisitor (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/RenderVisitor (revision 2)
@@ -0,0 +1,196 @@
+#ifndef OSGUTIL_RENDERVISITOR
+#define OSGUTIL_RENDERVISITOR 1
+
+#include <osg/NodeVisitor>
+#include <osg/BoundingSphere>
+#include <osg/BoundingBox>
+#include <osg/Matrix>
+#include <osg/GeoSet>
+#include <osg/GeoState>
+#include <osg/Camera>
+
+#include <osgUtil/Export>
+
+#include <map>
+#include <vector>
+
+namespace osgUtil {
+
+/** Container class for encapsulating the viewing state in local
+    coordinates, during the cull traversal.
+*/
+class OSGUTIL_EXPORT ViewState : public osg::Referenced
+{
+    public:
+
+        ViewState();
+
+        osg::Matrix* _matrix;
+        osg::Matrix* _inverse;
+        osg::Vec3    _eyePoint;
+        osg::Vec3    _centerPoint;
+        osg::Vec3    _lookVector;
+        osg::Vec3    _upVector;
+        osg::Vec3    _frustumTopNormal;
+        osg::Vec3    _frustumBottomNormal;
+        osg::Vec3    _frustumLeftNormal;
+        osg::Vec3    _frustumRightNormal;
+        float   _ratio;
+
+        bool _viewFrustumCullingActive;
+        bool _smallFeatureCullingActive;
+
+        bool isCulled(const osg::BoundingSphere& sp);
+        bool isCulled(const osg::BoundingBox& bb);
+
+    protected:
+
+        ~ViewState();
+
+};
+
+
+/**
+ * Basic NodeVisitor implementation for rendering a scene.
+ * This visitor traverses the scene graph, collecting transparent and
+ * opaque osg::GeoSets into a depth sorted transparent bin and a state
+ * sorted opaque bin.  The opaque bin is rendered first, and then the
+ * transparent bin in rendered in order from the furthest osg::GeoSet
+ * from the eye to the one nearest the eye. 
+ */
+class OSGUTIL_EXPORT RenderVisitor : public osg::NodeVisitor
+{
+    public:
+
+        RenderVisitor();
+        virtual ~RenderVisitor();
+
+        void reset();
+
+        virtual void apply(osg::Node&);
+        virtual void apply(osg::Geode& node);
+        virtual void apply(osg::Billboard& node);
+        virtual void apply(osg::LightSource& node);
+
+        virtual void apply(osg::Group& node);
+        virtual void apply(osg::DCS& node);
+        virtual void apply(osg::Switch& node);
+        virtual void apply(osg::LOD& node);
+        virtual void apply(osg::Scene& node);
+
+        void setGlobalState(osg::GeoState* global);
+
+        void setPerspective(const osg::Camera& camera);
+        void setPerspective(float fovy,float aspect,float znear,float zfar);
+
+        void setLookAt(const osg::Camera& camera);
+        void setLookAt(const osg::Vec3& eye,const osg::Vec3& center,const osg::Vec3& upVector);
+        void setLookAt(double eyeX,double eyeY,double eyeZ,
+                       double centerX,double centerY,double centerZ,
+                       double upX,double upY,double upZ);
+
+
+        void setLODBias(float bias) { _LODBias = bias; }
+        float getLODBias()          { return _LODBias; }
+        
+        enum TransparencySortMode {
+            LOOK_VECTOR_DISTANCE,
+            OBJECT_EYE_POINT_DISTANCE
+        };
+
+        void setTransparencySortMode(TransparencySortMode tsm) { _tsm = tsm; }
+        
+        enum CullingType {
+            VIEW_FRUSTUM_CULLING,
+            SMALL_FEATURE_CULLING
+        };
+
+	/**
+	 * Enables/disables the specified culling type.
+	 * @param ct The culling type to enable/disable.
+	 * @param active true enables the culling type, false disables.
+	 */
+        void setCullingActive(CullingType ct, bool active);
+
+	/**
+	 * Returns the state of the specified culling type.
+	 * @result true, if culling type is enabled, false otherwise.
+	 */
+        bool getCullingActive(CullingType ct);
+
+	/**
+	 * Calculates the near_plane and the far_plane for the current
+	 * camera view depending on the objects currently stored in the
+         * opaque and transparent bins.
+	 * @param near_plane reference to a variable that can store the
+	 * near plane result.
+	 * @param far_plane reference to a variable that can store the
+	 * far plane result.
+	 * @result true, if near_plane and far_plane contain valid values,
+	 * false otherwise.
+	 */
+        bool calcNearFar(double& near_plane, double& far_plane);
+
+        /**
+	 * Renders the osg::GeoSets that were collected in the opaque and
+	 * transparent bins before.
+	 */
+	void render();
+
+    protected:
+
+        void pushMatrix(const osg::Matrix& matrix);
+        void popMatrix();
+
+        osg::Matrix* getCurrentMatrix();
+        osg::Matrix* getInverseCurrentMatrix();
+        const osg::Vec3& getEyeLocal();
+        const osg::Vec3& getCenterLocal();
+        const osg::Vec3& getLookVectorLocal();
+        
+
+        bool _viewFrustumCullingActive;
+        bool _smallFeatureCullingActive;
+
+        bool isCulled(const osg::BoundingSphere& sp);
+        bool isCulled(const osg::BoundingBox& bb);
+
+        typedef std::pair<osg::Matrix*,osg::GeoSet*>      MatrixGeoSet;
+
+        typedef std::vector<ViewState*> ViewStateStack;
+        ViewStateStack                  _viewStateStack;
+        ViewState*                      _tvs;
+        ViewState*                      _cvs;
+
+
+        typedef std::multimap<osg::GeoState*,MatrixGeoSet> OpaqueList;
+        typedef std::multimap<float,MatrixGeoSet>     TransparentList;
+        typedef std::map<osg::Matrix*,osg::Light*> LightList;
+
+        OpaqueList      _opaqueGeoSets;
+        TransparentList _transparentGeoSets;
+        LightList       _lights;
+
+        osg::GeoState* _globalState;
+        float   _LODBias;
+
+        float   _fovy;
+        float   _aspect;
+        float   _znear;
+        float   _zfar;
+
+        void calculateClippingPlanes();
+
+        // frustum clipping normals.
+        osg::Vec3    _frustumTop;
+        osg::Vec3    _frustumBottom;
+        osg::Vec3    _frustumLeft;
+        osg::Vec3    _frustumRight;
+        
+        TransparencySortMode _tsm;
+};
+
+};
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/IntersectVisitor
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/IntersectVisitor (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/IntersectVisitor (revision 2)
@@ -0,0 +1,142 @@
+#ifndef OSGUTIL_INTERSECTVISITOR
+#define OSGUTIL_INTERSECTVISITOR 1
+
+#include <osg/NodeVisitor>
+#include <osg/Seg>
+#include <osg/Geode>
+#include <osg/Matrix>
+
+#include <osgUtil/Export>
+
+#include <map>
+#include <set>
+#include <vector>
+
+namespace osgUtil {
+
+class OSGUTIL_EXPORT IntersectState : public osg::Referenced
+{
+    public:
+
+        IntersectState();
+
+        osg::Matrix* _matrix;
+        osg::Matrix* _inverse;
+
+        typedef std::vector< std::pair<osg::Seg*,osg::Seg*> > SegList;
+        SegList _segList;
+
+        typedef unsigned int SegmentMask;
+        typedef std::vector<SegmentMask> SegmentMaskStack;
+        SegmentMaskStack _segmentMaskStack;
+
+        bool isCulled(const osg::BoundingSphere& bs,SegmentMask& segMaskOut);
+        bool isCulled(const osg::BoundingBox& bb,SegmentMask& segMaskOut);
+
+    protected:
+
+        ~IntersectState();
+    
+};
+
+class OSGUTIL_EXPORT Hit : public osg::Referenced
+{
+    public:
+        Hit();
+        Hit(const Hit& hit);
+        ~Hit();
+        
+        Hit& operator = (const Hit& hit);
+        
+        typedef std::vector<int> VecIndexList;
+
+        bool operator < (const Hit& hit) const
+        {
+            if (_originalSeg<hit._originalSeg) return true;
+            if (_originalSeg>hit._originalSeg) return false;
+            return _ratio<hit._ratio;
+        }
+
+        float                _ratio;
+        osg::Seg*            _originalSeg;
+        osg::Seg*            _localSeg;
+        osg::NodePath        _nodePath;
+        osg::Geode*          _geode;
+        osg::GeoSet*         _geoset;
+        osg::Matrix*         _matrix;
+        
+        VecIndexList         _vecIndexList;
+        int                  _primitiveIndex;
+        osg::Vec3            _intersectPoint;
+        osg::Vec3            _intersectNormal;
+};
+
+
+/** Basic visitor for ray based collisions of a scene.
+    Note, still in development, current version has not
+    pratical functionality!*/
+class OSGUTIL_EXPORT IntersectVisitor : public osg::NodeVisitor
+{
+    public:
+
+        IntersectVisitor();
+        virtual ~IntersectVisitor();
+
+        void reset();
+        
+        /** Add a line segment to use for intersection testing during scene traversal.*/
+        void addSeg(osg::Seg* seg);
+
+        /** Modes to control how IntersectVisitor reports hits. */
+        enum HitReportingMode {
+            ONLY_NEAREST_HIT,
+            ALL_HITS
+        };
+
+        /** Set the mode of how hits should reported back from a traversal.*/
+        void setHitReportingMode(HitReportingMode hrm) { _hitReportingMode = hrm; }
+        /** Get the mode of how hits should reported back from a traversal.*/
+        HitReportingMode getHitReportingMode() { return _hitReportingMode; }
+
+        //typedef std::multiset<Hit> HitList;
+        typedef std::vector<Hit> HitList;
+        typedef std::map<osg::Seg*,HitList > SegHitListMap;
+        HitList& getHitList(osg::Seg* seg) { return _segHitList[seg]; }
+        int getNumHits(osg::Seg* seg) { return _segHitList[seg].size(); }
+
+        bool hits();
+
+        virtual void apply(osg::Node&);
+        virtual void apply(osg::Geode& node);
+        virtual void apply(osg::Billboard& node);
+
+        virtual void apply(osg::Group& node);
+        virtual void apply(osg::DCS& node);
+        virtual void apply(osg::Switch& node);
+        virtual void apply(osg::LOD& node);
+        virtual void apply(osg::Scene& node);
+
+    protected:
+
+
+        bool intersect(osg::GeoSet& gset);
+
+        void pushMatrix(const osg::Matrix& matrix);
+        void popMatrix();
+
+        bool enterNode(osg::Node& node);
+        void leaveNode();
+
+        typedef std::vector<IntersectState*> IntersectStateStack;
+        IntersectStateStack                  _intersectStateStack;
+
+        osg::NodePath                    _nodePath;
+
+        HitReportingMode            _hitReportingMode;
+        SegHitListMap               _segHitList;
+};
+
+};
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/DisplayListVisitor
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/DisplayListVisitor (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/DisplayListVisitor (revision 2)
@@ -0,0 +1,72 @@
+#ifndef OSGUTIL_COMPILEGEOSETVISITOR
+#define OSGUTIL_COMPILEGEOSETVISITOR 1
+
+#include <osg/NodeVisitor>
+#include <osg/Geode>
+
+#include <osgUtil/Export>
+
+namespace osgUtil {
+
+/** Visitor for traversing scene set each osg::GeoSet's _useDisplayList flag, or
+  * immediately compiling osg::GeoSet's OpenGL Display lists. The mode of operation
+  * of the vistor is controlled by setting the DisplayListMode either on visitor
+  * constructor or via the setDisplayListMode() method.  DisplayListMode options are:
+  * _displayListMode == SWITCH_ON_AND_COMPILE_DISPLAY_LISTS cals gset->compile() on
+  * all Geode childern. Note, the visitor must only be used within a valid 
+  * OpenGL context as compile uses OpenGL calls.
+  * _displayListMode == SWITCH_ON_DISPLAY_LISTS sets the Geode's children with 
+  * gset->setUseDisplayList(true), this method does not directly create display list,
+  * or uses OpenGL calls so if safe to use before a valid OpenGL context has been set up.
+  * On the next redraw of the scene, the gset's draw methods will be called
+  * which then will respond to their _useDisplayList being set by creating display lists
+  * automatically.
+  * _displayListMode == SWITCH_OFF_DISPLAY_LISTS sets the Geode's children with 
+  * gset->setUseDisplayList(false), this method does not directly create display list,
+  *  or uses OpenGL calls so if safe to use before a valid OpenGL context has been set up.
+  */
+class OSGUTIL_EXPORT DisplayListVisitor : public osg::NodeVisitor
+{
+    public:
+
+        /** Operation modes of the DisplayListVisitor.*/
+        enum DisplayListMode
+        {
+            SWITCH_ON_AND_COMPILE_DISPLAY_LISTS,
+            SWITCH_ON_DISPLAY_LISTS,
+            SWITCH_OFF_DISPLAY_LISTS
+        };
+
+        /** Construct a CompileGeoSetsVisior to traverse all child,
+          * with set specfied display list mode.  Default mode is to
+          * gset->setUseDisplayList(true).
+          */
+        DisplayListVisitor(DisplayListMode mode=SWITCH_ON_DISPLAY_LISTS);
+        
+        /** Set the operational mode of how the visitor should set up osg::GeoSet's.*/
+        void setDisplayListMode(DisplayListMode mode) { _displayListMode = mode; }
+
+        /** Get the operational mode.*/
+        DisplayListMode getDisplayListMode() const { return _displayListMode; }
+
+        /** Simply traverse using standard NodeVisitor traverse method.*/
+        virtual void apply(osg::Node& node)
+        {
+            traverse(node);
+        }
+
+        /** For each Geode visited set the display list usage according to the 
+          * _displayListMode.
+          */
+        virtual void apply(osg::Geode& node);
+
+    protected:
+
+        DisplayListMode _displayListMode;
+
+};
+
+};
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/Export
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/Export (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/Export (revision 2)
@@ -0,0 +1,22 @@
+// The following symbole has a underscore suffix for compatibility.
+#ifndef OSGUTIL_EXPORT_
+#define OSGUTIL_EXPORT_ 1
+
+#ifdef WIN32
+	#pragma warning( disable : 4251 )
+	#pragma warning( disable : 4275 )
+	#pragma warning( disable : 4786 )
+#endif
+
+#if defined(_MSC_VER)
+	#  ifdef OSGUTIL_LIBRARY
+	#    define OSGUTIL_EXPORT   __declspec(dllexport)
+	#  else
+	#    define OSGUTIL_EXPORT   __declspec(dllimport)
+	#endif /* OSGUTIL_LIBRARY */
+#else
+	#define OSGUTIL_EXPORT 
+#endif 
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/GUIActionAdapter
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/GUIActionAdapter (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/GUIActionAdapter (revision 2)
@@ -0,0 +1,23 @@
+#ifndef OSGUTIL_GUIACTIONADAPTER
+#define OSGUTIL_GUIACTIONADAPTER 1 
+
+#include <osgUtil/Export>
+
+namespace osgUtil{
+
+
+/** Pure virtual base class for adapting the GUI actions for use in CameraManipulators.*/
+class GUIActionAdapter
+{
+    public:
+        
+        virtual void needRedraw(bool needed=true) = 0;
+        virtual void needContinuousUpdate(bool needed=true) = 0;
+        virtual void needWarpPointer(int x,int y) = 0;
+
+};
+
+}
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/CameraManipulator
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/CameraManipulator (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/CameraManipulator (revision 2)
@@ -0,0 +1,55 @@
+#ifndef OSGUTIL_CAMERAMANIPULATOR
+#define OSGUTIL_CAMERAMANIPULATOR 1
+
+#include <osg/Referenced>
+#include <osg/Camera>
+#include <osgUtil/Export>
+#include <osgUtil/GUIEventAdapter>
+#include <osgUtil/GUIActionAdapter>
+
+namespace osgUtil{
+
+class OSGUTIL_EXPORT CameraManipulator : public osg::Referenced
+{
+    public:
+
+	CameraManipulator();
+	virtual ~CameraManipulator();
+
+        /** attach a camera to the manipulator to be used for specifying view.*/
+	virtual void setCamera(osg::Camera*);
+
+        /** get the attached a camera.*/
+	virtual osg::Camera * getCamera() const;
+
+        /** Attach a node to the manipulator. 
+            Automatically detaches previously attached node.
+            setNode(NULL) detaches previously nodes.
+            Is ignored by manipulators which do not require a reference model.*/
+        virtual void setNode(osg::Node*) {}
+
+        /** Return node if attached.*/
+        virtual osg::Node* getNode() const { return NULL; }
+
+        /** Move the camera to the default position. 
+            May be ignored by manipulators if home functionality is not appropriate.*/
+        virtual void home(GUIEventAdapter& ,GUIActionAdapter&) {}
+        
+        /** Start/restart the manipulator.*/
+        virtual void init(GUIEventAdapter& ,GUIActionAdapter&) {}
+
+        /** Handle events, return true if handled, false otherwise.*/
+	virtual bool update(GUIEventAdapter& ea,GUIActionAdapter& us);        
+
+
+    protected:
+
+	// Reference pointer to a camera
+	osg::ref_ptr<osg::Camera>	_camera;
+
+};
+
+}
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/DriveManipulator
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/DriveManipulator (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/DriveManipulator (revision 2)
@@ -0,0 +1,68 @@
+#ifndef OSGUTIL_DRIVEMANIPULATOR
+#define OSGUTIL_DRIVEMANIPULATOR 1 
+
+#include <osgUtil/CameraManipulator>
+
+namespace osgUtil{
+
+class OSGUTIL_EXPORT DriveManipulator : public CameraManipulator
+{
+    public:
+
+	DriveManipulator();
+	virtual ~DriveManipulator();
+
+        /** Attach a node to the manipulator. 
+            Automatically detaches previously attached node.
+            setNode(NULL) detaches previously nodes.
+            Is ignored by manipulators which do not require a reference model.*/
+        virtual void setNode(osg::Node*);
+
+        /** Return node if attached.*/
+        virtual osg::Node* getNode() const;
+
+        /** Move the camera to the default position. 
+            May be ignored by manipulators if home functionality is not appropriate.*/
+        virtual void home(GUIEventAdapter& ea,GUIActionAdapter& us);
+        
+        /** Start/restart the manipulator.*/
+        virtual void init(GUIEventAdapter& ea,GUIActionAdapter& us);
+
+        /** handle events, return true if handled, false otherwise.*/
+	virtual bool update(GUIEventAdapter& ea,GUIActionAdapter& us);
+
+    private:
+
+        /** Reset the internal GUIEvent stack.*/
+        void flushMouseEventStack();
+        /** Add the current mouse GUIEvent to internal stack.*/
+        void addMouseEvent(GUIEventAdapter& ea);
+
+        /** For the give mouse movement calculate the movement of the camera.
+            Return true is camera has moved and a redraw is required.*/
+        bool calcMovement();
+
+        // Internal event stack comprising last three mouse events.
+        osg::ref_ptr<GUIEventAdapter> _ga_t1;
+        osg::ref_ptr<GUIEventAdapter> _ga_t0;
+
+        osg::ref_ptr<osg::Node>       _node;
+
+        float _modelScale;
+        float _velocity;
+        float _height;
+        float _buffer;
+
+        enum SpeedControlMode {
+            USE_MOUSE_Y_FOR_SPEED,
+            USE_MOUSE_BUTTONS_FOR_SPEED
+        };
+
+        SpeedControlMode _speedMode;
+
+};
+
+}
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/Version
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/Version (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/Version (revision 2)
@@ -0,0 +1,35 @@
+#ifndef OSGUTIL_VERSION
+#define OSGUTIL_VERSION 1
+
+#include <osgUtil/Export>
+
+
+extern "C" {
+
+/**
+ * getVersion_osgUtil() returns the library version number.
+ * Numbering conventon : osg_src-0.8-31 will return 0.8.31 from getVersion_osgUtil.
+ *
+ * This C function can be also used to check for the existance of the OpenSceneGraph
+ * library using autoconf and its m4 macro AC_CHECK_LIB.
+ *
+ * Here is the code to add to your configure.in:
+ \verbatim
+ #
+ # Check for the OpenSceneGraph (OSG) utility library
+ #
+ AC_CHECK_LIB(osg, osgUtilGetVersion, ,
+    [AC_MSG_ERROR(OpenSceneGraph utility library not found. See http://www.openscenegraph.org)],)
+ \endverbatim
+*/
+extern OSGUTIL_EXPORT const char* osgUtilGetVersion();
+
+/**
+ * getLibraryName_osgUtil() returns the library name in human friendly form.
+*/
+extern OSGUTIL_EXPORT const char* osgUtilGetLibraryName();
+
+};
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/GUIEventAdapter
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/GUIEventAdapter (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/GUIEventAdapter (revision 2)
@@ -0,0 +1,80 @@
+#ifndef OSGUTIL_GUIEVENTADAPTER
+#define OSGUTIL_GUIEVENTADAPTER 1 
+
+#include <osg/Referenced>
+#include <osgUtil/Export>
+
+namespace osgUtil{
+
+
+/** Pure virtual base class for adapting platform specfic events into
+    generic keyboard and mouse events. */
+class GUIEventAdapter : public osg::Referenced
+{
+    public:
+
+        GUIEventAdapter() {}
+
+
+        enum MouseButtonMask { 
+            LEFT_BUTTON=1,
+            MIDDLE_BUTTON=2,
+            RIGHT_BUTTON=4
+        };
+
+        enum EventType {
+            PUSH,
+            RELEASE,
+            DRAG,
+            MOVE,
+            KEYBOARD,
+            FRAME,
+            RESIZE,
+            NONE
+        };
+
+        /** Get the EventType of the GUI event.*/
+        virtual EventType getEventType() const = 0;
+
+        /** key pressed, return -1 if inapropriate for this event. */
+        virtual int getKey() const = 0;
+
+        /** button pressed/released, return -1 if inappropriate for this event.*/
+        virtual int getButton() const = 0;
+
+        /** window minimum x. */
+        virtual int getXmin() const = 0;
+
+        /** window maximum x. */
+        virtual int getXmax() const = 0;
+
+        /** window minimum y. */
+        virtual int getYmin() const = 0;
+
+        /** window maximum y. */
+        virtual int getYmax() const = 0;
+
+        /** current mouse x position.*/
+        virtual int getX() const = 0;
+
+        /** current mouse y position.*/
+        virtual int getY() const = 0;
+
+        /** current mouse button state */
+        virtual unsigned int getButtonMask() const = 0;
+
+        /** time in seconds of event. */
+        virtual float time() const = 0;
+
+
+    protected:
+    
+        /** Force users to create on heap, so that mulitple referencing is safe.*/
+        virtual ~GUIEventAdapter() {}
+
+};
+
+}
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/SceneView
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/SceneView (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/SceneView (revision 2)
@@ -0,0 +1,165 @@
+#ifndef OSGUTIL_SCENEVIEW
+#define OSGUTIL_SCENEVIEW 1
+
+#include <osg/Node>
+#include <osg/GeoState>
+#include <osg/Light>
+#include <osg/Camera>
+
+#include <osgUtil/RenderVisitor>
+
+#include <osgUtil/Export>
+
+namespace osgUtil {
+
+/**
+ * SceneView is literaly a view of a scene, encapsulating the
+ * camera, global state, lights and the scene itself.  Provides
+ * methods for setting up the view and rendering it.
+*/
+class OSGUTIL_EXPORT SceneView : public osg::Referenced
+{
+    public:
+
+        /** Constrcut a default scene view.*/
+        SceneView();
+
+        /** Set the data which to view. The data will typically be
+         *  an osg::Scene but can be any osg::Node type.
+         */
+        void setSceneData(osg::Node* node) { _sceneData = node; _need_compile = true;}
+        /** Get the scene data which to view. The data will typically be
+         *  an osg::Scene but can be any osg::Node type.
+         */
+        osg::Node* getSceneData() { return _sceneData.get(); }
+
+        /** Set the viewport of the scene view. */
+        void setViewport(int x,int y,int width,int height)
+        {
+            _view[0] = x;
+            _view[1] = y;
+            _view[2] = width;
+            _view[3] = height;
+        }
+        
+        /** Get the viewport of the scene view. */
+        void getViewport(int& x,int& y,int& width,int& height)
+        {
+            x = _view[0];
+            y = _view[1];
+            width = _view[2];
+            height = _view[3];
+        }
+
+        /** Set scene view to use default global state, light, camera
+         *  and render visitor.
+        */
+        void setDefaults();
+
+        /** Set the background color used in glClearColor().
+            Defaults to an off blue color.*/
+        void setBackgroundColor(const osg::Vec4& color) { _backgroundColor=color; }
+        /** Get the background color.*/
+        const osg::Vec4& getBackgroundColor() const { return _backgroundColor; }
+
+        void setGlobalState(osg::GeoState* state) { _globalState = state; }
+        osg::GeoState* getGlobalState() const { return _globalState.get(); }
+
+        enum LightingMode {
+            HEADLIGHT, // default
+            SKY_LIGHT,
+            NO_SCENEVIEW_LIGHT
+        };
+
+        void setLightingMode(LightingMode mode) { _lightingMode=mode; }
+        LightingMode getLightingMode() const { return _lightingMode; }
+
+        void setLight(osg::Light* light) { _light = light; }
+        osg::Light* getLight() const { return _light.get(); }
+        
+        void setCamera(osg::Camera* camera) { _camera = camera; }
+        osg::Camera* getCamera() const { return _camera.get(); }
+        
+        void setRenderVisitor(osgUtil::RenderVisitor* rv) { _renderVisitor = rv; }
+        osgUtil::RenderVisitor* getRenderVisitor() const { return _renderVisitor.get(); }
+
+        void setLODBias(float bias) { _lodBias = bias; }
+        float getLODBias() const { return _lodBias; }
+
+        /** Set to true if you want SceneView to automatically calculate values
+           for the near/far clipping planes, each frame, set false to use camera's
+           internal near and far planes.  Default value is true.
+        */
+	void setCalcNearFar(bool calc) { _calc_nearfar = calc; }
+        /** return true if SceneView automatically caclculates near and 
+            far clipping planes for each frame.
+        */
+        bool getCalcNearFar() { return _calc_nearfar; }
+
+        /** Calculate, via glUnProject, the object coordinates of a window point.
+            Note, current implementation requires that SceneView::draw() has been previously called
+            for projectWindowIntoObject to produce valid values.  Consistent with OpenGL
+            windows coordinates are calculated relative to the bottom left of the window.
+            Returns true on successful projection.
+        */
+        bool projectWindowIntoObject(const osg::Vec3& window,osg::Vec3& object) const;
+
+        /** Calculate, via glUnProject, the object coordinates of a window x,y
+            when projected onto the near and far planes.
+            Note, current implementation requires that SceneView::draw() has been previously called
+            for projectWindowIntoObject to produce valid values.  Consistent with OpenGL
+            windows coordinates are calculated relative to the bottom left of the window.
+            Returns true on successful projection.
+        */
+        bool projectWindowXYIntoObject(int x,int y,osg::Vec3& near_point,osg::Vec3& far_point) const;
+
+        /** Calculate, via glProject, the object coordinates of a window.
+            Note, current implementation requires that SceneView::draw() has been previously called
+            for projectWindowIntoObject to produce valid values.  Consistent with OpenGL
+            windows coordinates are calculated relative to the bottom left of the window,
+            whereas as window API's normally have the top left as the origin,
+            so you may need to pass in (mouseX,window_height-mouseY,...).
+            Returns true on successful projection.
+        */
+        bool projectObjectIntoWindow(const osg::Vec3& object,osg::Vec3& window) const;
+
+
+        virtual void cull();
+        virtual void draw();
+        
+    protected:
+
+        virtual ~SceneView();
+
+        osg::ref_ptr<osg::Node>                     _sceneData;
+        osg::ref_ptr<osg::GeoState>                 _globalState;
+        osg::ref_ptr<osg::Light>                    _light;
+        osg::ref_ptr<osg::Camera>                   _camera;
+        osg::ref_ptr<osgUtil::RenderVisitor>        _renderVisitor;
+        
+        bool _need_compile;
+        bool _calc_nearfar;
+
+        osg::Vec4 _backgroundColor;
+
+        double _near_plane;
+        double _far_plane;
+        
+        float _lodBias;
+
+        // viewport x,y,width,height respectiveyly.
+        GLint _view[4];
+
+        // model and project matices, used by glUnproject to get
+        // to generate rays form the eyepoint through the mouse x,y.
+        GLdouble _model[16];
+        GLdouble _proj[16];
+
+        LightingMode _lightingMode;
+
+};
+
+};
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/FlightManipulator
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/FlightManipulator (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/FlightManipulator (revision 2)
@@ -0,0 +1,69 @@
+#ifndef OSGUTIL_FLIGHTMANIPULATOR
+#define OSGUTIL_FLIGHTMANIPULATOR 1
+
+#include <osgUtil/CameraManipulator>
+
+namespace osgUtil{
+
+class OSGUTIL_EXPORT FlightManipulator : public CameraManipulator
+{
+    public:
+
+	FlightManipulator();
+	virtual ~FlightManipulator();
+
+        /** Attach a node to the manipulator. 
+            Automatically detaches previously attached node.
+            setNode(NULL) detaches previously nodes.
+            Is ignored by manipulators which do not require a reference model.*/
+        virtual void setNode(osg::Node*);
+
+        /** Return node if attached.*/
+        virtual osg::Node* getNode() const;
+
+        /** Move the camera to the default position. 
+            May be ignored by manipulators if home functionality is not appropriate.*/
+        virtual void home(GUIEventAdapter& ea,GUIActionAdapter& us);
+        
+        /** Start/restart the manipulator.*/
+        virtual void init(GUIEventAdapter& ea,GUIActionAdapter& us);
+
+        /** handle events, return true if handled, false otherwise.*/
+	virtual bool update(GUIEventAdapter& ea,GUIActionAdapter& us);
+
+        enum YawControlMode {
+            YAW_AUTOMATICALLY_WHEN_BANKED,
+            NO_AUTOMATIC_YAW
+        };
+
+        /** Set the yaw control between no yaw and yawing when banked.*/
+        void setYawControlMode(YawControlMode ycm) { _yawMode = ycm; }
+
+    private:
+
+        /** Reset the internal GUIEvent stack.*/
+        void flushMouseEventStack();
+        /** Add the current mouse GUIEvent to internal stack.*/
+        void addMouseEvent(GUIEventAdapter& ea);
+
+        /** For the give mouse movement calculate the movement of the camera.
+            Return true is camera has moved and a redraw is required.*/
+        bool calcMovement();
+
+        // Internal event stack comprising last three mouse events.
+        osg::ref_ptr<GUIEventAdapter> _ga_t1;
+        osg::ref_ptr<GUIEventAdapter> _ga_t0;
+
+        osg::ref_ptr<osg::Node>       _node;
+
+        float _modelScale;
+        float _velocity;
+        
+        YawControlMode _yawMode;
+
+};
+
+}
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osgUtil/TrackballManipulator
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osgUtil/TrackballManipulator (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osgUtil/TrackballManipulator (revision 2)
@@ -0,0 +1,70 @@
+#ifndef OSGUTIL_TRACKBALLMANIPULATOR
+#define OSGUTIL_TRACKBALLMANIPULATOR 1
+
+#include <osgUtil/CameraManipulator>
+
+namespace osgUtil{
+
+class OSGUTIL_EXPORT TrackballManipulator : public CameraManipulator
+{
+    public:
+
+	TrackballManipulator();
+	virtual ~TrackballManipulator();
+
+        /** Attach a node to the manipulator. 
+            Automatically detaches previously attached node.
+            setNode(NULL) detaches previously nodes.
+            Is ignored by manipulators which do not require a reference model.*/
+        virtual void setNode(osg::Node*);
+
+        /** Return node if attached.*/
+        virtual osg::Node* getNode() const;
+
+        /** Move the camera to the default position. 
+            May be ignored by manipulators if home functionality is not appropriate.*/
+        virtual void home(GUIEventAdapter& ea,GUIActionAdapter& us);
+        
+        /** Start/restart the manipulator.*/
+        virtual void init(GUIEventAdapter& ea,GUIActionAdapter& us);
+
+
+        /** handle events, return true if handled, false otherwise.*/
+	virtual bool update(GUIEventAdapter& ea,GUIActionAdapter& us);
+
+    private:
+
+        /** Reset the internal GUIEvent stack.*/
+        void flushMouseEventStack();
+        /** Add the current mouse GUIEvent to internal stack.*/
+        void addMouseEvent(GUIEventAdapter& ea);
+
+        /** For the give mouse movement calculate the movement of the camera.
+            Return true is camera has moved and a redraw is required.*/
+        bool calcMovement();
+
+        void trackball(osg::Vec3& axis,float& angle, float p1x, float p1y, float p2x, float p2y);
+        float tb_project_to_sphere(float r, float x, float y);
+
+
+        /** Check the speed at which the mouse is moving.
+            If speed is below a threshold then return false, otherwise return true.*/
+        bool isMouseMoving();
+
+        // Internal event stack comprising last three mouse events.
+        osg::ref_ptr<GUIEventAdapter> _ga_t1;
+        osg::ref_ptr<GUIEventAdapter> _ga_t0;
+
+        osg::ref_ptr<osg::Node>       _node;
+
+        float _modelScale;
+        float _minimumZoomScale;
+
+        bool _thrown;
+
+};
+
+}
+
+#endif
+
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/State
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/State (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/State (revision 2)
@@ -0,0 +1,22 @@
+#ifndef OSG_STATE
+#define OSG_STATE 1
+
+#include <osg/Export>
+
+namespace osg {
+
+class SG_EXPORT State
+{
+    public :
+        State( void );
+        ~State( void );
+
+    private :
+        GeoState *initial;
+        GeoState *req;
+        GeoState *current;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Timer
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Timer (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Timer (revision 2)
@@ -0,0 +1,77 @@
+#ifndef OSG_TIMER
+#define OSG_TIMER 1
+
+#include <osg/Export>
+
+namespace osg {
+
+#ifdef WIN32
+	typedef __int64 Timer_t;
+#else
+	typedef unsigned long long Timer_t;
+#endif
+
+class SG_EXPORT Timer {
+
+    public:
+
+        Timer( void );
+        ~Timer( void );
+
+
+#ifdef WIN32
+        #pragma optimize("",off)
+        inline Timer_t tick( void )
+        {
+	    volatile Timer_t ts;
+			volatile unsigned int HighPart;
+            volatile unsigned int LowPart;
+            _asm
+            {
+                xor eax, eax        //  Used when QueryPerformanceCounter()
+                xor edx, edx        //  not supported or minimal overhead
+                _emit 0x0f          //  desired
+                _emit 0x31          //
+				mov HighPart,edx
+				mov LowPart,eax
+            }
+			//ts = LowPart | HighPart >> 32;
+			*((unsigned int*)&ts) = LowPart;
+            *((unsigned int*)&ts+1) = HighPart;
+            return ts;
+        }
+        #pragma optimize("",on)
+#endif
+#ifdef __linux
+        #define CLK(x)	  __asm__ volatile (".byte 0x0f, 0x31" : "=A" (x))
+	inline Timer_t tick( void ) {Timer_t x;CLK(x);return x;}
+#endif
+#ifdef __sgi
+        inline  Timer_t tick( void ) { return *clk; }
+#endif
+        double delta_s( Timer_t t1, Timer_t t2 );
+        double delta_m( Timer_t t1, Timer_t t2 );
+
+        Timer_t delta_u( Timer_t t1, Timer_t t2 );
+        Timer_t delta_n( Timer_t t1, Timer_t t2 );
+
+
+    private :
+
+        double microseconds_per_click;
+        double nanoseconds_per_click;
+        unsigned long *clk;
+        int cycleCntrSize;
+        static unsigned long dummy;
+
+	static int inited;
+	static double cpu_mhz;
+	void init( void );
+        
+    
+
+};
+
+
+};
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/ExtensionSupported
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/ExtensionSupported (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/ExtensionSupported (revision 2)
@@ -0,0 +1,15 @@
+#ifndef OSG_EXTENSIONSUPPORTED
+#define OSG_EXTENSIONSUPPORTED 1
+
+#include <osg/Export>
+
+namespace osg {
+
+/** return true if OpenGL "extension" is supported.
+    note: Must only called within a valid OpenGL context,
+    undefined behaviour may occur otherwise.*/
+SG_EXPORT extern bool ExtensionSupported(const char *extension);
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Geode
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Geode (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Geode (revision 2)
@@ -0,0 +1,108 @@
+#ifndef OSG_GEODE
+#define OSG_GEODE 1
+
+#include <osg/OSG>
+
+#include <osg/Node>
+#include <osg/GeoSet>
+#include <osg/NodeVisitor>
+
+#include <vector>
+
+namespace osg {
+
+/** Leaf Node for grouping GeoSets.*/
+class SG_EXPORT Geode : public Node
+{
+    public:
+
+        typedef std::vector< ref_ptr<GeoSet> > GeoSetList;
+
+        Geode();
+
+        virtual Object* clone() const { return new Geode(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Geode*>(obj)!=NULL; }
+        virtual const char* className() const { return "Geode"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+
+        /** Add GeoSet to Geode.
+         *  If gset is not NULL and is not contained in Geode then increment its  
+         *  reference count, add it to the geosets list and dirty the bounding 
+         *  sphere to force it to recompute on next getBound() and return true for success.
+         *  Otherwise return false.
+         */
+        virtual bool addGeoSet( GeoSet *gset );
+
+        /** Remove GeoSet from Geode.
+         *  If gset is contained in Geode then remove it from the geoset
+         *  list and decrement its reference count, and dirty the 
+         *  bounding sphere to force it to recompute on next getBound() and
+         *  return true for success.  If gset is not found then return false
+         *  and do not change the reference count of gset.
+         */
+        virtual bool removeGeoSet( GeoSet *gset );
+
+        /** Replace specified GeoSet with another GeoSet.
+         *  Decrement the reference count origGSet and increments the
+         *  reference count of newGset, and dirty the bounding sphere
+         *  to force it to recompute on next getBound() and returns true.
+         *  If origGeoSet is not found then return false and do not 
+         *  add newGset.  If newGset is NULL then return false and do
+         *  not remove origGset.
+         */
+        virtual bool replaceGeoSet( GeoSet *origGset, GeoSet *newGset );
+
+
+        /** return the number of geoset's.*/
+        int getNumGeosets( void ) const { return _geosets.size(); }
+
+        /** return geoset at position i.*/
+        GeoSet* getGeoSet( int i ) { return _geosets[i].get(); }
+
+        /** return true is geoset is contained within Geode.*/
+        bool containsGeoSet( GeoSet* gset)
+        {
+            
+            for (GeoSetList::iterator itr=_geosets.begin();
+                 itr!=_geosets.end();
+                 ++itr)
+            {
+                if (itr->get()==gset) return true;
+            }
+            return false;
+        }
+
+        /** return the iterator postion for specified GeoSet.
+         *  return _geoset.end() if gset not is contained in Geode.
+         */
+        GeoSetList::iterator findGeoSet( GeoSet* gset)
+        {
+            
+            for (GeoSetList::iterator itr=_geosets.begin();
+                 itr!=_geosets.end();
+                 ++itr)
+            {
+                if (itr->get()==gset) return itr;
+            }
+            return _geosets.end();
+        }
+
+        /** complile OpenGL Display List for each geoset.*/
+        void compileGeoSets( void );
+
+    protected:
+
+        virtual ~Geode();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        virtual bool computeBound( void );
+
+        GeoSetList _geosets;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Field
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Field (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Field (revision 2)
@@ -0,0 +1,100 @@
+#ifndef OSG_FIELD
+#define OSG_FIELD 1
+
+#include <osg/Export>
+#include <string>
+#include <stdlib.h>
+
+namespace osg {
+
+
+class SG_EXPORT Field
+{
+    public:
+
+        enum {
+            MIN_CACHE_SIZE = 256
+        };
+
+        Field();
+        Field(const Field& field);
+        virtual ~Field();
+
+        virtual Field& operator = (const Field& ic);
+
+        void reset();
+        void addChar(char c);
+        int getNoCharacters() const { return _fieldCacheSize; }
+
+        void setWithinQuotes(bool withinQuotes=true);
+        bool getWithinQuotes();
+
+        void setNoNestedBrackets(int no);
+        int getNoNestedBrackets();
+
+        enum FieldType
+        {
+            OPEN_BRACKET,
+            CLOSE_BRACKET,
+            STRING,
+            WORD,
+            REAL,
+            INTEGER,
+            BLANK,
+            UNINTIALISED
+        };
+
+        FieldType getFieldType() const;
+
+        bool isValid() const;
+
+        bool isOpenBracket() const;
+        bool isCloseBracket() const;
+
+        bool isWord() const;
+        bool matchWord(const char* str) const;
+        bool matchWord(const char* str,int noCharacters) const;
+
+        bool isString() const;
+        bool matchString(const char* str) const;
+        bool matchString(const char* str,int noCharacters) const;
+        bool isQuotedString() const;
+
+        const char* getStr() const;
+        char* takeStr();
+
+        bool isInt() const;
+        bool matchInt(int i) const;
+        bool getInt(int& i) const;
+
+        bool isFloat() const;
+        bool matchFloat(float f) const;
+        bool getFloat(float& f) const;
+
+        bool isDouble() const;
+        bool matchDouble(double f) const;
+        bool getDouble(double& d) const;
+
+        static FieldType calculateFieldType(const char* str,bool withinQuotes=false);
+
+    protected:
+
+        void _init();
+        void _free();
+        void _copy(const Field& ic);
+
+        int _fieldCacheCapacity;
+        int _fieldCacheSize;
+        char* _fieldCache;
+
+        mutable FieldType _fieldType;
+
+        bool _withinQuotes;
+
+        int _noNestedBrackets;
+
+};
+
+};
+
+#endif                                            // __SG_FIELD_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Node
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Node (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Node (revision 2)
@@ -0,0 +1,211 @@
+#ifndef OSG_NODE
+#define OSG_NODE 1
+
+#include <osg/Types>
+#include <osg/Object>
+#include <osg/BoundingSphere>
+
+#include <string>
+#include <vector>
+
+namespace osg {
+
+class NodeVisitor;
+class Group;
+
+/** Class for adapting the memory management of external data.
+ *  Typically used to specify the memory management of user data
+ *  which can be attached to osg::Node.
+ */
+class SG_EXPORT MemoryAdapter : public Referenced
+{
+    public:
+        MemoryAdapter() {}
+        
+        /** Increment the reference count of the userData.*/ 
+        virtual void incrementReference(void* /*userData*/) = 0;
+
+        /** Decrement the reference count of the userData.
+            Is usually implemented such that if reference count 
+            is decremented to zero the userData should be
+            deleted.  However, this is entirely up to the
+            discression of the user who is extending this base class.*/ 
+        virtual void decrementReference(void* /*userData*/) = 0;
+   
+        /** not current used, but will be used in future.*/ 
+        virtual void* clone(void* /*userData*/) { return 0L; }
+        
+        /** not current used, but will be used in future.*/ 
+        virtual bool write(Output& /*fw*/,void* /*userData*/) { return false; }
+
+        /** not current used, but will be used in future.*/ 
+        virtual bool read(Input& /*fr*/,void* /*userData*/) { return false; }
+
+    protected:
+    
+        virtual ~MemoryAdapter() {}
+};
+
+/** Base class for all internal nodes in the scene graph.
+    Provides interface for most common node operations (Composite Pattern).
+*/
+class SG_EXPORT Node : public Object
+{
+    public:
+
+        /** Construct a node.
+            Initialize the parent list to empty, node name to "" and 
+            bounding sphere dirty flag to true.*/
+        Node();
+
+        /** return a shallow copy of a node, with Object* return type.*/
+        virtual Object* clone() const { return new Node(); }
+        /** return a shallow copy of a node, with Node* return type.*/
+        Node* cloneNode() const { return (Node*)clone(); }
+
+        /** return true if this and obj are of the same kind of object.*/
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Node*>(obj)!=NULL; }
+
+        /** return the name of the node's class type.*/
+        virtual const char* className() const { return "Node"; }
+
+        /** Visitor Pattern : calls the apply method of a NodeVisitor with this node's type.*/
+        virtual void accept(NodeVisitor& nv);
+        /** Traverse upwards : calls parents' accept method with NodeVisitor.*/
+        virtual void ascend(NodeVisitor& nv);
+        /** Traverse downwards : calls children's accept method with NodeVisitor.*/
+        virtual void traverse(NodeVisitor& /*nv*/) {}
+
+
+        /** Set the name of node using C++ style string.*/
+        void setName( const std::string& name ) { _name = name; }
+        /** Set the name of node using a C style string.*/
+        void setName( const char* name ) { _name = name; }
+        /** Get the name of node.*/
+        const std::string& getName( void ) { return _name; }
+        
+
+        /** A vector of osg::Group pointers which is used to store the parent(s) of node.*/
+        typedef std::vector<Group*> ParentList;
+
+        /** Get the parent list of node. */
+        const ParentList& getParents() const { return _parents; }
+        /**
+         * Get a single parent of node.
+         * @param i index of the parent to get.
+         * @return the parent i.
+         */
+        Group* getParent(int i) const  { return _parents[i]; }
+        /**
+         * Get the number of parents of node.
+         * @return the number of parents of this node.
+         */
+        int getNumParents() const { return _parents.size(); }
+
+
+        /**
+         * Set user data. See MemoryAdapter documention for details
+         * of how to specify memory managament of _userData.
+         */
+        void setUserData(void* data,MemoryAdapter* ma=0L)
+        {
+            if (_userData && _memoryAdapter.valid()) _memoryAdapter->decrementReference(_userData);
+            _userData = data;
+            _memoryAdapter = ma;
+            if (_userData && _memoryAdapter.valid()) _memoryAdapter->incrementReference(_userData);
+        }
+        /** Get user data.*/
+        void* getUserData() const { return _userData; }
+        
+        /** Get the memory adapter associated with _userData.*/
+        MemoryAdapter* getMemoryAdapter() const { return _memoryAdapter.get(); }
+        
+
+        typedef unsigned int NodeMask;
+        /** Set the node mask. Note, node mask is will be replaced by TraversalMask.*/
+        void setNodeMask(NodeMask nm) { _nodeMask = nm; }
+        /** Get the node Mask. Note, node mask is will be replaced by TraversalMask.*/
+        NodeMask getNodeMask()        { return _nodeMask; }
+
+
+
+        /** A vector of std::string's which are used to describe the object.*/
+        typedef std::vector<std::string> DescriptionList;
+
+        /** Get the description list of the const node.*/        
+        const DescriptionList& getDescriptions() const { return _descriptions; }
+        /** Get the description list of the const node.*/        
+        DescriptionList& getDescriptions() { return _descriptions; }
+        /** Get a single const description of the const node.*/
+        const std::string& getDescription(int i) const { return _descriptions[i]; }
+        /** Get a single description of the node.*/
+        std::string& getDescription(int i) { return _descriptions[i]; }
+        /** Get the number of descriptions of the node.*/
+        int getNumDescriptions() const { return _descriptions.size(); }
+        /** Add a description string to the node.*/
+        void addDescription(const std::string& desc) { _descriptions.push_back(desc); }
+
+        /** get the bounding sphere of node.
+           Using lazy evaluation computes the bounding sphere if it is 'dirty'.*/
+        const BoundingSphere& getBound();
+
+        /** Mark this node's bounding sphere dirty.
+            Forcing it to be computed on the next call to getBound().*/
+        void dirtyBound();
+
+
+    protected:
+
+        /** Node destructor. Note, is protected so that Nodes cannot
+            be deleted other than by being dereferenced and the reference
+            count being zero (see osg::Referenced), preventing the deletion
+            of nodes which are still in use. This also means that
+            Node's cannot be created on stack i.e Node node will not compile,
+            forcing all nodes to be created on the heap i.e Node* node
+            = new Node().*/
+        virtual ~Node();
+
+        /**
+         * Template Method Pattern : read local data from .osg file.
+         * Note should be implemented in derived classes, which
+         * call their parent class's readLocalData.
+         * @return true if the input iterator has been advanced, otherwise false.
+         */
+        virtual bool readLocalData(Input& fr);
+
+        /**
+         * Template Method Pattern : read local data from .osg file.
+         * Note should be implemented in derivied classes, which
+         * call their parent class's writeLocalData.
+         * @return true if data has been written out, otherwise false.
+         */
+        virtual bool writeLocalData(Output& fw);
+
+        /** Compute the bounding sphere around Node's geometry or children.
+            This method is automatically called by getBound() when the bounding
+            sphere has been marked dirty via dirtyBound().*/
+        virtual bool computeBound( void ) ;
+
+        BoundingSphere _bsphere;
+        bool _bsphere_computed;
+
+        std::string _name;
+
+        ParentList _parents;
+        friend Group;
+
+        void*                   _userData;
+        ref_ptr<MemoryAdapter>  _memoryAdapter;
+
+        NodeMask _nodeMask;
+        
+        DescriptionList _descriptions;
+
+};
+
+/** A vector of Nodes pointers which is used to describe the path from a root node to a descendant.*/
+typedef std::vector<Node*> NodePath;
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Version
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Version (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Version (revision 2)
@@ -0,0 +1,33 @@
+#ifndef OSG_VERSION
+#define OSG_VERSION 1
+
+#include <osg/Export>
+
+extern "C" {
+
+/**
+ * getVersion_osg() returns the library version number.
+ * Numbering conventon : osg_src-0.8-31 will return 0.8.31 from getVersion_osg.
+ *
+ * This C function can be also used to check for the existance of the OpenSceneGraph
+ * library using autoconf and its m4 macro AC_CHECK_LIB.
+ *
+ * Here is the code to add to your configure.in:
+ \verbatim
+ #
+ # Check for the OpenSceneGraph (OSG) library
+ #
+ AC_CHECK_LIB(osg, osgGetVersion, ,
+    [AC_MSG_ERROR(OpenSceneGraph library not found. See http://www.openscenegraph.org)],)
+ \endverbatim
+*/
+extern SG_EXPORT const char* osgGetVersion();
+
+/**
+ * getLibraryName_osg() returns the library name in human friendly form.
+*/
+extern SG_EXPORT const char* osgGetLibraryName();
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/OSG
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/OSG (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/OSG (revision 2)
@@ -0,0 +1,15 @@
+#ifndef OSG_OSG
+#define OSG_OSG 1
+
+#include <osg/Node>
+
+namespace osg {
+
+SG_EXPORT extern void Init( void );
+SG_EXPORT extern void SetFilePath( const char *_path );
+SG_EXPORT extern char *FindFile( const char *file );
+SG_EXPORT extern char *findDSO( const char *name );
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Camera
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Camera (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Camera (revision 2)
@@ -0,0 +1,140 @@
+#ifndef OSG_CAMERA
+#define OSG_CAMERA 1
+
+#include <osg/Export>
+#include <osg/Scene>
+
+namespace osg {
+
+/** Camera class for encapsulating the view position and orientation.
+ *  This is the first implementation of osg::Camera class and
+ *  currently is a perspective camera, but in future will be
+ *  a base class from which PerpsectivCamera,FrustumCamera and OrthoCamera
+ *  will be derived.
+ */
+class SG_EXPORT Camera: public osg::Referenced
+{
+
+    public:
+
+        Camera();
+        virtual ~Camera();
+
+
+        /**
+         * Set field of view and window aspect ratio.
+         * The parameters have the same meaning as their counterparts
+         * in gluPerspective(fovy,aspectRatio
+         */
+        void setFieldOfView(double fovy,double aspectRatio);
+        
+        void setFieldOfViewY(double fovy) { _fovy = fovy; }
+        double getFieldOfViewY() const { return _fovy; }
+
+        void setAspectRatio(double aspectRatio) { _aspectRatio = aspectRatio; }
+        double getAspectRatio() const { return _aspectRatio; }
+
+        /**
+         * hardwired home view for now, looking straight down the
+         * Z axis at the origin, with 'up' being the y axis.
+         */
+        void home();
+
+        /**
+         * Set the View, the up vector should be orthogonal to the
+         * look vector.
+         */
+        void setView(Vec3 eyePoint,
+	             Vec3 lookPoint,
+	             Vec3 upVector);
+
+        /** get the eyepoint. */
+        const Vec3& getEyePoint() const	{return _eyePoint;}
+
+        /** get the lookpoint. */
+        const Vec3& getLookPoint() const {return _lookPoint;}
+
+        /** which way is up? */
+        const Vec3& getUpVector() const	{return _upVector;}
+
+        /** calculate side vector.*/
+        Vec3 getSideVector() const
+        {
+            Vec3 sv = (_lookPoint-_eyePoint)^_upVector;
+            sv.normalize();
+            return sv;
+        }
+
+        /** calculate look vector.*/
+        Vec3 getLookVector() const
+        {
+            Vec3 lv = (_lookPoint-_eyePoint);
+            lv.normalize();
+            return lv;
+        }
+
+        /** calculate focal distance.*/
+        float getFocalDistance() const
+        {
+            return (_lookPoint-_eyePoint).length();
+        }
+
+        /** set the near plane. */
+        void setNearPlane(double nearPlane)	{_nearPlane=nearPlane;}
+
+        /**get the near plane. */
+        double getNearPlane() const		{return _nearPlane;}
+
+        /** set the far plane. */
+        void setFarPlane(double farPlane)	{_farPlane=farPlane;}
+
+        /** get the far plane. */
+        double getFarPlane() const		{return _farPlane;}
+
+
+
+        /** Set up the OpenGL GL_PROJECTION matrix. 
+            Enters the GL_PROJECTION mode, sets up matrix, then
+            resets model GL_MODELVIEW, which is by OpenGL convention the default.*/
+        void draw_PROJECTION() const;
+
+        /** Set up the OpenGL GL_MODELVIEW matrix. 
+         *  Enters the GL_MODELVIEW mode, sets matrix to identity
+         *  and then sets matrix up according to camera, eye point, center
+         *  point and upvector.
+         */
+        void draw_MODELVIEW() const;
+
+
+
+        /** post multiply a camera by matrix.*/
+        void mult(const Camera& camera,const Matrix& m);
+
+        /** pre multiply a camera by matrix.*/
+        void mult(const Matrix& m,const Camera& camera);
+
+        void ensureOrthogonalUpVector();
+
+
+    private:
+
+        // Disallow copy construction & assignment (for now)
+        Camera(const Camera&);
+        Camera& operator=(const Camera&);
+
+        Vec3	_eyePoint;
+        Vec3	_lookPoint;
+        Vec3	_upVector;
+
+        double  _fovy;
+        double  _aspectRatio;
+
+        double	_nearPlane;	// No Dougal, these are small... but those...
+        double	_farPlane;	// are far away
+
+
+};
+
+}
+
+# endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Billboard
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Billboard (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Billboard (revision 2)
@@ -0,0 +1,84 @@
+#ifndef OSG_BILLBOARD
+#define OSG_BILLBOARD 1
+
+#include <osg/Geode>
+
+namespace osg {
+
+/** Billboard - a Geode which orientates its child osg::GeoSet's to face
+    the eye point.
+    Typical uses are for trees, or particle explosions.
+*/
+class SG_EXPORT Billboard : public Geode
+{
+    public:
+
+        enum Mode {
+            AXIAL_ROT,
+            POINT_ROT_EYE,
+            POINT_ROT_WORLD
+        };
+
+        Billboard();
+        
+        virtual Object* clone() const           { return new Billboard(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Billboard*>(obj)!=NULL; }
+        virtual const char* className() const   { return "Billboard"; }
+        virtual void accept(NodeVisitor& nv)    { nv.apply(*this); }
+
+
+        void setAxis(const Vec3& axis)          { _axis = axis; }
+        void getAxis(Vec3& axis) const          { axis = _axis; }
+
+        void setMode(Mode mode)                 { _mode = mode; }
+        int getMode() const                     { return _mode; }
+
+        void setPos(int i,const Vec3& pos)      { _positionList[i] = pos; }
+        void getPos(int i,Vec3& pos) const      { pos = _positionList[i]; }
+        
+        /** Add GeoSet to Billboard with default position(0,0,0);
+         *  If gset not NULL and is not contained in Billboard then increment its 
+         *  reference count, and dirty the bounding box to cause it to recompute on 
+         *  next getBound() and return true for success.  Otherwise return false.
+         */
+        virtual bool addGeoSet( GeoSet *gset );
+
+        /** Add GeoSet to Geode at position pos.
+         *  If gset not NULL and is not contained in Billboard then increment its 
+         *  reference count, and dirty the bounding box to cause it to recompute on 
+         *  next getBound() and return true for success.  Otherwise return false.
+         */
+        virtual bool addGeoSet(GeoSet *gset,const Vec3& pos);
+
+        /** Remove GeoSet and associated position from Billboard.
+         *  If gset is contained in Billboard then remove it from the geoset
+         *  list and decrement its reference count, and dirty the 
+         *  bounding box to cause it to recompute on next getBound() and
+         *  return true for success.  If gset is not found then return false
+         *  and do not the reference count of gset is left unchanged.
+         */
+        virtual bool removeGeoSet( GeoSet *gset );
+
+        void calcRotation(const Vec3& eye_local, const Vec3& pos_local,Matrix& mat);
+        void calcTransform(const Vec3& eye_local, const Vec3& pos_local,Matrix& mat);
+
+    protected:
+
+        virtual ~Billboard();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+        
+        virtual bool computeBound( void );
+
+        typedef std::vector<Vec3> PositionList;
+
+        Mode            _mode;
+        Vec3            _axis;
+        PositionList    _positionList;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Scene
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Scene (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Scene (revision 2)
@@ -0,0 +1,39 @@
+#ifndef OSG_SCENE
+#define OSG_SCENE 1
+
+#include <osg/Group>
+#include <osg/GeoState>
+
+namespace osg {
+
+/** The top level group node in a scene graph. */
+class SG_EXPORT Scene :  public Group
+{
+    public :
+        Scene();
+
+        virtual Object* clone() const { return new Scene(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Scene*>(obj)!=NULL; }
+        virtual const char* className() const { return "Scene"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+
+        /** set the scene's GeoState.*/
+        void setGState(osg::GeoState* gstate);
+
+        /** return the scene's GeoState.*/
+        osg::GeoState* getGState() { return _gstate; }
+
+    protected :
+
+        virtual ~Scene();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        osg::GeoState* _gstate;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Output
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Output (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Output (revision 2)
@@ -0,0 +1,98 @@
+#ifndef OSG_OUTPUT
+#define OSG_OUTPUT 1
+
+#include <osg/Export>
+
+#include <string>
+#include <map>
+
+#ifdef OSG_USE_IO_DOT_H
+#include <fstream.h>
+#else
+#include <fstream>
+using namespace std;
+#endif
+
+namespace osg {
+
+class Object;
+
+/** ofstream wrapper class for adding support for indenting.
+    Used in output of .osg ASCII files to improve their readability.*/
+class SG_EXPORT Output : public ofstream
+{
+    public:
+
+        Output();
+        virtual ~Output();
+
+        Output& indent();
+
+        int getIndentStep() const { return _indentStep; }
+        void setIndentStep(int step) { _indentStep = step; }
+
+        int getIndent() const { return _indent; }
+        void setIndent(int indent)  { _indent = indent; }
+
+        int getNumIndicesPerLine() const { return _numIndicesPerLine; }
+        void setNumIndicesPerLine(int num) { _numIndicesPerLine = num; }
+
+        void moveIn();
+        void moveOut();
+        
+        bool getUniqueIDForObject(Object* obj,std::string& uniqueID);
+        bool createUniqueIDForObject(Object* obj,std::string& uniqueID);
+        bool registerUniqueIDForObject(Object* obj,std::string& uniqueID);
+
+
+    protected:
+
+        // prevent copy construction and assignment.
+        Output(const Output&) : ofstream() {}
+        Output& operator = (const Output&) { return *this; }
+
+        virtual void _init();
+        virtual void _free();
+
+        int _indent;
+        int _indentStep;
+        
+        int _numIndicesPerLine;
+
+        typedef std::map<Object*,std::string> UniqueIDToLabelMapping;
+        UniqueIDToLabelMapping _objectToUniqueIDMap;
+
+};
+
+template<class T>
+bool writeArrayBlock(Output& fw,T* start,T* finish)
+{
+    fw.indent() << "{" << endl;
+    fw.moveIn();
+    int numIndicesThisLine = 0;
+    for(T* itr=start;itr!=finish;++itr)
+    {
+        if (numIndicesThisLine>=fw.getNumIndicesPerLine()) 
+        {
+            fw << endl;
+            numIndicesThisLine = 0;
+        }
+
+        if (numIndicesThisLine==0) fw.indent();
+        else fw << " ";
+
+        fw << *itr;
+
+        ++numIndicesThisLine;
+
+    }
+    fw << endl;
+    fw.moveOut();
+    fw.indent() << "}" << endl;
+    return true;
+}
+
+
+};
+
+#endif                                            // __SG_OUTPUT_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Texture
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Texture (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Texture (revision 2)
@@ -0,0 +1,104 @@
+#ifndef OSG_TEXTURE
+#define OSG_TEXTURE 1
+
+#include <osg/Export>
+#include <osg/GL>
+#include <osg/OSG>
+#include <osg/Image>
+
+namespace osg {
+
+
+class Input;
+class Output;
+
+/** Texture state class which encapsulates OpenGl texture functionality.*/
+class SG_EXPORT Texture : public Object
+{
+
+    public :
+        
+        Texture();
+        static Texture* instance();
+        virtual Object* clone() const { return new Texture(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Texture*>(obj)!=NULL; }
+        virtual const char* className() const { return "Texture"; }
+
+        /** Set the texture image. */
+        void setImage(Image* image);
+        /** Get the texture image. */
+        Image* getImage() const { return _image.get(); }
+
+        enum WrapParameter {
+            WRAP_S,
+            WRAP_T,
+            WRAP_R
+        };
+
+        enum WrapMode {
+            CLAMP                     = GL_CLAMP,
+            REPEAT                    = GL_REPEAT
+        };
+
+        /** Set the texture wrap mode.*/
+        void setWrap(WrapParameter which, WrapMode wrap);
+        /** Get the texture wrap mode.*/
+        WrapMode getWrap(WrapParameter which) const;
+
+
+        enum FilterParameter {
+            MIN_FILTER,
+            MAG_FILTER
+        };
+
+        enum FilterMode {
+            LINEAR                    = GL_LINEAR,
+            LINEAR_MIPMAP_LINEAR      = GL_LINEAR_MIPMAP_LINEAR,
+            LINEAR_MIPMAP_NEAREST     = GL_LINEAR_MIPMAP_NEAREST,
+            NEAREST                   = GL_NEAREST,
+            NEAREST_MIPMAP_LINEAR     = GL_NEAREST_MIPMAP_LINEAR,
+            NEAREST_MIPMAP_NEAREST    = GL_NEAREST_MIPMAP_NEAREST
+        };
+
+        /** Set the texture filter mode.*/
+        void setFilter(FilterParameter which, FilterMode filter);
+        /** Get the texture filter mode.*/
+        FilterMode getFilter(FilterParameter which) const;
+
+
+        /** Enable OpenGL texturing.*/
+        static void enable( void );
+        /** Disable OpenGL texturing.*/
+        static void disable( void );
+
+        /** On first apply, create the minmapped texture and bind it,
+            subsequent apply will simple bind to texture.*/
+        void apply( void );
+
+    protected :
+
+        virtual ~Texture();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        uint _handle;
+
+        ref_ptr<Image> _image;
+
+        bool matchWrapStr(const char* str,WrapMode& wrap);
+        const char* getWrapStr(WrapMode wrap);
+
+        bool matchFilterStr(const char* str,FilterMode& filter);
+        const char* getFilterStr(FilterMode filter);
+
+        WrapMode _wrap_s;
+        WrapMode _wrap_t;
+        WrapMode _wrap_r;
+        FilterMode _min_filter;
+        FilterMode _mag_filter;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/FileNameUtils
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/FileNameUtils (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/FileNameUtils (revision 2)
@@ -0,0 +1,18 @@
+#ifndef OSG_FILENAMEUTILS
+#define OSG_FILENAMEUTILS 1
+
+#include <osg/Export>
+
+#include <string>
+
+namespace osg {
+
+SG_EXPORT extern std::string getFilePath(const std::string& filename);
+SG_EXPORT extern std::string getFileExtension(const std::string& filename);
+SG_EXPORT extern std::string getLowerCaseFileExtension(const std::string& filename);
+SG_EXPORT extern std::string getSimpleFileName(const std::string& fileName);
+SG_EXPORT extern std::string getStrippedName(const std::string& fileName);
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Switch
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Switch (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Switch (revision 2)
@@ -0,0 +1,45 @@
+#ifndef OSG_SWITCH
+#define OSG_SWITCH 1
+
+#include <osg/Group>
+
+namespace osg {
+
+/** Switch - Group node which allows switching between children.
+    Typical uses would be for objects which might need to be rendered
+    differently at different times, for instance a switch could be used 
+    to represent the different states of a traffic light.
+*/
+class SG_EXPORT Switch : public Group
+{
+    public :
+        
+        enum SwitchType {
+            ALL_CHILDREN_ON=-1,
+            ALL_CHILDREN_OFF=-2
+        };
+
+        Switch();
+
+        virtual Object* clone() const { return new Switch(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Switch*>(obj)!=NULL; }
+        virtual const char* className() const { return "Switch"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+        virtual void traverse(NodeVisitor& nv);
+        
+        void setVal(int val) { _value = val; }
+        int getVal() const { return _value; }
+
+    protected :
+    
+        virtual ~Switch() {}
+        
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        int _value;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Referenced
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Referenced (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Referenced (revision 2)
@@ -0,0 +1,103 @@
+#ifndef OSG_REFERENCED
+#define OSG_REFERENCED 1
+
+#include <osg/Export>
+
+namespace osg {
+
+/** Convience functor for unreferencing objects.*/
+template<class T>
+struct UnrefOp
+{
+    void operator () (T* node) { node->unref(); }
+};
+
+/** Smart pointer for handling referenced counted objects.*/
+template<class T>
+class ref_ptr
+{
+
+    public:
+        ref_ptr() :_ptr(0L) {}
+        ref_ptr(T* t):_ptr(t)              { if (_ptr) _ptr->ref(); }
+        ref_ptr(const ref_ptr& rp):_ptr(rp._ptr)  { if (_ptr) _ptr->ref(); }
+        ~ref_ptr()                           { if (_ptr) _ptr->unref(); }
+
+        ref_ptr& operator = (const ref_ptr& rp)
+        {
+            if (_ptr==rp._ptr) return *this;
+            if (_ptr) _ptr->unref();
+            _ptr = rp._ptr;
+            if (_ptr) _ptr->ref();
+            return *this;
+        }
+
+        ref_ptr& operator = (T* ptr)
+        {
+            if (_ptr==ptr) return *this;
+            if (_ptr) _ptr->unref();
+            _ptr = ptr;
+            if (_ptr) _ptr->ref();
+            return *this;
+        }
+
+        bool operator == (const ref_ptr& rp) const
+        {
+            return (_ptr==rp._ptr);
+        }
+
+        bool operator == (const T* ptr) const
+        {
+            return (_ptr==ptr);
+        }
+
+        bool operator != (const ref_ptr& rp) const
+        {
+            return (_ptr!=rp._ptr);
+        }
+
+        bool operator != (const T* ptr) const
+        {
+            return (_ptr!=ptr);
+        }
+
+        T& operator*() const    { return *_ptr; }
+        T* operator->() const   { return _ptr; }
+	bool operator!() const	{ return _ptr==0L; }
+	bool valid() const	{ return _ptr!=0L; }
+
+        T* get() const { return _ptr; }
+
+    private:
+        T* _ptr;
+};
+
+/** Base class from providing referencing counted objects.*/
+class Referenced
+{
+
+    public:
+        Referenced() { _refCount=0; }
+        Referenced(Referenced&) { _refCount=0; }
+
+        Referenced& operator = (Referenced&) { return *this; }
+
+        /** increment the reference count by one, indicating that 
+            this object has another pointer which is referencing it.*/
+        void ref() { ++_refCount; }
+        /** decrement the reference count by one, indicating that 
+            a pointer to this object is referencing it.  If the
+            refence count goes to zero, it is assumed that this object
+            is nolonger referenced and is automatically deleted.*/
+        void unref() { --_refCount; if (_refCount<=0) delete this; }
+        /** return the number pointers currently referencing this object. */
+        int referenceCount() { return _refCount; }
+
+    protected:
+        virtual ~Referenced() {};
+        int _refCount;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Types
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Types (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Types (revision 2)
@@ -0,0 +1,32 @@
+#ifndef OSG_TYPES
+#define OSG_TYPES 1
+
+#include <osg/Export>
+#include <osg/Vec3>
+
+namespace osg {
+
+typedef unsigned int uint;
+typedef unsigned short ushort;
+typedef unsigned char uchar;
+typedef uchar ubyte;
+
+#ifdef WIN32
+#define M_E             2.7182818284590452354
+#define M_LOG2E         1.4426950408889634074
+#define M_LOG10E        0.43429448190325182765
+#define M_LN2           0.69314718055994530942
+#define M_LN10          2.30258509299404568402
+#define M_PI            3.14159265358979323846
+#define M_PI_2          1.57079632679489661923
+#define M_PI_4          0.78539816339744830962
+#define M_1_PI          0.31830988618379067154
+#define M_2_PI          0.63661977236758134308
+#define M_2_SQRTPI      1.12837916709551257390
+#define M_SQRT2         1.41421356237309504880
+#define M_SQRT1_2       0.70710678118654752440
+#endif
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Lighting
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Lighting (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Lighting (revision 2)
@@ -0,0 +1,21 @@
+#ifndef OSG_LIGHTING
+#define OSG_LIGHTING 1
+
+#include <osg/Export>
+
+namespace osg {
+
+/** Class to globally control OpenGL's lighting.*/
+
+class SG_EXPORT Lighting
+{
+    public :
+    	/** Enable lighting.*/
+        static void enable();
+	/** Disable lighting.*/
+        static void disable();
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/NodeVisitor
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/NodeVisitor (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/NodeVisitor (revision 2)
@@ -0,0 +1,94 @@
+#ifndef OSG_NODEVISITOR
+#define OSG_NODEVISITOR 1
+
+#include <osg/Node>
+
+namespace osg {
+
+class Geode;
+class Billboard;
+class LightSource;
+class Group;
+class DCS;
+class LOD;
+class Sequence;
+class Scene;
+class Switch;
+
+/** Visitor for type safe operations on osg::Node's.
+    Based on GOF's Visitor pattern.*/ 
+class SG_EXPORT NodeVisitor : public Referenced
+{
+    public:
+
+        enum TraversalMode {
+            TRAVERSE_NONE,
+            TRAVERSE_PARENTS,
+            TRAVERSE_ALL_CHILDREN,
+            TRAVERSE_ACTIVE_CHILDREN,
+            TRAVERSE_VISITOR
+        };
+
+        NodeVisitor(TraversalMode tm=TRAVERSE_NONE);
+        virtual ~NodeVisitor();
+
+
+        /** Set the traversal mode for Node::traverse() to use when 
+            deciding which children of a node to traverse. If a
+            NodeVisitor has been attached via setTraverseVisitor()
+            and the new mode is not TRAVERSE_VISITOR then the attached
+            visitor is detached. Default mode is TRAVERSE_NONE.*/
+        void setTraverseMode(TraversalMode mode);
+        /** Get the traversal mode.*/
+        TraversalMode getTraverseMode() { return _traverseMode; }
+        /** Set a visitor to handle traversal.
+            Overides the traverse mode setting it to TRAVERSE_VISITOR.*/
+
+        void setTraverseVisitor(NodeVisitor* nv);
+        /** Get the traverse visitor, returns NULL if none is attached.*/
+        NodeVisitor* getTraverseVisitor() { return _traverseVisitor; }
+
+        /** Inline method for passing handling traversal of a nodes.
+            If you intend to use the visitor for actively traversing 
+            the scene graph then make sure the accept() methods call
+            this method unless they handle traversal directly.*/
+        void traverse(Node& node)
+        {
+            if (_traverseVisitor) node.accept(*_traverseVisitor);
+            else if (_traverseMode==TRAVERSE_PARENTS) node.ascend(*this);
+            else if (_traverseMode!=TRAVERSE_NONE) node.traverse(*this);
+        }
+
+        virtual void apply(Node& node)     { traverse(node);}
+        
+        virtual void apply(Geode& node)    { apply((Node&)node); }
+        virtual void apply(Billboard& node){ apply((Geode&)node); }
+        virtual void apply(LightSource& node){ apply((Node&)node); }
+        
+        virtual void apply(Group& node)    { apply((Node&)node); }
+        virtual void apply(DCS& node)      { apply((Group&)node); }
+        virtual void apply(Switch& node)   { apply((Group&)node); }
+        virtual void apply(Sequence& node) { apply((Group&)node); }
+        virtual void apply(LOD& node)      { apply((Group&)node); }
+        virtual void apply(Scene& node)    { apply((Group&)node); }
+
+    protected:
+
+        NodeVisitor* _traverseVisitor;
+        TraversalMode _traverseMode;
+
+};
+
+
+/** Convinience functor for assisting visiting of arrays of osg::Node's.*/ 
+struct NodeAcceptOp
+{
+    NodeVisitor& _nv;
+    NodeAcceptOp(NodeVisitor& nv):_nv(nv) {}
+    void operator () (Node* node) { node->accept(_nv); }
+    void operator () (ref_ptr<Node> node) { node->accept(_nv); }
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Object
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Object (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Object (revision 2)
@@ -0,0 +1,76 @@
+#ifndef OSG_OBJECT
+#define OSG_OBJECT 1
+
+#include <osg/Referenced>
+
+namespace osg {
+
+class Input;
+class Output;
+
+/** Base class/standard interface for objects which require IO support, 
+    cloning and reference counting.
+    Based on GOF Composite, Prototype and Template Method patterns.
+*/
+class SG_EXPORT Object : public Referenced
+{
+    public:
+        /** Construct an object. Note Object is a pure virtual base class
+            and therefore cannot be constructed on its own, only derived
+            classes which overide the clone and className methods are
+            concrete classes and can be constructed.*/
+        Object() {}
+
+        /** return a shallow copy of a node, with Object* return type.
+            Must be defined by derived classes.*/
+        virtual Object* clone() const = 0;
+
+        virtual bool isSameKindAs(Object*) { return true; }
+
+        /** return the name of the object's class type. Must be defined
+            by derived classes.*/
+        virtual const char* className() const = 0;
+
+        /** Template Method/Prototype Pattern : create a clone and read
+            Object data from Input.  Reads Input and if it matches this 
+            objects className() then create a clone and match '{' brackets
+            and repeating calling Object::readLocalData() until the
+            matching ']' is read.*/
+        virtual Object* readClone(Input& fr);
+        /** Template Method Pattern : write out Object data to Output. 
+            Sequence of output is className() followed by Open '{'
+            and then call Object::writeLocalData() and complete with '}'.*/
+        virtual bool write(Output& fw);
+
+    protected:
+
+        /** Object destructor. Note, is protected so that Objects cannot
+            be deleted other than by being derefernced and the reference
+            count being zero (see osg::Referenced), preventing the deletion
+            of nodes which are still in use. This also means that
+            Node's cannot be created on stack i.e Node node will not compile,
+            forcing all nodes to be created on the heap i.e Node* node
+            = new Node().*/
+        virtual ~Object() {}
+
+        /** Template Method Pattern : read local data from .osg file.
+            Note should be implemented in derivied classes, which
+            call their parent class's readLocalData. Returns
+            true if the input iterator has been advanced, otherwise false.*/
+        virtual bool readLocalData(Input&) { return false; }
+        /** Template Method Pattern : write local data to .osg file.
+            Note should be implemented in derivied classes, which
+            call their parent class's writeLocalData. Returns
+            true if data has been written out, otherwise false.*/
+        virtual bool writeLocalData(Output&) { return false; }
+
+    private:
+
+        /** disallow any form of deep copy.*/
+        Object(Object&): Referenced() {}
+        Object& operator = (const Object&) { return *this; }
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/FieldReader
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/FieldReader (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/FieldReader (revision 2)
@@ -0,0 +1,62 @@
+#ifndef OSG_FIELDREADER
+#define OSG_FIELDREADER 1
+
+#include <osg/Export>
+#include <string.h>
+#include <stdlib.h>
+
+#ifdef OSG_USE_IO_DOT_H
+#include <iostream.h>
+#else
+#include <iostream>
+using namespace std;
+#endif
+
+namespace osg {
+
+class Field;
+
+class SG_EXPORT FieldReader
+{
+    public:
+
+        FieldReader();
+        FieldReader(const FieldReader& ic);
+        virtual ~FieldReader();
+
+        virtual FieldReader& operator = (const FieldReader& ic);
+
+        void attach(istream* input);
+        void detach();
+
+        virtual bool eof() const;
+
+        bool readField(Field& fieldPtr);
+        void ignoreField();
+        
+        /** no of unmatched `{' encounterd so far in file*/
+        int getNoNestedBrackets() const;
+
+    private:
+
+        bool _readField(Field* fieldPtr);
+
+        void _init();
+        void _free();
+        void _copy(const FieldReader& ic);
+
+        istream* _fin;
+        bool _eof;
+
+        bool findStartOfNextField();
+
+        int _noNestedBrackets;
+
+        bool _delimatorEatLookUp[256];
+        bool _delimatorKeepLookUp[256];
+
+};
+
+};
+
+#endif                                            // __SG_FIELD_READER_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Light
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Light (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Light (revision 2)
@@ -0,0 +1,143 @@
+#ifndef OSG_LIGHT
+#define OSG_LIGHT 1
+
+#include <osg/GL>
+#include <osg/OSG>
+#include <osg/Vec4>
+
+namespace osg {
+
+/** Light state class which encapsulates OpenGL glLight() functionality.*/
+class SG_EXPORT Light : public Object
+{
+    public :
+
+        Light();
+        
+        /** return a static instance of an osg::Light, to be used as prototype
+            for loading lights.*/
+        static Light* instance();
+
+        /** return a shallow copy of a node, with Object* return type.*/
+        virtual Object* clone() const { return new Light(); }
+
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Light*>(obj)!=NULL; }
+
+        /** return the name of the node's class type.*/
+        virtual const char* className() const { return "Light"; }
+
+
+
+	/**
+	 * Turn the light on.
+	 * Calling this method doesn't directly affect OpenGL's lighting mode.
+	 */
+        void on( void ) { _on = true; }
+
+	/**
+	 * Turn the light off.
+	 * Calling this method doesn't directly affect OpenGL's lighting mode.
+	 */
+	void off( void ) { _on = false; }
+
+	/** Enable OpenGL's Lighting mode. */
+        static void enable( void );
+
+	/** Disable OpenGL's Lighting mode. */
+        static void disable( void );
+
+	/** Apply the light's state to the OpenGL state machine. */
+        void apply( void );
+
+	/** Set the ambient component of the light. */
+        void setAmbient( const Vec4& ambient ) { _ambient = ambient; }
+
+	/** Get the ambient component of the light. */
+        const Vec4& getAmbient() const { return _ambient; }
+
+	/** Set the diffuse component of the light. */
+        void setDiffuse( const Vec4& diffuse ) { _diffuse = diffuse; }
+
+	/** Get the diffuse component of the light. */
+        const Vec4& getDiffuse() const { return _diffuse; }
+
+	/** Set the specular component of the light. */
+        void setSpecular( const Vec4& specular ) { _specular = specular; }
+
+	/** Get the specular component of the light. */
+        const Vec4& getSpecular() const { return _specular; }
+
+	/** Set the position of the light. */	
+        void setPosition( const Vec4& position ) { _position = position; }
+
+	/** Get the position of the light. */	
+        const Vec4& getPosition() const { return _position; }
+
+	/** Set the direction of the light. */	
+        void setDirection( const Vec3& direction ) { _direction = direction; }
+
+	/** Get the direction of the light. */	
+        const Vec3& getDirection() const { return _direction; }
+
+	/** Set the constant attenuation of the light. */
+        void setConstantAttenuation( float constant_attenuation )     { _constant_attenuation = constant_attenuation; }
+
+	/** Get the constant attenuation of the light. */
+        float setConstantAttenuation() const { return _constant_attenuation; }
+
+	/** Set the linear attenuation of the light. */
+        void setLinearAttenuation ( float linear_attenuation )        { _linear_attenuation = linear_attenuation; }
+
+	/** Get the linear attenuation of the light. */
+        float getLinearAttenuation () const { return _linear_attenuation; }
+
+	/** Set the quadratic attenuation of the light. */
+        void setQuadraticAttenuation ( float quadratic_attenuation )  { _quadratic_attenuation = quadratic_attenuation; }
+
+	/** Get the quadratic attenuation of the light. */
+        float getQuadraticAttenuation()  const { return _quadratic_attenuation; }
+
+	/** Set the spot exponent of the light. */
+        void setSpotExponent( float spot_exponent )                   { _spot_exponent = spot_exponent; }
+
+	/** Get the spot exponent of the light. */
+        float getSpotExponent() const { return _spot_exponent; }
+
+	/** Set the spot cutoff of the light. */
+        void setSpotCutoff( float spot_cutoff )                       { _spot_cutoff = spot_cutoff; }
+
+	/** Get the spot cutoff of the light. */
+        float getSpotCutoff()                                         { return _spot_cutoff; }
+
+	/**
+	 * Capture the lighting settings of the current OpenGL state
+	 * and store them in this object.
+	 */
+        void captureLightState();
+
+    protected :
+    
+        virtual ~Light( void );
+
+	/** Initialize the light's settings with some decent defaults. */
+        void init( void );
+
+        int _lightnum;                           // OpenGL light number
+        bool _on;                                // on/off state
+        Vec4 _ambient;                           // r, g, b, w
+        Vec4 _diffuse;                           // r, g, b, w
+        Vec4 _specular;                          // r, g, b, w
+        Vec4 _position;                          // x, y, z, w
+        Vec3 _direction;                         // x, y, z
+        float _constant_attenuation;             // constant
+        float _linear_attenuation;               // linear
+        float _quadratic_attenuation;            // quadratic
+        float _spot_exponent;                    // exponent
+        float _spot_cutoff;                      // spread
+
+        static int _currentLightNum;             // current max. OpenGL light number
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Registry
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Registry (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Registry (revision 2)
@@ -0,0 +1,168 @@
+#ifndef OSG_REGISTRY
+#define OSG_REGISTRY 1
+
+#include <vector>
+#include <string>
+
+#include <osg/Referenced>
+#include <osg/DynamicLibrary>
+
+namespace osg {
+
+// forward declare referenced classes to help avoid mutiple includes
+class Object;
+class Image;
+class Node;
+class Input;
+
+SG_EXPORT extern Object* loadObjectFile(const char *name);
+SG_EXPORT extern Image*  loadImageFile(const char *name);
+SG_EXPORT extern Node*   loadNodeFile(const char *name);
+
+SG_EXPORT extern bool saveObjectFile(Object& object, const char *name);
+SG_EXPORT extern bool saveImageFile(Image& image, const char *name);
+SG_EXPORT extern bool saveNodeFile(Node& node, const char *name);
+
+/** pure virtual base class for reading and writing of non native formats. */
+class SG_EXPORT ReaderWriter : public Referenced
+{
+    public:
+        virtual ~ReaderWriter() {}
+        virtual const char* className() = 0;
+        virtual bool acceptsExtension(const std::string& /*extension*/) { return false; }
+
+        virtual Object* readObject(const std::string& /*fileName*/) { return NULL; }
+        virtual Image* readImage(const std::string& /*fileName*/) { return NULL; }
+        virtual Node* readNode(const std::string& /*fileName*/) { return NULL; }
+
+        virtual bool writeObject(Object& /*obj*/,const std::string& /*fileName*/) {return false; }
+        virtual bool writeImage(Image& /*image*/,const std::string& /*fileName*/) {return false; }
+        virtual bool writeNode(Node& /*node*/,const std::string& /*fileName*/) { return false; }
+};
+
+/**
+    Registry is a singleton factory which stores
+    the Objects types available at runtime for loading,
+    and any Object reader or writers which are linked in
+    at runtime for reading non-native file formats.
+
+    The RegisterObjectProxy defined in Object.h can be
+    used to automatically register at runtime a Object
+    with the Registry.
+
+    The RegisterReaderWriterProxy defined in ReaderWriter.h can
+    be used to automatically register at runtime a reader/writer
+    with the Registry.
+*/
+class SG_EXPORT Registry
+{
+    public:
+
+        ~Registry();
+
+        static Registry* instance();
+
+        void addPrototype(Object* obj);
+        void removePrototype(Object* obj);
+
+        void addReaderWriter(ReaderWriter* rw);
+        void removeReaderWriter(ReaderWriter* rw);
+
+        /** create the platform specific library name associated with file.*/
+        std::string createLibraryNameForFile(const std::string& fileName);
+
+        /** create the platform specific library name associated with file extension.*/
+        std::string createLibraryNameForExt(const std::string& ext);
+
+        /** find the library in the SG_LIBRARY_PATH and load it.*/
+        bool loadLibrary(const std::string& fileName);
+        /** close the attached library with specified name.*/
+        bool closeLibrary(const std::string& fileName);
+
+        Object* readObject(Input& fr);
+        Object* readObject(const std::string& fileName);
+        bool    writeObject(Object& obj, const std::string& fileName);
+
+        Image*  readImage(Input& fr);
+        Image*  readImage(const std::string& fileName);
+        bool    writeImage(Image& obj, const std::string& fileName);
+
+        Node* readNode(Input& fr);
+        Node* readNode(const std::string& fileName);
+        bool  writeNode(Node& node, const std::string& fileName);
+        
+
+    private:
+
+        typedef std::vector<ref_ptr<Object> >          PrototypeList;
+        typedef std::vector<ref_ptr<ReaderWriter> >    ReaderWriterList;
+        typedef std::vector<ref_ptr<DynamicLibrary> >  DynamicLibraryList;
+
+        /** constructor is private, as its a singleton, preventing
+            construction other than via the instance() method and
+            therefore ensuring only one copy is ever constructed*/
+        Registry();
+        
+        /** get the attached library with specified name.*/
+        DynamicLibraryList::iterator getLibraryItr(const std::string& fileName);
+        DynamicLibrary*              getLibrary(const std::string& fileName);
+
+        PrototypeList       _protoList;
+        ReaderWriterList    _rwList;
+        DynamicLibraryList  _dlList;
+
+        std::vector<int>                _nodeProtoList;
+        std::vector<int>     	        _imageProtoList;
+
+        bool _openingLibrary;
+
+};
+
+/**  Proxy class for automatic registration of reader/writers with the
+     Registry.*/
+template<class T>
+class RegisterObjectProxy
+{
+    public:
+        RegisterObjectProxy()
+        {
+            _obj = new T;
+            _obj->ref();
+            Registry::instance()->addPrototype(_obj);
+        }
+        ~RegisterObjectProxy()
+        {
+            Registry::instance()->removePrototype(_obj);
+            _obj->unref();
+        }
+        
+    protected:
+        T* _obj;
+};
+
+/** Proxy class for automatic registration of reader/writers with the
+    Registry.*/
+template<class T>
+class RegisterReaderWriterProxy
+{
+    public:
+        RegisterReaderWriterProxy()
+        {
+            _rw = new T;
+            _rw->ref();
+            Registry::instance()->addReaderWriter(_rw);
+        }
+
+        ~RegisterReaderWriterProxy()
+        {
+            Registry::instance()->removeReaderWriter(_rw);
+            _rw->unref();
+        }
+        
+    protected:
+        T* _rw;
+};
+
+};
+
+#endif // __SG_OBJECT_FACTORY_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Transparency
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Transparency (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Transparency (revision 2)
@@ -0,0 +1,50 @@
+#ifndef OSG_TRANSPARENCY
+#define OSG_TRANSPARENCY 1
+
+#include <osg/Export>
+#include <osg/Object>
+#include <osg/GL>
+
+namespace osg {
+
+
+class SG_EXPORT Transparency : public Object
+{
+    public :
+
+        enum TransparencyMode {
+            DST_ALPHA            = GL_DST_ALPHA,
+            DST_COLOR            = GL_DST_COLOR,
+            ONE                  = GL_ONE,
+            ONE_MINUS_DST_ALPHA  = GL_ONE_MINUS_DST_ALPHA,
+            ONE_MINUS_DST_COLOR  = GL_ONE_MINUS_DST_COLOR,
+            ONE_MINUS_SRC_ALPHA  = GL_ONE_MINUS_SRC_ALPHA,
+            ONE_MINUS_SRC_COLOR  = GL_ONE_MINUS_SRC_COLOR,
+            SRC_ALPHA            = GL_SRC_ALPHA,
+            SRC_ALPHA_SATURATE   = GL_SRC_ALPHA_SATURATE,
+            SRC_COLOR            = GL_SRC_COLOR,
+            ZERO                 = GL_ZERO
+        };
+
+        Transparency();
+        static Transparency * instance();
+        virtual Object* clone() const { return new Transparency(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Transparency*>(obj)!=NULL; }
+        virtual const char* className() const { return "Transparency"; }
+
+        void setFunction( int source, int destination );
+        static void enable( void );
+        static void disable( void );
+        void apply( void );
+
+    protected :
+
+        virtual ~Transparency();
+
+        int _source_factor;
+        int _destination_factor;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/TexEnv
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/TexEnv (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/TexEnv (revision 2)
@@ -0,0 +1,45 @@
+#ifndef OSG_TEXENV
+#define OSG_TEXENV 1
+
+#include <osg/Export>
+#include <osg/GL>
+#include <osg/Object>
+
+namespace osg {
+
+
+class SG_EXPORT TexEnv : public Object
+{
+    public :
+
+        enum TexEnvMode {
+            DECAL     = GL_DECAL,
+            MODULATE  = GL_MODULATE,
+            BLEND     = GL_BLEND
+        };
+
+        TexEnv( void );
+        static TexEnv* instance();
+        virtual Object* clone() const { return new TexEnv(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<TexEnv*>(obj)!=NULL; }
+        virtual const char* className() const { return "TexEnv"; }
+
+
+        void setMode( TexEnvMode mode );
+        void apply( void );
+
+    protected :
+
+        virtual ~TexEnv( void );
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        bool matchModeStr(const char* str,TexEnvMode& mode);
+        const char* getModeStr(TexEnvMode mode);
+
+        TexEnvMode _mode;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Quat
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Quat (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Quat (revision 2)
@@ -0,0 +1,231 @@
+#ifndef OSG_QUAT
+#define OSG_QUAT 1
+
+#include <osg/Export>
+#include <math.h>
+
+#include <osg/Vec4>
+#include <osg/Vec3>
+#include <osg/Matrix>
+
+namespace osg {
+
+/** A quaternion class. It can be used to represent an orientation in 3D space.*/
+class SG_EXPORT Quat
+{
+
+    public:
+
+     /* ----------------------------------------------------------
+				DATA MEMBERS
+        The only data member is a
+	Vec4 which holds the elements
+
+	In other words, osg:Quat is composed of an osg::Vec4
+	The osg::Quat aggregates an osg::Vec4
+
+	These seem to be different jargons for the same thing :-)
+	---------------------------------------------------------- */
+	Vec4 _fv;	// a four-vector
+
+     /* ---------------------------------- 
+	   CONSTRUCTORS
+	Default constructor
+	One to accept four floats
+	One to accept a Vec4
+	These are implemented in Quat.cpp
+	---------------------------------- */
+	Quat( void );
+	Quat( float x, float y, float z, float w );
+	Quat( const Vec4& vec );
+
+     /* ----------------------------------
+	   Methods to access data members
+	---------------------------------- */
+	inline Vec4 asVec4( void ) const
+	{
+	    return _fv;
+	}
+
+	inline Vec3 asVec3( void ) const
+	{
+	    return Vec3(_fv[0], _fv[1], _fv[2]);
+	}
+
+     /* ------------------------------------------------------------- 
+	 		  BASIC ARITHMETIC METHODS		    
+	Implemented in terms of Vec4s.  Some Vec4 operators, e.g.
+	operator* are not appropriate for quaternions (as
+	mathematical objects) so they are implemented differently.
+	Also define methods for conjugate and the multiplicative inverse.		    
+	------------------------------------------------------------- */
+	/// Multiply by scalar 
+        inline Quat operator * (const float& rhs) const
+        {
+            return Quat(_fv*rhs);
+        }
+
+	/// Unary multiply by scalar 
+        inline Quat& operator *= (const float& rhs)
+        {
+            _fv*=rhs;
+            return *this;		// enable nesting
+        }
+
+	/// Binary multiply 
+	inline Quat operator*(const Quat& rhs) const
+	{
+	    return Quat( _fv[3]*rhs._fv[0] + _fv[0]*rhs._fv[3] + _fv[1]*rhs._fv[2] - _fv[2]*rhs._fv[1],
+			 _fv[3]*rhs._fv[1] - _fv[0]*rhs._fv[2] + _fv[1]*rhs._fv[3] + _fv[2]*rhs._fv[0],
+			 _fv[3]*rhs._fv[2] + _fv[0]*rhs._fv[1] - _fv[1]*rhs._fv[0] + _fv[2]*rhs._fv[3],
+			 _fv[3]*rhs._fv[3] - _fv[0]*rhs._fv[0] - _fv[1]*rhs._fv[1] - _fv[2]*rhs._fv[2] );
+	}
+
+	/// Unary multiply 
+	inline Quat& operator*=(const Quat& rhs)
+	{
+	    float x = _fv[3]*rhs._fv[0] + _fv[0]*rhs._fv[3] + _fv[1]*rhs._fv[2] - _fv[2]*rhs._fv[1];
+	    float y = _fv[3]*rhs._fv[1] - _fv[0]*rhs._fv[2] + _fv[1]*rhs._fv[3] + _fv[2]*rhs._fv[0];
+	    float z = _fv[3]*rhs._fv[2] + _fv[0]*rhs._fv[1] - _fv[1]*rhs._fv[0] + _fv[2]*rhs._fv[3];
+	    _fv[3]   = _fv[3]*rhs._fv[3] - _fv[0]*rhs._fv[0] - _fv[1]*rhs._fv[1] - _fv[2]*rhs._fv[2];
+
+	    _fv[2] = z;
+	    _fv[1] = y;
+	    _fv[0] = x;
+
+	    return (*this);			// enable nesting
+	}
+
+	/// Divide by scalar 
+        inline Quat operator / (const float& rhs) const
+        {
+            return Quat(_fv/rhs);
+        }
+
+	/// Unary divide by scalar 
+        inline Quat& operator /= (const float& rhs)
+        {
+            _fv/=rhs;
+            return *this;
+        }
+
+	/// Binary divide 
+	inline Quat operator/(const Quat& denom) const
+	{
+	    return ( (*this) * denom.inverse() );
+	}
+
+	/// Unary divide 
+	inline Quat& operator/=(const Quat& denom)
+	{
+	    (*this) = (*this) * denom.inverse();
+	    return (*this);			// enable nesting
+	}
+
+	/// Binary addition 
+        inline Quat operator + (const Quat& rhs) const
+        {
+            return Quat( _fv + rhs._fv );
+        }
+
+	/// Unary addition
+        inline Quat& operator += (const Quat& rhs)
+        {
+            _fv += rhs._fv;
+            return *this;			// enable nesting
+        }
+
+	/// Binary subtraction 
+        inline Quat operator - (const Quat& rhs) const
+        {
+            return Quat( _fv - rhs._fv );
+        }
+
+	/// Unary subtraction 
+        inline Quat& operator -= (const Quat& rhs)
+        {
+            _fv-=rhs._fv;
+            return *this;			// enable nesting
+        }
+
+	/** Negation operator - returns the negative of the quaternion.
+	    Basically just calls operator - () on the Vec4 */
+        inline Quat operator - () const
+        {
+            return Quat ( -_fv );
+        }
+
+        /// Length of the quaternion = sqrt( vec . vec )
+        float length( void ) const
+        {
+            return _fv.length();
+        }
+
+        /// Length of the quaternion = vec . vec
+        float length2( void ) const
+        {
+            return _fv.length2();
+        }
+
+	/// Conjugate 
+	inline Quat conj ( void ) const
+	{ 
+	    return Quat( -_fv[0], -_fv[1], -_fv[2], _fv[3] );
+	}
+
+	/// Multiplicative inverse method: q^(-1) = q^*/(q.q^*)
+	inline Quat inverse ( void ) const
+	{
+	    return conj() / length2();
+	}
+
+      /* -------------------------------------------------------- 
+	 		  METHODS RELATED TO ROTATIONS
+	Set a quaternion which will perform a rotation of an
+	angle around the axis given by the vector (x,y,z).
+	Should be written to also accept an angle and a Vec3?
+
+	Define Spherical Linear intERPolation method also
+
+	Not inlined - see the Quat.cpp file for implementation
+	-------------------------------------------------------- */
+	void makeRot ( const float angle, 
+                       const float x, const float y, const float z );
+	void makeRot ( const float angle, const Vec3& vec );
+
+        /** Make a rotation Quat which will rotate vec1 to vec2.
+            Generally take adot product to get the angle between these
+            and then use a cross product to get the rotation axis
+            Watch out for the two special cases of when the vectors
+            are co-incident or opposite in direction.*/
+        void makeRot( const Vec3& vec1, const Vec3& vec2 );
+
+	/** Return the angle and vector components represented by the quaternion.*/
+	void getRot  ( float& angle, float& x, float& y, float& z ) const;
+	/** Return the angle and vector represented by the quaternion.*/
+	void getRot  ( float& angle, Vec3& vec ) const;
+
+	/** Spherical Linear Interpolation.
+	    As t goes from 0 to 1, the Quat object goes from "from" to "to". */
+	void slerp   ( const float t, const Quat& from, const Quat& to);
+        
+        /** Set quaternion to be equivalent to specified matrix.*/
+        void set( const osg::Matrix& m );
+
+        /** Get the equivalent matrix for this quaternion.*/
+        void get( osg::Matrix& m ) const;
+
+        friend inline ostream& operator << (ostream& output, const Quat& vec)
+        {
+            output << vec._fv[0] << " "
+	           << vec._fv[1] << " "
+	           << vec._fv[2] << " "
+	           << vec._fv[3];
+            return output; 	// to enable cascading
+        }
+
+
+};	// end of class prototype
+
+};	// end of namespace
+#endif 
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/GeoState
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/GeoState (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/GeoState (revision 2)
@@ -0,0 +1,150 @@
+#ifndef OSG_GEOSTATE
+#define OSG_GEOSTATE 1
+
+#include <osg/OSG>
+#include <osg/Texture>
+#include <osg/TexGen>
+#include <osg/Light>
+#include <osg/Material>
+#include <osg/TexEnv>
+#include <osg/Transparency>
+#include <osg/Lighting>
+#include <osg/Fog>
+#include <osg/TexMat>
+#include <osg/CullFace>
+#include <osg/Point>
+#include <osg/PolygonOffset>
+#include <osg/AlphaFunc>
+
+namespace osg {
+
+class Input;
+class Output;
+
+/**
+Encapsulates OpenGL state modes and attributes. 
+Used to specificy textures etc of osg::GeoSet's which hold references
+to a single osg::GeoState.  GeoState can be shared between GeoSet's
+and is recommend if possible as it minimize expensive state changes
+in the graphics pipeline.
+*/
+class SG_EXPORT GeoState : public Object
+{
+    public :
+
+        enum AttributeType
+        {
+            ANTIALIAS,
+            FACE_CULL,
+            FOG,
+            LIGHTING,
+            MATERIAL,
+            POINT,
+            POLYGON_OFFSET,
+            TEXENV,
+            TEXGEN,
+            TEXMAT,
+            TEXTURE,
+            TRANSPARENCY,
+            WIREFRAME,
+            ALPHAFUNC
+        };
+
+        enum AttributeMode
+        {
+            INHERIT,
+            OFF,
+            ON,
+            OVERRIDE_OFF,
+            OVERRIDE_ON,
+        };
+        
+        GeoState();
+        static GeoState* instance();
+        virtual Object* clone() const { return new GeoState(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<GeoState*>(obj)!=NULL; }
+        const char* className() const { return "GeoState"; }
+
+        /** set all the modes to on or off so that it defines a 
+            complete state, typically used for a default global state.*/
+        void setGlobalDefaults();
+
+        /** set all the modes to inherit, typically used to signifiy
+            nodes which inherit all of their modes for the global state.*/
+        void setAllToInherit();
+
+        void setMode(AttributeType type, AttributeMode mode);
+        AttributeMode getMode(AttributeType type) const;
+
+        void setAttribute(AttributeType type, Object *attribute);
+        Object* getAttribute(AttributeType type) const;
+
+        bool isTransparent() { return _transparencing==ON; }
+
+        void apply();
+        void apply(GeoState* global,GeoState* prev);
+
+        bool check();
+
+        static AttributeMode combineMode(const AttributeMode g,const AttributeMode p,const AttributeMode c)
+        {            
+            AttributeMode gp = mergeMode(g,p);
+            AttributeMode gc = mergeMode(g,c);
+            if (gc==gp) return INHERIT;
+            else return gc;
+        }
+
+        static AttributeMode mergeMode(const AttributeMode lhs,const AttributeMode rhs)
+        {       
+            AttributeMode mode; 
+            if (rhs==INHERIT || lhs==OVERRIDE_OFF || lhs==OVERRIDE_ON) mode = lhs;
+            else mode = rhs;
+            if (mode==OVERRIDE_OFF) return OFF;
+            else if (mode==OVERRIDE_OFF) return ON;
+            return mode;
+        }
+
+    protected :
+
+
+        virtual ~GeoState();
+
+        GeoState(const GeoState&):Object() {}
+        GeoState& operator = (const GeoState&) { return *this; }
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        bool matchModeStr(const char* str, AttributeMode& mode);
+        const char* getModeStr(AttributeMode flag);
+
+        // Modes
+        AttributeMode _transparencing;
+        AttributeMode _face_culling;
+        AttributeMode _lighting;
+        AttributeMode _texturing;
+        AttributeMode _fogging;
+        AttributeMode _texgening;
+        AttributeMode _antialiasing;
+        AttributeMode _colortable;
+        AttributeMode _pointSmoothing;
+        AttributeMode _polygonOffsetting;
+        AttributeMode _alphaTesting;
+
+        // Attributes
+        ref_ptr<Texture>        _texture;
+        ref_ptr<TexGen>         _texgen;
+        ref_ptr<Material>       _material;
+        ref_ptr<TexEnv>         _texenv;
+        ref_ptr<Transparency>   _transparency;
+        ref_ptr<TexMat>         _texmat;
+        ref_ptr<Fog>            _fog;
+        ref_ptr<Point>          _point;
+        ref_ptr<PolygonOffset>  _polygonOffset;
+        ref_ptr<CullFace>       _cullFace;
+        ref_ptr<AlphaFunc>      _alphaFunc;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/BoundingSphere
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/BoundingSphere (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/BoundingSphere (revision 2)
@@ -0,0 +1,85 @@
+#ifndef OSG_BOUNDINGSPHERE
+#define OSG_BOUNDINGSPHERE 1
+
+#include <osg/Export>
+#include <osg/Vec3>
+
+namespace osg {
+
+/** General purpose bounding sphere class for enclosing nodes/objects/vertices.
+    Used to bound internal osg::Node's in the scene,
+    to assist in view frustrum culling etc.  Similar in function to BoundingBox
+    but is quicker for evaluating culling, but generally encloses a greater volume
+    than a BoundingBox so will not cull so aggressively.
+*/
+class SG_EXPORT BoundingSphere
+{
+    public:
+        
+        Vec3 _center;
+        float _radius;
+
+        /** construct to invalid values to represent an unset bounding sphere.*/ 
+        BoundingSphere() : _center(0.0f,0.0f,0.0f),_radius(-1.0f) {}
+    
+        /** initialize to invalid values to represent an unset bounding sphere.*/ 
+        void init()
+        {
+            _center.set(0.0f,0.0f,0.0f);
+            _radius = -1.0f;
+        }
+
+        /** return true if the bounding sphere contains valid values,
+            false if the bounding sphere is effectively unset.*/
+        bool isValid() const { return _radius>=0.0f; }
+
+
+        /** return the const center of the bounding sphere.*/
+        const Vec3& center() const { return _center; }
+        /** return the center of the bounding sphere.*/
+        Vec3& center() { return _center; }
+
+        /** return the const radius of the bounding sphere.*/
+        float radius() const { return _radius; }
+        /** return the radius of the bounding sphere.*/
+        float& radius() { return _radius; }
+        
+        /** return the radius squared. 
+            Note, for performance reasons, assumes the calling method has ensured 
+            that the sphere is valid before calling radius2(), i.e. has _radius>=0.0,
+            as it does not check th validity of sphere and will eroneously return a positive value.*/
+        float radius2() const { return _radius*_radius; }
+        
+        /** If the vertex is outwith the sphere expand to ecompass vertex.
+            Calculates the combination of movement of center and radius which
+            minimizes the radius increase. If this sphere is empty then
+            move the centrer to v and set radius to 0.*/
+        void expandBy(const Vec3& v);
+
+        /** If the vertex is outwith the sphere expand radius to ecompass vertex.
+            Unlike update, does not move the center, just increasing the radius.
+            If this sphere is empty then move the centrer to v and set radius to 0 */
+        void expandRadiusBy(const Vec3& v);
+
+        /** If incomming sphere is outwith the sphere expand to ecompass incomming sphere.
+            calculates the combination of movement of center and radius which
+            minimizes the radius increase. If this sphere is empty then
+            move the centrer to v and set radius to 0.*/
+        void expandBy(const BoundingSphere& sh);
+
+        /** If incomming sphere is outwith the sphere expand radius to ecompass incomming sphere.
+            Unlike update, does not move the center, just increasing the radius.
+            If this sphere is empty then move the centrer to v and set radius to 0. */
+        void expandRadiusBy(const BoundingSphere& sh);
+
+        /** return true is vertex v is within the sphere.*/
+        bool contains(const Vec3& v)
+        {
+            return isValid() && ((v-_center).length2()<=radius2());
+        }
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/BoundingBox
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/BoundingBox (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/BoundingBox (revision 2)
@@ -0,0 +1,116 @@
+#ifndef OSG_BOUNDINGBOX
+#define OSG_BOUNDINGBOX 1
+
+#include <osg/Export>
+#include <osg/Vec3>
+#include <float.h>
+
+namespace osg {
+
+class BoundingSphere;
+
+/** General purpose axis-aligned bounding box class for enclosing objects/vertices.
+    Used to bounding the leaf objects in the scene,
+    i.e. osg::GeoSet's to assist in view frustum culling etc.
+*/
+class SG_EXPORT BoundingBox
+{
+    public:
+    
+	/** The corner with the smallest values for each coordinate of the
+	    bounding box.*/
+	Vec3 _min;
+	/** The corner with the largest values for each coordinate of the
+	    bounding box.*/
+	Vec3 _max;
+
+        /** construct to invalid values to represent an unset bounding box.*/ 
+        BoundingBox() : _min(FLT_MAX,FLT_MAX,FLT_MAX),
+                        _max(-FLT_MAX,-FLT_MAX,-FLT_MAX) {}
+    
+        /** initialize to invalid values to represent an unset bounding box.*/ 
+        void init()
+        {
+            _min.set(FLT_MAX,FLT_MAX,FLT_MAX);
+            _max.set(-FLT_MAX,-FLT_MAX,-FLT_MAX);
+        }
+        
+        /** return true if the bounding box contains valid values,
+            false if the bounding box is effectively unset/empty.*/
+        bool isValid() const
+        {
+            return _max.x()>=_min.x();
+        }
+                
+        float& xMin() { return _min.x(); }
+        float xMin() const { return _min.x(); }
+ 
+        float& yMin() { return _min.y(); }
+        float yMin() const { return _min.y(); }
+ 
+        float& zMin() { return _min.z(); }
+        float zMin() const { return _min.z(); }
+
+        float& xMax() { return _max.x(); }
+        float xMax() const { return _max.x(); }
+ 
+        float& yMax() { return _max.y(); }
+        float yMax() const { return _max.y(); }
+ 
+        float& zMax() { return _max.z(); }
+        float zMax() const { return _max.z(); }
+
+        /** Calculate and return the center of the bounding box.*/
+        Vec3 center() const
+        {
+            return (_min+_max)*0.5f;
+        }
+
+        /** Calculate and return the radius of the bounding box.*/
+        float radius() const
+        {
+            return sqrtf(radius2());
+        }
+
+        /** Calculate and return the radius squared of the bounding box.
+            Note, radius2() is faster to calculate than radius().*/            
+        float radius2() const
+        {
+            return 0.25f*((_max-_min).length2());
+        }
+
+        /** return the corner of the bounding box.
+            Position (pos) is specfied by a number between 0 and 7,
+            the first bit toggles between x min and x max, second
+            bit toggles between y min and y max, third bit toggles
+            between z min and z max.*/
+        Vec3 corner(unsigned int pos) const
+        {
+            return Vec3(pos&1?_max.x():_min.x(),pos&2?_max.y():_min.y(),pos&4?_max.z():_min.z());
+        }
+
+        /** If the vertex is outwith the box expand to ecompass vertex.
+            If this box is empty then move set this box's min max to vertex. */
+        void expandBy(const Vec3& v);
+
+        /** If incomming box is outwith the box expand to ecompass incomming box.
+            If this box is empty then move set this box to incomming box. */
+        void expandBy(const BoundingBox& bb);
+
+        /** If incomming sphere is outwith the box expand to ecompass incomming sphere.
+            If this box is empty then move set this box to encompass the sphere. */
+        void expandBy(const BoundingSphere& sh);
+
+        /** return true is vertex v is within the box.*/
+        bool contains(const Vec3& v)
+        {
+            return isValid() && 
+                   (v.x()>=_min.x() && v.x()<=_max.x()) &&
+                   (v.y()>=_min.y() && v.y()<=_max.y()) &&
+                   (v.z()>=_min.z() && v.z()<=_max.z());
+        }
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/FieldReaderIterator
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/FieldReaderIterator (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/FieldReaderIterator (revision 2)
@@ -0,0 +1,68 @@
+#ifndef OSG_FIELDREADERITERATOR
+#define OSG_FIELDREADERITERATOR 1
+
+#include <osg/Field>
+#include <osg/FieldReader>
+
+namespace osg {
+
+
+class SG_EXPORT FieldReaderIterator
+{
+    public:
+
+        enum {
+            MINIMUM_FIELD_READER_QUEUE_SIZE = 10
+        };
+
+        FieldReaderIterator();
+        FieldReaderIterator(const FieldReaderIterator& ic);
+        virtual ~FieldReaderIterator();
+
+        virtual FieldReaderIterator& operator = (const FieldReaderIterator& ic);
+
+        void attach(istream* input);
+        void detach();
+
+        virtual bool eof() const;
+
+        FieldReader& getFieldReader() { return _reader; }
+
+        void insert(int pos,Field* field);
+        void insert(int pos,const char* str);
+
+        Field& operator [] (int pos);
+        Field& field (int pos);
+
+        FieldReaderIterator& operator ++ ();
+        FieldReaderIterator& operator += (int no);
+
+/** increments the itetor of the next simple field or
+    whole block if the current field[0] is an open bracket */
+        void advanceOverCurrentFieldOrBlock();
+        void advanceToEndOfCurrentBlock();
+        void advanceToEndOfBlock(int noNestBrackets);
+
+        bool matchSequence(const char* str);
+
+    private:
+
+        void _init();
+        void _free();
+        void _copy(const FieldReaderIterator& ic);
+
+        FieldReader _reader;
+
+        Field _blank;
+
+        Field* _previousField;
+
+        Field** _fieldQueue;
+        int _fieldQueueSize;
+        int _fieldQueueCapacity;
+
+};
+
+};
+
+#endif                                            // __OSG_FIELD_READER_QUEUE_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Export
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Export (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Export (revision 2)
@@ -0,0 +1,32 @@
+#ifndef OSG_EXPORT
+#define OSG_EXPORT 1
+
+#ifdef WIN32
+	#pragma warning( disable : 4251 )
+	#pragma warning( disable : 4275 )
+	#pragma warning( disable : 4786 )
+
+/* Define NULL pointer value */
+
+#ifndef NULL
+#ifdef  __cplusplus
+#define NULL    0
+#else
+#define NULL    ((void *)0)
+#endif
+#endif
+
+
+#endif
+
+#if defined(_MSC_VER)
+	#  ifdef SG_LIBRARY
+	#    define SG_EXPORT   __declspec(dllexport)
+	#  else
+	#    define SG_EXPORT   __declspec(dllimport)
+	#  endif /* SG_LIBRARY */
+#else
+	#  define SG_EXPORT
+#endif  
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Image
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Image (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Image (revision 2)
@@ -0,0 +1,98 @@
+#ifndef OSG_IMAGE
+#define OSG_IMAGE 1
+
+#include <osg/Object>
+#include <osg/OSG>
+
+namespace osg {
+
+class Output;
+class Input;
+
+/** Image class for encapsulating the storage texture image data.*/
+class SG_EXPORT Image : public Object
+{
+
+    public :
+
+        Image();
+
+        virtual Object* clone() const { return new Image(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Image*>(obj)!=NULL; }
+        virtual const char* className() const { return "Image"; }
+
+
+        const char* getFileName() { return _fileName; }
+        void setFileName(const char* fileName);
+        
+        /** set the image data and format.
+          * note, when no packing value is negative (the default is -1) this method assumes
+          * a _packing width of 1 if the width is not a multiple of 4,
+          * otherwise automatically sets to _packing to 4. If a postive
+          * value of packing is supplied than _packing is simply set to that value.
+          */
+        void setImage(int s,int t,int r,
+            int internalFormat,
+            unsigned int pixelFormat,
+            unsigned int dataType,
+            unsigned char *data,
+            int packing=-1);
+
+        /** Width of image.*/
+        int s() { return _s; }
+        /** Height of image.*/
+        int t() { return _t; }
+        /** Depth of image.*/
+        int r() { return _r; }
+        
+        int internalFormat() { return _internalFormat; }
+        unsigned int pixelFormat() { return _pixelFormat; }
+        unsigned int dataType() { return _dataType; }
+        unsigned int packing() { return _packing; }
+        
+        /** raw image data.*/
+        unsigned char *data() { return _data; }
+        
+        /** Scale image to specified size. */
+        void scaleImage(int s,int t,int r);
+
+        /** Ensure image dimensions are a power of two.
+          * Mip Mapped texture require the image dimensions to be
+          * power of two.
+          */
+        void ensureDimensionsArePowerOfTwo();
+        
+    protected :
+
+        virtual ~Image();
+
+//	Image(const Image&) {}
+//        Image& operator = (const Image& image) {}
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        char* _fileName;
+        int _s, _t, _r;
+        int _internalFormat;
+        unsigned int _pixelFormat;
+        unsigned int _dataType;
+        unsigned int _packing;
+        unsigned char *_data;
+
+};
+
+class Geode;
+
+/** Convinience function to be used by images loaders to generate a valid geode  to return for readNode().  
+  * Use the images s and t values scale the dimensions of the image.
+  */
+SG_EXPORT extern Geode* createGeodeForImage(Image* image);
+/** Convinience function to be used by images loaders to generate a valid geode  to return for readNode().  
+  * Use the specified s and t values scale the dimensions of the image.
+  */
+SG_EXPORT extern Geode* createGeodeForImage(Image* image,float s,float t);
+
+};
+
+#endif                                            // __SG_IMAGE_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/GeoSet
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/GeoSet (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/GeoSet (revision 2)
@@ -0,0 +1,468 @@
+#ifndef OSG_GEOSET
+#define OSG_GEOSET 1
+
+#include <osg/OSG>
+#include <osg/Vec2>
+#include <osg/BoundingBox>
+#include <osg/Object>
+#include <osg/GeoState>
+
+namespace osg {
+
+
+class Input;
+class Output;
+
+/** Encapsulates OpenGL drawing primitives, geometry and
+    optional binding of normal, color and texture coordinates.  Used
+    for representing the visible objects in the scene.  State attributes
+    for a GeoSet are maintained in GeoState which the GeoSet maintains
+    a referenced counted pointer to.  Both GeoSet's and GeoState's can 
+    be shared for optimal memory usage and graphics performance.
+*/
+class SG_EXPORT GeoSet : public Object
+{
+    public:
+
+        enum PrimitiveType {
+            NO_TYPE,
+            POINTS,
+            LINES,
+            LINE_STRIP,
+            FLAT_LINE_STRIP,
+            LINE_LOOP,
+            TRIANGLES,
+            TRIANGLE_STRIP,
+            FLAT_TRIANGLE_STRIP,
+            TRIANGLE_FAN,
+            FLAT_TRIANGLE_FAN,
+            QUADS,
+            QUAD_STRIP,
+            POLYGON
+        };
+
+        enum BindingType {
+            BIND_OFF,
+            BIND_OVERALL,
+            BIND_PERPRIM,
+            BIND_PERVERTEX,
+            BIND_DEFAULT
+        };
+
+	enum InterleaveArrayType {
+	    IA_OFF,
+	    IA_V2F, 
+	    IA_V3F,
+	    IA_C4UB_V2F,
+	    IA_C4UB_V3F,
+	    IA_C3F_V3F,
+	    IA_N3F_V3F,
+	    IA_C4F_N3F_V3F,
+	    IA_T2F_V3F,
+	    IA_T4F_V4F,
+	    IA_T2F_C4UB_V3F,
+	    IA_T2F_C3F_V3F,
+	    IA_T2F_N3F_V3F,
+	    IA_T2F_C4F_N3F_V3F,
+	    IA_T4F_C4F_N3F_V4F
+	};
+
+        GeoSet();
+        static GeoSet* instance();
+        virtual Object* clone() const { return new GeoSet(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<GeoSet*>(obj)!=NULL; }
+        virtual const char* className() const { return "Geoset"; }
+
+
+        // data access methods.
+        void setNumPrims( int n )                   { _numprims = n; }
+        int  getNumPrims( void )                    { return _numprims; }
+
+        void setPrimType( PrimitiveType type );
+        PrimitiveType  getPrimType( void )          { return _primtype; }
+
+        void setPrimLengths( int *lens )            { _primLengths = lens; }
+        int  *getPrimLengths( void )                { return _primLengths; }
+
+        void computeNumVerts();
+
+        /** get the number of coords required by the defined primitives. */
+        int getNumCoords()                          { return _numcoords; }
+        /** get a pointer to Vec3 coord array. */
+        Vec3* getCoords()                           { return _coords; }
+        /** get the number of indices required by the defined primitives. */
+        int getNumIndices()                         { return _numindices; }
+        /** get the coord index array. */
+        ushort* getCIndex()                         { return _cindex; }
+        /** set the coords (i.e the geometry) of the geoset.*/
+        void setCoords( Vec3 *cp );
+        /** set the coords (i.e the geometry) and indices of the geoset.*/
+        void setCoords( Vec3 *cp, ushort *ci );
+
+        /** get the number of normals required by the defined primitives and normals binding.*/
+        int getNumNormals()                         { return _numnormals; }
+        /** get a pointer to Vec3 normal array. */
+        Vec3* getNormals()                           { return _normals; }
+        /** get the number of normal indices required by the defined primitives and normals binding.*/
+        int getNumNIndices()                        { return _numnindices; }
+        /** get the normal index array. */
+        ushort* getNIndex()                         { return _nindex; }
+        /** set the normals of the geoset.*/
+        void setNormals( Vec3 *np );
+        /** set the normals and normal indices of the geoset.*/
+        void setNormals( Vec3 *np, ushort *ni );
+        /** set the normals binding to the vertices/primitives/overall.*/
+        void setNormalBinding( BindingType binding );
+        BindingType getNormalBinding()              { return _normal_binding; }
+
+        /** get the number of colors required by the defined primitives and color binding.*/
+        int getNumColors()                          { return _numcolors; }
+        /** get a pointer to Vec4 color array. */
+        Vec4* getColors()                           { return _colors; }
+        /** get the number of colors indices required by the defined primitives and color binding.*/
+        int getNumCIndices()                        { return _numcindices; }
+        /** get the color index array. */
+        ushort* getColIndex()                       { return _colindex; }
+        /** set the colors of the geoset.*/
+        void setColors( Vec4 *lp );
+        /** set the colors and color indices of the geoset.*/
+        void setColors( Vec4 *lp, ushort *li );
+        /** set the color binding to the vertices/primitives/overall.*/
+        void setColorBinding( BindingType binding );
+        BindingType getColorBinding()               { return _color_binding; }
+
+        /** get the number of texture coords required by the defined primitives and textures binding.*/
+        int getNumTCoords()                          { return _numtcoords; }
+        /** get a pointer to Vec4 color array. */
+        Vec2* getTCoords()                           { return _tcoords; }
+        /** get the number of texture coord indices required by the defined primitives and texture binding.*/
+        int getNumTIndices()                         { return _numtindices; }
+        /** get the texture index array. */
+        ushort* getTIndex()                          { return _tindex; }
+        /** set the texture coords of the geoset.*/
+        void setTextureCoords( Vec2 *tc );
+        /** set the texture coords and texture coord indices of the geoset.*/
+        void setTextureCoords( Vec2 *tc, ushort *ti );
+        /** set the texture coord binding to the vertices/primitives/overall.*/
+        void setTextureBinding( BindingType binding );
+        BindingType getTextureBinding()               { return _texture_binding; }
+
+	void setInterleavedArray( InterleaveArrayType format, float *ia ); 
+	void setInterleavedArray( InterleaveArrayType format, float *ia, ushort *iai ); 
+
+        void  setGeoState(GeoState *state) { _state = state; }
+        GeoState* getGeoState() const { return _state.get();}
+
+
+        /** When set to true, force the draw method to use OpenGL Display List for rendering.
+            If false rendering directly.  If the display list has not been already
+            compile the next call to draw will automatically create the display list.*/
+        void setUseDisplayList(bool flag);
+
+        /** Return whether OpenGL display lists are being used for rendering.*/
+        bool getUseDisplayList() { return _useDisplayList; }
+
+        /** Force a recompile on next draw() of any OpenGL display list associated with this geoset.*/
+        void dirtyDisplayList();
+
+        /** get bounding box of geoset. 
+          * Note, now made virtual to make it possible to implement user-drawn
+          * objects albiet so what crudely, to be improved later.
+          */
+        virtual const BoundingBox& getBound() ;
+
+        /** draw geoset. 
+          * If the geoset has _useDisplayList set to true then use an OpenGL display
+          * list, automatically compiling one if required.
+          * Otherwise call drawImmediateMode().
+          * Note, draw method should not be overiden in subclasses as it 
+          * manages the optional display list.
+          */
+        void draw( void );
+
+
+        /** draw geoset directly ignoring an OpenGL display list which could be attached.
+          * This is the internal draw method which does the drawing itself,
+          * and is the method to override when deriving from GeoSet for user-drawn objects.
+          */
+        virtual void drawImmediateMode();
+
+        /** Immediately compile this geoset into an OpenGL Display List, set _useDisplayList to true.*/
+        void compile( void );
+
+        bool check();
+
+    protected:
+
+        GeoSet(const GeoSet&):Object() {}
+        GeoSet& operator = (const GeoSet&) { return *this;}
+
+        virtual ~GeoSet();
+
+        bool matchBindingTypeStr(const char* str,BindingType& mode);
+        const char* getBindingTypeStr(BindingType mode);
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+    private :
+    
+        int             _numprims;
+        PrimitiveType   _primtype;
+	int             _needprimlen;
+	unsigned int    _oglprimtype;
+        int             *_primLengths;
+	int             _numverts;
+	unsigned char   _primlength;
+	unsigned char   _flat_shaded_skip;
+
+        int         _numcoords;
+        int         _numindices;
+        Vec3        *_coords;
+        ushort      *_cindex;
+
+        int         _numnormals;
+        int         _numnindices;
+        Vec3        *_normals;
+        ushort      *_nindex;
+        BindingType _normal_binding;
+
+        int         _numcolors;
+        int         _numcindices;
+        Vec4        *_colors;
+        ushort      *_colindex;
+        BindingType _color_binding;
+
+        int         _numtcoords;
+        int         _numtindices;
+        Vec2        *_tcoords;
+        ushort      *_tindex;
+        BindingType _texture_binding;
+
+	void        *_iarray;
+	ushort	    *_iaindex;
+	InterleaveArrayType _iaformat;
+	unsigned int    _ogliaformat;
+
+
+        /** return the bbbbffff composition required for an interleaved array row.*/
+        const char* getInterleavedRowComposition(InterleaveArrayType at) const;
+        /** return the number of bytes required for an interleaved array row.*/
+        int getInterleavedRowLength(InterleaveArrayType at) const;
+
+
+        int         _fast_path;
+
+        ref_ptr<GeoState> _state;
+
+        bool            _useDisplayList;
+        uint            _globj;
+
+        BoundingBox     _bbox;
+        int             _bbox_computed;
+
+        void computeBound( void );
+	void set_fast_path( void );
+	void draw_fast_path( void );
+	void draw_alternate_path( void );
+
+};
+
+/** Template function for iterating through a GeoSet operating on triangles
+    with templated functor. Function automatically decomposes quads and polygons
+    into sub triangles which are passed onto functor.*/
+template<class T>
+void for_each_triangle(GeoSet& gset,T& op)
+{
+    switch(gset.getPrimType())
+    {
+    case(GeoSet::TRIANGLE_STRIP):
+    case(GeoSet::FLAT_TRIANGLE_STRIP):
+        {
+            if (gset.getCIndex())
+            {
+                ushort* iptr = gset.getCIndex();
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    const int primLength = gset.getPrimLengths()[i];
+                    ushort* iend = iptr+primLength;
+                    for(int j = 2; j < primLength; j++ )
+                    {
+                        op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
+                        ++iptr;
+                    }
+                    iptr=iend;
+                }
+            }
+            else
+            {
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    const int primLength = gset.getPrimLengths()[i];
+                    Vec3* vend = vptr+primLength;
+                    for(int j = 2; j < primLength; j++ )
+                    {
+                        op(*(vptr),*(vptr+1),*(vptr+2));
+                        ++vptr;
+                    }
+                    vptr=vend;
+                }
+            }
+        }
+        break;
+    case(GeoSet::TRIANGLES):
+        {
+
+            if (gset.getCIndex())
+            {
+                ushort* iptr = gset.getCIndex();
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
+                    iptr+=3;
+                }
+            }
+            else
+            {
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    op(*(vptr),*(vptr+1),*(vptr+2));
+                    vptr+=3;
+                }
+            }
+            
+        }
+        break;
+    case(GeoSet::QUAD_STRIP):
+        {
+            if (gset.getCIndex())
+            {
+                ushort* iptr = gset.getCIndex();
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    const int primLength = gset.getPrimLengths()[i];
+                    ushort* iend = iptr+primLength;
+                    for(int j = 3; j < primLength; j+=2 )
+                    {
+                        op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
+                        op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
+                        iptr+=2;
+                    }
+                    iptr=iend;
+                }
+            }
+            else
+            {
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    const int primLength = gset.getPrimLengths()[i];
+                    Vec3* vend = vptr+primLength;
+                    for(int j = 3; j < primLength; j+=2 )
+                    {
+                        op(*(vptr),*(vptr+1),*(vptr+2));
+                        op(*(vptr),*(vptr+3),*(vptr+2));
+                        vptr+=2;
+                    }
+                    vptr=vend;
+                }
+            }
+        }
+        break;
+    case(GeoSet::QUADS):
+        {
+            if (gset.getCIndex())
+            {
+                ushort* iptr = gset.getCIndex();
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    op(vptr[*(iptr)],vptr[*(iptr+1)],vptr[*(iptr+2)]);
+                    op(vptr[*(iptr)],vptr[*(iptr+3)],vptr[*(iptr+2)]);
+                    iptr+=4;
+                }
+            }
+            else
+            {
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    op(*(vptr),*(vptr+1),*(vptr+2));
+                    op(*(vptr),*(vptr+3),*(vptr+2));
+                    vptr+=4;
+                }
+            }
+            
+        }
+        break;
+    case(GeoSet::TRIANGLE_FAN):
+    case(GeoSet::POLYGON):
+        {
+            if (gset.getCIndex())
+            {
+                ushort* iptr = gset.getCIndex();
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    const int primLength = gset.getPrimLengths()[i];
+                    if (primLength>0)
+                    {
+                        const Vec3& start = vptr[*(iptr)];
+                        ushort* iend = iptr+primLength;
+                        ++iptr;
+                        for(int j = 2; j < primLength; ++j )
+                        {
+                            op(start,vptr[*(iptr)],vptr[*(iptr+1)]);
+                            ++iptr;
+                        }
+                        iptr=iend;
+                    }
+                }
+            }
+            else
+            {
+                Vec3* vptr = gset.getCoords();
+                const int numPrim = gset.getNumPrims();
+                for(int i=0; i<numPrim; ++i )
+                {
+                    const int primLength = gset.getPrimLengths()[i];
+                    if (primLength>0)
+                    {
+                        const Vec3& start = *vptr;
+                        Vec3* vend = vptr+primLength;
+                        ++vptr;
+                        for(int j = 2; j < primLength; ++j)
+                        {
+                            op(start,*(vptr),*(vptr+1));
+                            ++vptr;
+                        }
+                        vptr = vend;
+                    }
+                }
+            }
+        }
+        break;
+    default:
+        break;        
+    }
+
+};
+
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/LightSource
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/LightSource (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/LightSource (revision 2)
@@ -0,0 +1,42 @@
+#ifndef OSG_LIGHTSOURCE
+#define OSG_LIGHTSOURCE 1
+
+#include <osg/Node>
+#include <osg/NodeVisitor>
+#include <osg/Light>
+
+namespace osg {
+
+/** Leaf Node for defining a light in the scene.*/
+class SG_EXPORT LightSource : public Node
+{
+    public:
+
+        LightSource();
+
+        virtual Object* clone() const { return new LightSource(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<LightSource*>(obj)!=NULL; }
+        virtual const char* className() const { return "LightSource"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+
+        /** Set the attached light.*/
+        void setLight(Light* light) { _light = light; }
+
+        /** Get the attached light.*/
+        Light* getLight() { return _light.get(); }
+
+    protected:
+
+        virtual ~LightSource();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        virtual bool computeBound( void );
+
+        ref_ptr<Light> _light;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Point
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Point (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Point (revision 2)
@@ -0,0 +1,49 @@
+#ifndef OSG_POINT
+#define OSG_POINT 1
+
+#include <osg/Export>
+#include <osg/Object>
+#include <osg/Vec3>
+
+namespace osg {
+
+class Input;
+class Output;
+
+class SG_EXPORT Point : public Object
+{
+    public :
+
+        Point();
+        static Point* instance();
+        virtual Object* clone() const { return new Point(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Point*>(obj)!=NULL; }
+        virtual const char* className() const { return "Point"; }
+
+        void setSize(float size);
+        void setFadeThresholdSize(float fadeThresholdSize);
+        void setDistanceAttenuation(const Vec3& distanceAttenuation);
+
+        static void enableSmooth( void );
+        static void disableSmooth( void );
+
+        void apply( void );
+
+        static void init_GL_EXT();
+
+    protected :
+
+        virtual ~Point();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        float       _size;
+        float       _fadeThresholdSize;
+        Vec3        _distanceAttenuation;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/TexGen
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/TexGen (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/TexGen (revision 2)
@@ -0,0 +1,54 @@
+#ifndef OSG_TEXGEN
+#define OSG_TEXGEN 1
+
+#include <osg/Export>
+#include <osg/GL>
+#include <osg/OSG>
+#include <osg/Object>
+
+namespace osg {
+
+
+class Input;
+class Output;
+
+class SG_EXPORT TexGen : public Object
+{
+    public :
+    
+        enum TexGenMode {
+            OBJECT_LINEAR = GL_OBJECT_LINEAR,
+            EYE_LINEAR    = GL_EYE_LINEAR,
+            SPHERE_MAP    = GL_SPHERE_MAP
+        };
+
+        TexGen( void );
+        static TexGen* instance();
+        virtual Object* clone() const { return new TexGen(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<TexGen*>(obj)!=NULL; }
+        virtual const char* className() const { return "TexGen"; }
+
+        static void enable( void );
+        static void disable( void );
+        
+        void apply( void );
+
+        void setMode( TexGenMode mode ) { _mode = mode; }
+
+    protected :
+
+        virtual ~TexGen( void );
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        bool matchModeStr(const char* str,TexGenMode& mode);
+        const char* getModeStr(TexGenMode mode);
+
+        TexGenMode _mode;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Group
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Group (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Group (revision 2)
@@ -0,0 +1,106 @@
+#ifndef OSG_GROUP
+#define OSG_GROUP 1
+
+#include <osg/Node>
+#include <osg/NodeVisitor>
+
+#include <vector>
+
+namespace osg {
+
+/** General group node which maintains a list of children.
+    Children are reference counted to allow children to be shared
+    with memory management handled automatically via osg::Referenced.
+*/
+class SG_EXPORT Group : public Node
+{
+    public :
+
+        typedef std::vector<ref_ptr<Node> > ChildList;
+
+        Group();
+
+        virtual Object* clone() const { return new Group(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Group*>(obj)!=NULL; }
+        virtual const char* className() const { return "Group"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+        
+        virtual void traverse(NodeVisitor& nv);
+
+        /** Add Node to Group.
+         *  If node is not NULL and is not contained in Group then increment its  
+         *  reference count, add it to the child list and dirty the bounding 
+         *  sphere to force it to recompute on next getBound() and return true for success.
+         *  Otherwise return false.
+         */
+        virtual bool addChild( Node *child );
+
+        /** Remove Node from Group.
+         *  If Node is contained in Group then remove it from the child
+         *  list, decrement its reference count, and dirty the 
+         *  bounding sphere to force it to recompute on next getBound() and
+         *  return true for success.  If Node is not found then return false
+         *  and do not change the reference count of the Node.
+         */
+        virtual bool removeChild( Node *child );
+
+        /** Replace specified Node with another Node.
+         *  Decrement the reference count origNode and increments the
+         *  reference count of newNode, and dirty the bounding sphere
+         *  to force it to recompute on next getBound() and returns true.
+         *  If origNode is not found then return false and do not 
+         *  add newNode.  If newNode is NULL then return false and do
+         *  not remove origNode.
+         */
+        virtual bool replaceChild( Node *origChild, Node* newChild );
+
+        /** return the number of chilren nodes.*/
+        int  getNumChildren( void )       { return _children.size(); }
+
+        /** return child node at position i.*/
+        Node *getChild( int i )     { return _children[i].get(); }
+
+        /** return true is node is contained within Group.*/
+        bool containsNode( Node* node )
+        {
+            
+            for (ChildList::iterator itr=_children.begin();
+                 itr!=_children.end();
+                 ++itr)
+            {
+                if (itr->get()==node) return true;
+            }
+            return false;
+        }
+
+        /** return the iterator postion for specified Node.
+         *  return _chilren.end() if node is not contained in Group.
+         */
+        ChildList::iterator findNode( Node* node )
+        {
+            
+            for (ChildList::iterator itr=_children.begin();
+                 itr!=_children.end();
+                 ++itr)
+            {
+                if (itr->get()==node) return itr;
+            }
+            return _children.end();
+        }
+
+    protected:
+
+        virtual ~Group();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        ChildList _children;
+
+        bool computeBound( void );
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Material
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Material (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Material (revision 2)
@@ -0,0 +1,100 @@
+#ifndef OSG_MATERIAL
+#define OSG_MATERIAL 1
+
+#include <osg/GL>
+#include <osg/OSG>
+#include <osg/Vec4>
+#include <osg/Object>
+
+namespace osg {
+
+
+class Input;
+class Output;
+
+class SG_EXPORT Material : public Object
+{
+
+    public :
+
+        enum MaterialFace {
+            FACE_FRONT           = GL_FRONT,
+            FACE_BACK            = GL_BACK,
+            FACE_FRONT_AND_BACK  = GL_FRONT_AND_BACK
+        };
+
+        enum ColorMode {
+            AMBIENT = GL_AMBIENT,
+            DIFFUSE = GL_DIFFUSE,
+            SPECULAR = GL_SPECULAR,
+            EMISSION = GL_EMISSION,
+            AMBIENT_AND_DIFFUSE = GL_AMBIENT_AND_DIFFUSE,
+            OFF            
+        };
+
+        Material( void );
+        static Material* instance();
+        virtual Object* clone() const { return new Material(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Material*>(obj)!=NULL; }
+        const char* className() const { return "Material"; }
+
+        void apply( void );
+
+        void setColorMode(ColorMode mode) { _colorMode = mode; }
+
+        void setAmbient( MaterialFace face, const Vec4& ambient );
+        const Vec4& getAmbient(MaterialFace face) const;
+        bool getAmbientFrontAndBack() { return _ambientFrontAndBack; }
+
+        void setDiffuse( MaterialFace face, const Vec4& diffuse );
+        const Vec4& getDiffuse(MaterialFace face) const;
+        bool getDiffuseFrontAndBack() { return _diffuseFrontAndBack; }
+
+        void setSpecular( MaterialFace face, const Vec4& specular );
+        const Vec4& getSpecular(MaterialFace face) const;
+        bool getSpecularFrontAndBack() { return _specularFrontAndBack; }
+
+        void setEmission( MaterialFace face, const Vec4& emission );
+        const Vec4& getEmission(MaterialFace face) const;
+        bool getEmissionFrontAndBack() { return _emissionFrontAndBack; }
+
+        void setShininess( MaterialFace face, float shininess );
+        float getShininess(MaterialFace face) const;
+        bool getShininessFrontAndBack() { return _shininessFrontAndBack; }
+
+    protected :
+
+        virtual ~Material( void );
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        bool matchFaceAndColor(Input& fr,const char* name,MaterialFace& mf,Vec4& color);
+
+        ColorMode _colorMode;
+
+        bool _ambientFrontAndBack;
+        Vec4 _ambientFront;                          // r, g, b, w
+        Vec4 _ambientBack;                           // r, g, b, w
+
+        bool _diffuseFrontAndBack;
+        Vec4 _diffuseFront;                          // r, g, b, w
+        Vec4 _diffuseBack;                           // r, g, b, w
+
+        bool _specularFrontAndBack;
+        Vec4 _specularFront;                         // r, g, b, w
+        Vec4 _specularBack;                          // r, g, b, w
+
+        bool _emissionFrontAndBack;
+        Vec4 _emissionFront;                         // r, g, b, w
+        Vec4 _emissionBack;                          // r, g, b, w
+
+        bool _shininessFrontAndBack;
+        float  _shininessFront;                      // values 0 - 1.0
+        float  _shininessBack;                       // values 0 - 1.0
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/PolygonOffset
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/PolygonOffset (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/PolygonOffset (revision 2)
@@ -0,0 +1,44 @@
+#ifndef OSG_POLYGONOFFSET
+#define OSG_POLYGONOFFSET 1
+
+#include <osg/Export>
+#include <osg/Object>
+#include <osg/Vec3>
+
+namespace osg {
+
+class Input;
+class Output;
+
+class SG_EXPORT PolygonOffset : public Object
+{
+    public :
+
+        PolygonOffset();
+        static PolygonOffset* instance();
+        virtual Object* clone() const { return new PolygonOffset(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<PolygonOffset*>(obj)!=NULL; }
+        virtual const char* className() const { return "PolygonOffset"; }
+
+        void setOffset(float factor,float units);
+
+        static void enable( void );
+        static void disable( void );
+
+        void apply( void );
+
+    protected :
+
+        virtual ~PolygonOffset();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        float       _factor;
+        float       _units;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Input
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Input (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Input (revision 2)
@@ -0,0 +1,49 @@
+#ifndef OSG_INPUT
+#define OSG_INPUT 1
+
+#include <osg/FieldReaderIterator>
+
+#include <map>
+#include <string>
+
+namespace osg {
+
+class Object;
+class Image;
+class Node;
+
+/** Class for managing the reading of ASCII .osg files.*/
+class SG_EXPORT Input : public FieldReaderIterator
+{
+    public:
+
+// Will extend to handle #DEF and use
+// functionality similar to Inventor,
+// and add the ability to handle #include
+// from within the OSG file format.
+
+        Input();
+        virtual ~Input();
+
+        virtual Object* readObject();
+        virtual Object* readObject(const std::string& fileName);
+
+        virtual Image*  readImage();
+        virtual Image*  readImage(const std::string& fileName);
+
+        virtual Node* readNode();
+        virtual Node* readNode(const std::string& fileName);
+        
+        virtual Object* getObjectForUniqueID(const std::string& uniqueID);
+        virtual void regisiterUniqueIDForObject(const std::string& uniqueID,Object* obj);
+
+    private:
+    
+        typedef std::map<std::string,Object*> UniqueIDToObjectMapping;
+        UniqueIDToObjectMapping _uniqueIDToObjectMap;
+
+};
+
+};
+
+#endif                                            // __SG_INPUT_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Vec2
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Vec2 (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Vec2 (revision 2)
@@ -0,0 +1,149 @@
+#ifndef OSG_VEC2
+#define OSG_VEC2 1
+
+#include <osg/Export>
+#include <math.h>
+
+#ifdef OSG_USE_IO_DOT_H
+#include <iostream.h>
+#else
+#include <iostream>
+using namespace std;
+#endif
+
+namespace osg {
+
+/** General purpose float pair, uses include representation of
+    texture coordinates.
+    No support yet added for float * Vec2 - is it necessary?
+    Need to define a non-member non-friend operator*  etc.
+    BTW:	     Vec2 * float is okay
+*/
+
+class Vec2
+{
+    public:
+
+        Vec2() {} // no operations done to maintain speed
+        Vec2(float x,float y) { _v[0]=x; _v[1]=y; }
+
+        float _v[2];
+
+        bool operator == (const Vec2& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1]; }
+
+        inline float* ptr() { return _v; }
+        inline const float* ptr() const { return _v; }
+
+        inline void set( float x, float y ) { _v[0]=x; _v[1]=y; }
+
+        inline float& operator [] (int i) { return _v[i]; }
+        inline float  operator [] (int i) const { return _v[i]; }
+
+        inline float& x() { return _v[0]; }
+        inline float& y() { return _v[1]; }
+
+        inline float x() const { return _v[0]; }
+        inline float y() const { return _v[1]; }
+
+        /// dot product
+        inline float operator * (const Vec2& rhs) const
+        {
+            return _v[0]*rhs._v[0]+_v[1]*rhs._v[1];
+        }
+
+        /// multiply by scalar
+        inline Vec2 operator * (const float& rhs) const
+        {
+            return Vec2(_v[0]*rhs, _v[1]*rhs);
+        }
+
+        /// unary multiply by scalar
+        inline Vec2& operator *= (const float& rhs)
+        {
+            _v[0]*=rhs;
+	    _v[1]*=rhs;
+	    return *this;
+        }
+
+        /// divide by scalar
+        inline Vec2 operator / (const float& rhs) const
+        {
+            return Vec2(_v[0]/rhs, _v[1]/rhs);
+        }
+
+        /// unary divide by scalar
+        inline Vec2& operator /= (const float& rhs)
+        {
+            _v[0]/=rhs;
+	    _v[1]/=rhs;
+	    return *this;
+        }
+
+        /// binary vector add
+        inline Vec2 operator + (const Vec2& rhs) const
+        {
+            return Vec2(_v[0]+rhs._v[0], _v[1]+rhs._v[1]);
+        }
+
+        /** unary vector add.  Slightly more efficient because no temporary
+            intermediate object.*/
+        inline Vec2& operator += (const Vec2& rhs)
+        {
+            _v[0] += rhs._v[0];
+            _v[1] += rhs._v[1];
+	    return *this;
+        }
+
+        /// binary vector subract
+        inline Vec2 operator - (const Vec2& rhs) const
+        {
+            return Vec2(_v[0]-rhs._v[0], _v[1]-rhs._v[1]);
+        }
+
+        /// unary vector subract
+        inline Vec2& operator -= (const Vec2& rhs)
+        {
+            _v[0]-=rhs._v[0];
+            _v[1]-=rhs._v[1];
+	    return *this;
+	}
+
+        /// negation operator.  Returns the negative of the Vec2
+        inline Vec2 operator - () const
+        {
+	    return Vec2 (-_v[0], -_v[1]);
+	}
+
+        /// Length of the vector = sqrt( vec . vec )
+	inline float length() const
+	{
+	    return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] );
+	}
+
+        /// Length squared of the vector = vec . vec
+        inline float length2( void ) const
+        {
+            return _v[0]*_v[0] + _v[1]*_v[1];
+        }
+
+        /** normalize the vector so that it has length unity
+            returns the previous length of the vector*/
+	inline float normalize()
+	{
+	    float norm = Vec2::length();
+	    _v[0] /= norm;
+	    _v[1] /= norm;
+	    return( norm );
+	}
+
+	friend inline ostream& operator << (ostream& output, const Vec2& vec)
+        {
+	    output << vec._v[0] << " "
+                   << vec._v[1];
+	    return output; 	// to enable cascading
+	}
+
+};	// end of class Vec2
+
+}	// end of namespace osg
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Vec3
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Vec3 (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Vec3 (revision 2)
@@ -0,0 +1,168 @@
+#ifndef OSG_VEC3
+#define OSG_VEC3 1
+
+#include <osg/Export>
+#include <math.h>
+
+#ifdef OSG_USE_IO_DOT_H
+#include <iostream.h>
+#else
+#include <iostream>
+using namespace std;
+#endif
+
+namespace osg {
+
+/** General purpose float triple for use as vertices, vectors and normals.
+    Provides general maths operations from addition through to cross products.
+    No support yet added for float * Vec3 - is it necessary?
+    Need to define a non-member non-friend operator*  etc.
+   			     Vec3 * float is okay
+*/
+class Vec3
+{
+    public:
+
+        Vec3() {} // no operations done to maintain speed
+        Vec3(float x,float y,float z) { _v[0]=x; _v[1]=y; _v[2]=z; }
+
+        float _v[3];
+
+	bool operator == (const Vec3& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1] && _v[2]==v._v[2]; }
+
+        inline float* ptr() { return _v; }
+        inline const float* ptr() const { return _v; }
+
+        inline void set( float x, float y, float z)
+        {
+            _v[0]=x; _v[1]=y; _v[2]=z;
+        }
+
+        inline float& operator [] (int i) { return _v[i]; }
+        inline float  operator [] (int i) const { return _v[i]; }
+
+        inline float& x() { return _v[0]; }
+        inline float& y() { return _v[1]; }
+        inline float& z() { return _v[2]; }
+
+        inline float x() const { return _v[0]; }
+        inline float y() const { return _v[1]; }
+        inline float z() const { return _v[2]; }
+
+        /// dot product
+        inline float operator * (const Vec3& rhs) const
+        {
+            return _v[0]*rhs._v[0]+_v[1]*rhs._v[1]+_v[2]*rhs._v[2];
+        }
+
+        /// cross product
+        inline Vec3 operator ^ (const Vec3& rhs) const
+        {
+            return Vec3(_v[1]*rhs._v[2]-_v[2]*rhs._v[1],
+                _v[2]*rhs._v[0]-_v[0]*rhs._v[2] ,
+                _v[0]*rhs._v[1]-_v[1]*rhs._v[0]);
+        }
+
+        /// multiply by scalar
+        inline Vec3 operator * (const float& rhs) const
+        {
+            return Vec3(_v[0]*rhs, _v[1]*rhs, _v[2]*rhs);
+        }
+
+        /// unary multiply by scalar
+        inline Vec3& operator *= (const float& rhs)
+        {
+            _v[0]*=rhs;
+            _v[1]*=rhs;
+            _v[2]*=rhs;
+            return *this;
+        }
+
+        /// divide by scalar
+        inline Vec3 operator / (const float& rhs) const
+        {
+            return Vec3(_v[0]/rhs, _v[1]/rhs, _v[2]/rhs);
+        }
+
+        /// unary divide by scalar
+        inline Vec3& operator /= (const float& rhs)
+        {
+            _v[0]/=rhs;
+            _v[1]/=rhs;
+            _v[2]/=rhs;
+            return *this;
+        }
+
+        /// binary vector add
+        inline Vec3 operator + (const Vec3& rhs) const
+        {
+            return Vec3(_v[0]+rhs._v[0], _v[1]+rhs._v[1], _v[2]+rhs._v[2]);
+        }
+
+        /** unary vector add.  Slightly more efficient because no temporary
+            intermediate object*/
+        inline Vec3& operator += (const Vec3& rhs)
+        {
+            _v[0] += rhs._v[0];
+            _v[1] += rhs._v[1];
+            _v[2] += rhs._v[2];
+            return *this;
+        }
+
+        /// binary vector subract
+        inline Vec3 operator - (const Vec3& rhs) const
+        {
+            return Vec3(_v[0]-rhs._v[0], _v[1]-rhs._v[1], _v[2]-rhs._v[2]);
+        }
+
+        /// unary vector subract
+        inline Vec3& operator -= (const Vec3& rhs)
+        {
+            _v[0]-=rhs._v[0];
+            _v[1]-=rhs._v[1];
+            _v[2]-=rhs._v[2];
+            return *this;
+        }
+
+        /// negation operator.  Returns the negative of the Vec3
+        inline Vec3 operator - () const
+        {
+            return Vec3 (-_v[0], -_v[1], -_v[2]);
+        }
+
+        /// Length of the vector = sqrt( vec . vec )
+        inline float length( void ) const
+        {
+            return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] );
+        }
+
+        /// Length squared of the vector = vec . vec
+        inline float length2( void ) const
+        {
+            return _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2];
+        }
+
+        /** normalize the vector so that it has length unity
+            returns the previous length of the vector*/
+        inline float normalize()
+        {
+            float norm = Vec3::length();
+            _v[0] /= norm;
+            _v[1] /= norm;
+            _v[2] /= norm;
+            return( norm );
+        }
+
+	friend inline ostream& operator << (ostream& output, const Vec3& vec)
+	{
+	    output << vec._v[0] << " "
+                   << vec._v[1] << " "
+                   << vec._v[2];
+	    return output; 	// to enable cascading
+	}
+
+};	// end of class Vec3
+
+}	// end of namespace osg
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/AlphaFunc
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/AlphaFunc (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/AlphaFunc (revision 2)
@@ -0,0 +1,65 @@
+#ifndef OSG_ALPHAFUNC
+#define OSG_ALPHAFUNC 1
+
+#include <osg/Export>
+#include <osg/Object>
+#include <osg/GL>
+
+namespace osg {
+
+/** Encapsulte OpenGL glAlphaFunc.
+*/     
+class SG_EXPORT AlphaFunc : public Object
+{
+    public :
+    
+        enum ComparisonFunction {
+            NEVER = GL_NEVER,
+            LESS = GL_LESS,
+            EQUAL = GL_EQUAL,
+            LEQUAL = GL_LEQUAL,
+            GREATER = GL_GREATER,
+            NOTEQUAL = GL_NOTEQUAL,
+            GEQUAL = GL_GEQUAL,
+            ALWAYS = GL_ALWAYS
+        };
+    
+        AlphaFunc();
+        static AlphaFunc* instance();
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<AlphaFunc*>(obj)!=NULL; }
+        virtual Object* clone() const { return new AlphaFunc(); }
+        virtual const char* className() const { return "AlphaFunc"; }
+    
+        void setFunction(ComparisonFunction func,float ref)
+        {
+            _comparisonFunc = func;
+            _referenceValue = ref;
+        }
+        
+        ComparisonFunction getFunction() const { return _comparisonFunc; }
+        
+        float getRefrenceValue() const { return _referenceValue; }
+        
+        static void enable();
+        static void disable();
+        
+        void apply();
+        
+    protected:
+    
+        virtual ~AlphaFunc();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+        
+        bool matchFuncStr(const char* str,ComparisonFunction& func);
+        const char* getFuncStr(ComparisonFunction func);
+
+        ComparisonFunction _comparisonFunc;
+        float _referenceValue;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Vec4
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Vec4 (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Vec4 (revision 2)
@@ -0,0 +1,178 @@
+#ifndef OSG_VEC4
+#define OSG_VEC4 1
+
+#include <osg/Export>
+#include <math.h>
+
+#ifdef OSG_USE_IO_DOT_H
+#include <iostream.h>
+#else
+#include <iostream>
+using namespace std;
+#endif
+
+namespace osg {
+
+/** General purpose float quad, uses include representation
+    of colour coordinates.
+    No support yet added for float * Vec4 - is it necessary?
+    Need to define a non-member non-friend operator*  etc.
+   			     Vec4 * float is okay
+*/
+class Vec4
+{
+    public:
+
+	// Methods are defined here so that they are implicitly inlined
+
+        Vec4() {} // no operations done to maintain speed
+        Vec4(float x, float y, float z, float w)
+        {
+            _v[0]=x; _v[1]=y; _v[2]=z; _v[3]=w;
+        }
+
+        float _v[4];
+
+	bool operator == (const Vec4& v) const { return _v[0]==v._v[0] && _v[1]==v._v[1] && _v[2]==v._v[2] && _v[3]==v._v[3]; }
+
+        inline float* ptr() { return _v; }
+        inline const float* ptr() const { return _v; }
+
+        inline void set( float x, float y, float z, float w)
+        {
+            _v[0]=x; _v[1]=y; _v[2]=z; _v[3]=w;
+        }
+
+        inline float& operator [] (int i) { return _v[i]; }
+        inline float  operator [] (int i) const { return _v[i]; }
+
+        inline float& x() { return _v[0]; }
+        inline float& y() { return _v[1]; }
+        inline float& z() { return _v[2]; }
+        inline float& w() { return _v[3]; }
+
+        inline float x() const { return _v[0]; }
+        inline float y() const { return _v[1]; }
+        inline float z() const { return _v[2]; }
+        inline float w() const { return _v[3]; }
+
+        /// dot product
+        inline float operator * (const Vec4& rhs) const
+        {
+            return _v[0]*rhs._v[0]+
+	           _v[1]*rhs._v[1]+
+	           _v[2]*rhs._v[2]+
+	           _v[3]*rhs._v[3] ;
+        }
+
+        /// multiply by scalar
+        inline Vec4 operator * (const float& rhs) const
+        {
+            return Vec4(_v[0]*rhs, _v[1]*rhs, _v[2]*rhs, _v[3]*rhs);
+        }
+
+        /// unary multiply by scalar
+        inline Vec4& operator *= (const float& rhs)
+        {
+            _v[0]*=rhs;
+            _v[1]*=rhs;
+            _v[2]*=rhs;
+            _v[3]*=rhs;
+            return *this;
+        }
+
+        /// divide by scalar
+        inline Vec4 operator / (const float& rhs) const
+        {
+            return Vec4(_v[0]/rhs, _v[1]/rhs, _v[2]/rhs, _v[3]/rhs);
+        }
+
+        /// unary divide by scalar
+        inline Vec4& operator /= (const float& rhs)
+        {
+            _v[0]/=rhs;
+            _v[1]/=rhs;
+            _v[2]/=rhs;
+            _v[3]/=rhs;
+            return *this;
+        }
+
+        /// binary vector add
+        inline Vec4 operator + (const Vec4& rhs) const
+        {
+            return Vec4(_v[0]+rhs._v[0], _v[1]+rhs._v[1],
+		        _v[2]+rhs._v[2], _v[3]+rhs._v[3]);
+        }
+
+        /** unary vector add.  Slightly more efficient because no temporary
+            intermediate object*/
+        inline Vec4& operator += (const Vec4& rhs)
+        {
+            _v[0] += rhs._v[0];
+            _v[1] += rhs._v[1];
+            _v[2] += rhs._v[2];
+            _v[3] += rhs._v[3];
+            return *this;
+        }
+
+        /// binary vector subract
+        inline Vec4 operator - (const Vec4& rhs) const
+        {
+            return Vec4(_v[0]-rhs._v[0], _v[1]-rhs._v[1],
+		        _v[2]-rhs._v[2], _v[3]-rhs._v[3] );
+        }
+
+        /// unary vector subract
+        inline Vec4& operator -= (const Vec4& rhs)
+        {
+            _v[0]-=rhs._v[0];
+            _v[1]-=rhs._v[1];
+            _v[2]-=rhs._v[2];
+            _v[3]-=rhs._v[3];
+            return *this;
+        }
+
+        /// negation operator.  Returns the negative of the Vec4
+        inline Vec4 operator - () const
+        {
+            return Vec4 (-_v[0], -_v[1], -_v[2], -_v[3]);
+        }
+
+        /// Length of the vector = sqrt( vec . vec )
+        inline float length( void ) const
+        {
+            return sqrtf( _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] + _v[3]*_v[3]);
+        }
+
+        /// Length squared of the vector = vec . vec
+        inline float length2( void ) const
+        {
+            return _v[0]*_v[0] + _v[1]*_v[1] + _v[2]*_v[2] + _v[3]*_v[3];
+        }
+
+        /** normalize the vector so that it has length unity
+            returns the previous length of the vector*/
+        inline float normalize()
+        {
+            float norm = Vec4::length();
+            _v[0] /= norm;
+            _v[1] /= norm;
+            _v[2] /= norm;
+            _v[3] /= norm;
+            return( norm );
+        }
+
+	friend inline ostream& operator << (ostream& output, const Vec4& vec)
+        {
+	    output << vec._v[0] << " "
+                   << vec._v[1] << " "
+                   << vec._v[2] << " "
+                   << vec._v[3];
+	    return output; 	// to enable cascading
+	}
+
+};	// end of class Vec4
+
+}	// end of namespace osg
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/GL
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/GL (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/GL (revision 2)
@@ -0,0 +1,71 @@
+#ifndef OSG_GL
+#define OSG_GL 1
+
+#ifdef WIN32
+
+	// this works with no problems
+//    #ifndef _WINDOWS_
+//		#define  WIN32_LEAN_AND_MEAN
+//        #include <windows.h>
+//    #endif
+
+// follows lifted from glut.h, to avoid including <windows.h>
+
+//#if defined(_WIN32)
+
+// GLUT 3.7 now tries to avoid including <windows.h>
+//   to avoid name space pollution, but Win32's <GL/gl.h> 
+//   needs APIENTRY and WINGDIAPI defined properly. 
+# if 0
+#  define  WIN32_LEAN_AND_MEAN
+#  include <windows.h>
+# else
+   // XXX This is from Win32's <windef.h> 
+#  ifndef APIENTRY
+#   define GLUT_APIENTRY_DEFINED
+#   if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
+#    define APIENTRY    __stdcall
+#   else
+#    define APIENTRY
+#   endif
+#  endif
+   // XXX This is from Win32's <winnt.h> 
+#  ifndef CALLBACK
+#   if (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS)
+#    define CALLBACK __stdcall
+#   else
+#    define CALLBACK
+#   endif
+#  endif
+   // XXX This is from Win32's <wingdi.h> and <winnt.h> 
+#  ifndef WINGDIAPI
+#   define GLUT_WINGDIAPI_DEFINED
+#   define WINGDIAPI __declspec(dllimport)
+#  endif
+   // XXX This is from Win32's <ctype.h> 
+#  ifndef _WCHAR_T_DEFINED
+typedef unsigned short wchar_t;
+#   define _WCHAR_T_DEFINED
+#  endif
+# endif
+
+
+
+    #ifndef __gl_h_
+        #include <GL/gl.h>
+    #endif
+    #ifndef __glu_h__
+        #include <GL/glu.h>
+    #endif
+  
+#else
+
+    // GL_GLEXT_LEGACY required by some Linux OpenGL implementations
+    // to allow compilation of glPointParameterfEXT.
+    #define GL_GLEXT_LEGACY 1
+    #include <GL/gl.h>
+    #include <GL/glu.h>
+    #include <GL/glx.h>
+#endif
+
+#endif  // __osgGL_h
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/TexMat
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/TexMat (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/TexMat (revision 2)
@@ -0,0 +1,29 @@
+#ifndef OSG_TEXMAT
+#define OSG_TEXMAT 1
+
+#include <osg/Export>
+#include <osg/Matrix>
+
+namespace osg {
+
+class SG_EXPORT TexMat : public Matrix
+{
+    public :
+        TexMat( void );
+        static TexMat* instance();
+        virtual Object* clone() const { return new TexMat(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<TexMat*>(obj)!=NULL; }
+        virtual const char* className() const { return "TexMat"; }
+
+        void apply( void );
+
+    protected:
+
+        virtual ~TexMat( void );
+
+};
+
+};
+
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Matrix
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Matrix (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Matrix (revision 2)
@@ -0,0 +1,107 @@
+#ifndef OSG_MATRIX
+#define OSG_MATRIX 1
+
+#include <osg/Object>
+#include <osg/Types>
+
+namespace osg {
+
+class Input;
+class Output;
+
+/** 4x4 Matrix for storage & manipulation of transformations in scene graph. 
+    Provides basic maths operations, IO and via osg::Object reference counting.
+*/
+class SG_EXPORT Matrix : public Object
+{
+    public:
+        Matrix();
+        Matrix(const Matrix& matrix);
+        Matrix( float a00, float a01, float a02, float a03,
+            float a10, float a11, float a12, float a13,
+            float a20, float a21, float a22, float a23,
+            float a30, float a31, float a32, float a33);
+
+        Matrix& operator = (const Matrix& matrix);
+
+        virtual ~Matrix();
+
+        static Matrix* instance();
+        virtual Object* clone() const { return new Matrix(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Matrix*>(obj)!=NULL; }
+        virtual const char* className() const { return "Matrix"; }
+
+        void makeIdent();
+
+        void set(const float* m);
+        void copy(const Matrix& matrix);
+
+        void makeScale(float sx, float sy, float sz);
+        void preScale( float sx, float sy, float sz, const Matrix& m );
+        void postScale( const Matrix& m, float sx, float sy, float sz );
+        
+        void preScale( float sx, float sy, float sz );
+        void postScale( float sx, float sy, float sz );
+        
+
+        void makeTrans( float tx, float ty, float tz );
+        void preTrans( float tx, float ty, float tz, const Matrix& m );
+        void postTrans( const Matrix& m, float tx, float ty, float tz );
+        
+        void preTrans( float tx, float ty, float tz );
+        void postTrans( float tx, float ty, float tz );
+        
+
+        void makeRot( float deg, float x, float y, float z );
+        void preRot( float deg, float x, float y, float z, const Matrix& m  );
+        void postRot( const Matrix& m, float deg, float x, float y, float z );
+        
+        void preRot( float deg, float x, float y, float z );
+        void postRot( float deg, float x, float y, float z );
+        
+        void setTrans( float tx, float ty, float tz );
+	void setTrans( const Vec3& v );
+        Vec3 getTrans() const { return Vec3(_mat[3][0],_mat[3][1],_mat[3][2]); } 
+        
+        void preMult(const Matrix& m);
+        void postMult(const Matrix& m);
+        void mult(const Matrix& lhs,const Matrix& rhs);
+
+        Matrix operator * (const Matrix& m) const;
+
+        inline Vec3 operator * (const Vec3& v) const;
+        inline friend Vec3 operator * (const Vec3& v,const Matrix& m);
+
+        bool invert(const Matrix& m);
+
+    public :
+        float _mat[4][4];
+
+    protected:
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+};
+
+// post multiple v. ie. (m*v)
+inline Vec3 Matrix::operator * (const Vec3& v) const
+{
+    float d = 1.0f/(_mat[3][0]*v.x()+_mat[3][1]*v.y()+_mat[3][2]*v.z()+_mat[3][3]) ;
+    return Vec3( (_mat[0][0]*v.x() + _mat[0][1]*v.y() + _mat[0][2]*v.z() + _mat[0][3])*d,
+        (_mat[1][0]*v.x() + _mat[1][1]*v.y() + _mat[1][2]*v.z() + _mat[1][3])*d,
+        (_mat[2][0]*v.x() + _mat[2][1]*v.y() + _mat[2][2]*v.z() + _mat[2][3])*d) ;
+}
+
+
+// pre multiple v. ie. (v*m)
+inline Vec3 operator * (const Vec3& v,const Matrix& m)
+{
+    float d = 1.0f/(m._mat[0][3]*v.x()+m._mat[1][3]*v.y()+m._mat[2][3]*v.z()+m._mat[3][3]) ;
+    return Vec3( (m._mat[0][0]*v.x() + m._mat[1][0]*v.y() + m._mat[2][0]*v.z() + m._mat[3][0])*d,
+        (m._mat[0][1]*v.x() + m._mat[1][1]*v.y() + m._mat[2][1]*v.z() + m._mat[3][1])*d,
+        (m._mat[0][2]*v.x() + m._mat[1][2]*v.y() + m._mat[2][2]*v.z() + m._mat[3][2])*d);
+}
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Notify
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Notify (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Notify (revision 2)
@@ -0,0 +1,64 @@
+#ifndef OSG_NOTIFY
+#define OSG_NOTIFY 1
+
+#include <osg/Export>
+
+#ifdef OSG_USE_IO_DOT_H
+#include <iostream.h>
+#include <fstream.h>
+//#include <stdlib.h>
+#else
+#include <iostream>
+#include <fstream>
+//#include <stdlib.h>
+using namespace std;
+#endif
+
+
+namespace osg {
+
+enum NotifySeverity {
+    ALWAYS=0,
+    FATAL=1,
+    WARN=2,
+    NOTICE=3,
+    INFO=4,
+    DEBUG=5,
+    FP_DEBUG=6
+};
+
+extern NotifySeverity g_NotifyLevel;
+extern ofstream *g_absorbStreamPtr;
+
+SG_EXPORT extern void setNotifyLevel(NotifySeverity severity);
+SG_EXPORT extern int getNotifyLevel();
+
+#ifdef WIN32
+inline ostream& notify(NotifySeverity severity=INFO)
+{
+    if (severity<=osg::WARN) return cerr;
+    else return cout;
+}
+
+#else
+SG_EXPORT extern ostream& notify(NotifySeverity severity=INFO);
+#endif
+
+// A nifty_counter to ensure that the notify things are initialised before
+// they're used. Initialises g_NotifyLevel and g_absorbStreamPointer
+class SG_EXPORT NotifyInit
+{
+    public:
+
+	NotifyInit();
+        ~NotifyInit();
+
+    private:
+	static int count_;
+};
+
+static NotifyInit niftyNotifyInit;
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Sequence
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Sequence (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Sequence (revision 2)
@@ -0,0 +1,28 @@
+#ifndef OSG_SEQUENCE
+#define OSG_SEQUENCE 1
+
+#include <osg/Switch>
+
+namespace osg {
+
+/** Sequence - Switch node which allows iterators between children.
+    
+    Note: has not been implemented yet!
+*/
+class SG_EXPORT Sequence : public Group
+{
+    public :
+        Sequence() {}
+
+        virtual Object* clone() const { return new Sequence(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Sequence*>(obj)!=NULL; }
+        virtual const char* className() const { return "Sequence"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+
+    protected :
+        virtual ~Sequence() {}
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/DCS
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/DCS (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/DCS (revision 2)
@@ -0,0 +1,45 @@
+#ifndef OSG_DCS
+#define OSG_DCS 1
+
+#include <osg/Group>
+#include <osg/Matrix>
+
+namespace osg {
+
+/** DCS - Dynamic Coordinate System a is group which all children
+    are transformed by the the DCS's osg::Matrix.  Typical uses
+    of the DCS is for positioning objects within a scene or 
+    producing trakerball functionality.
+*/
+class SG_EXPORT DCS : public Group
+{
+    public :
+        DCS();
+        DCS(const Matrix& matix);
+
+        virtual Object* clone() const { return new DCS(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<DCS*>(obj)!=NULL; }
+        virtual const char* className() const { return "DCS"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+
+        void setMatrix(const Matrix& mat );
+        Matrix* getMatrix() { return _mat; }
+
+        void preTranslate( float tx, float ty, float tz );
+        void preRotate( float deg, float x, float y, float z );
+
+        bool computeBound();
+    
+    protected :
+    
+        virtual ~DCS();
+        
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        Matrix *_mat;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/DynamicLibrary
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/DynamicLibrary (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/DynamicLibrary (revision 2)
@@ -0,0 +1,51 @@
+#ifndef OSG_DYNAMICLIBRARY
+#define OSG_DYNAMICLIBRARY 1
+
+#include <string>
+#include <osg/Referenced>
+
+#ifdef WIN32
+//#include <Windows.h>
+#endif
+
+namespace osg {
+
+/** DynamicLibrary - encapsulates the loading and unloading of dynamic libraries,
+    typically used for loading ReaderWriter plug-ins.
+*/
+class SG_EXPORT DynamicLibrary : public Referenced
+{
+    public:
+
+        #ifdef WIN32
+        // from Snados.h
+        typedef void* HANDLE;
+        // from Delayimp.h
+        typedef void* PROC_ADDRESS;
+        #else
+        typedef void*   HANDLE;
+        typedef void*   PROC_ADDRESS;
+        #endif
+        
+        static DynamicLibrary* loadLibrary(const std::string& libraryName);
+
+        const std::string& getName() const     { return _name; }
+        const std::string& getFullName() const { return _fullName; }
+        HANDLE             getHandle() const   { return _handle; }
+
+        PROC_ADDRESS       getProcAddress(const std::string& procName);
+
+    protected:
+
+        DynamicLibrary(const std::string& name,HANDLE handle);
+        ~DynamicLibrary();
+
+        HANDLE          _handle;
+        std::string     _name;
+        std::string     _fullName;
+
+};
+
+};
+
+#endif // __DYNAMIC_LIBRARY_H
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Fog
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Fog (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Fog (revision 2)
@@ -0,0 +1,66 @@
+#ifndef OSG_FOG
+#define OSG_FOG 1
+
+#include <osg/GL>
+#include <osg/Vec4>
+#include <osg/Types>
+#include <osg/Object>
+
+namespace osg {
+
+
+/** Fog - encapsulates OpenGL fog state. */ 
+class SG_EXPORT Fog : public Object
+{
+    public :
+
+        enum FogMode {
+            LINEAR = GL_LINEAR,
+            EXP    = GL_EXP,
+            EXP2   = GL_EXP2
+        };
+
+        Fog( void );
+        static Fog* instance();
+        virtual Object* clone() const { return new Fog(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<Fog*>(obj)!=NULL; }
+        virtual const char* className() const { return "Fog"; }
+
+        static void enable( void );
+        static void disable( void );
+        void apply( void );
+
+        void  setMode( uint mode ) { _mode = mode; }
+        uint getMode( void ) { return _mode; }
+
+        void  setDensity( float density ) { _density = density; }
+        float getDensity( void ) { return _density; }
+
+        void  setStart( float start ) { _start = start; }
+        float getStart( void ) { return _start; }
+
+        void  setEnd( float end ) { _end = end; }
+        float getEnd( void )      { return _end; }
+
+        void  setColor( Vec4 &color )
+        {
+            _color[0] = color[0];
+            _color[1] = color[1];
+            _color[2] = color[2];
+            _color[3] = color[3];
+        }
+
+    protected :
+
+        virtual ~Fog( void );
+
+        uint   _mode;
+        float  _density;
+        float  _start;
+        float  _end;
+        Vec4 _color;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/LOD
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/LOD (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/LOD (revision 2)
@@ -0,0 +1,67 @@
+#ifndef OSG_LOD
+#define OSG_LOD 1
+
+#include <osg/Switch>
+
+#include <vector>
+
+namespace osg {
+
+/** LOD - Level Of Detail group node which allows switching between children
+    depending on distance from eye point.
+    Typical uses are for load balancing - objects further away from
+    the eye point are rendered at a lower level of detail, and at times
+    of high stress on the graphics pipeline lower levels of detail can
+    also be chosen.
+*/
+class SG_EXPORT LOD : public Group
+{
+    public :
+        LOD() {}
+
+        virtual Object* clone() const { return new LOD(); }
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<LOD*>(obj)!=NULL; }
+        virtual const char* className() const { return "LOD"; }
+        virtual void accept(NodeVisitor& nv) { nv.apply(*this); }
+        virtual void traverse(NodeVisitor& nv);
+        
+        /** Sets the value of range list element index to range which
+            is a floating point distance specified in world coordinates.
+            Range list automatically expands to accomodate values beyond
+            the current getNumRanges().*/
+        void setRange(unsigned int index, float range);
+        /** pfLOD::getRange returns the range element index.*/
+        float getRange(unsigned int index) { return _rangeList[index]; }
+        /** returns the number of ranges currently set.*/
+        int getNumRanges() { return _rangeList.size(); }
+
+        /** Sets the object-space point which defines the center of the osg::LOD.  
+            center is affected by any transforms in the hierarchy above the osg::LOD.*/
+        void setCenter(const Vec3 &center) { _center = center; }
+        /** return the LOD center point. */
+        const Vec3& getCenter() { return _center; }
+
+
+        /** return the child to traverse.
+            Selected by the distance between the eye point in local
+            coordinates and the LOD center, mutliplied by the bias.*/ 
+        int evaluate(const Vec3& eye_local,float bias=1.0f);
+
+
+    protected :
+        virtual ~LOD() {}
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+
+        typedef std::vector<float> RangeList;
+        RangeList _rangeList;
+        RangeList _rangeList2;
+
+        Vec3 _center;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/CullFace
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/CullFace (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/CullFace (revision 2)
@@ -0,0 +1,51 @@
+#ifndef OSG_CULLFACE
+#define OSG_CULLFACE 1
+
+#include <osg/Export>
+#include <osg/Object>
+#include <osg/GL>
+
+namespace osg {
+
+/** Class to globally enable/disable OpenGL's polygon culling mode
+    (GL_CULL_FACE).
+*/     
+class SG_EXPORT CullFace : public Object
+{
+    public :
+    
+        enum Mode {
+            FRONT = GL_FRONT,
+            BACK = GL_BACK,
+            FRONT_AND_BACK = GL_FRONT_AND_BACK
+        };
+    
+        CullFace();
+        static CullFace* instance();
+        virtual bool isSameKindAs(Object* obj) { return dynamic_cast<CullFace*>(obj)!=NULL; }
+        virtual Object* clone() const { return new CullFace(); }
+        virtual const char* className() const { return "CullFace"; }
+    
+        void setMode(Mode mode) { _mode = mode; }
+    
+	/** Enable the polygon culling mode.*/
+        static void enable();
+	/** Disable the polygon culling mode.*/
+        static void disable();
+
+        void apply();
+        
+    protected:
+    
+        virtual ~CullFace();
+
+        virtual bool readLocalData(Input& fr);
+        virtual bool writeLocalData(Output& fw);
+        
+        Mode _mode;
+
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/include/osg/Seg
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/include/osg/Seg (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/include/osg/Seg (revision 2)
@@ -0,0 +1,63 @@
+#ifndef OSG_SEG
+#define OSG_SEG 1
+
+#include <osg/Vec3>
+#include <osg/Types>
+#include <osg/Matrix>
+#include <osg/Referenced>
+#include <osg/BoundingBox>
+#include <osg/BoundingSphere>
+
+namespace osg {
+
+/** Segment class for representing a line segment.*/
+class SG_EXPORT Seg : public Referenced
+{
+    public:
+
+        Seg() {};
+        Seg(const Seg& seg) : Referenced(),_s(seg._s),_e(seg._e) {}
+        Seg(const Vec3& s,const Vec3& e) : _s(s),_e(e) {}
+        virtual ~Seg() {}
+
+        Seg& operator = (const Seg& seg) { _s = seg._s;  _e = seg._e; return *this; }
+
+        void set(const Vec3& s,const Vec3& e) { _s=s; _e=e; }
+        
+        const Vec3& start() const { return _s; }
+        Vec3& start() { return _s; }
+
+        const Vec3& end() const { return _e; }
+        Vec3& end() { return _e; }
+
+        /** return true if segment intersects BoundingBox.*/
+        bool intersect(const BoundingBox& bb) const;
+
+        /** return true if segment intersects BoundingSphere and return the intersection ratio's.*/
+        bool intersect(const BoundingBox& bb,float& r1,float& r2) const;
+
+        /** return true if segment intersects BoundingSphere.*/
+        bool intersect(const BoundingSphere& bs) const;
+
+        /** return true if segment intersects BoundingSphere and return the intersection ratio's.*/
+        bool intersect(const BoundingSphere& bs,float& r1,float& r2) const;
+        
+        /** return true if segment intersects triangle and set ratio long segment. */
+        bool intersect(const Vec3& v1,const Vec3& v2,const Vec3& v3,float& r);
+
+        /** post multiply a segment by matrix.*/
+        void mult(const Seg& seg,const Matrix& m) { _s = seg._s*m; _e = seg._e*m; }
+        /** pre multiply a segment by matrix.*/
+        void mult(const Matrix& m,const Seg& seg) { _s = m*seg._s; _e = m*seg._e; }
+
+    protected:
+
+        static bool intersectAndClip(Vec3& s,Vec3& e,const BoundingBox& bb);
+
+        Vec3 _s;
+        Vec3 _e;
+};
+
+};
+
+#endif
Index: /OpenSceneGraph/tags/osg_8_34/AUTHORS
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/AUTHORS (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/AUTHORS (revision 2)
@@ -0,0 +1,44 @@
+# $Id$
+#
+# The is a list of authors and contributors to the project.
+# Feel free to add your name and change list.
+
+Robert Osfield <robertosfield@yahoo.co.uk>
+        - osg and osgUtil.
+        - pfb, gif, jpeg, tiff, tga, pic plugins.
+        - sgv, various revisions, now most of code in osgGLUT.
+        - documentation?!
+        - visual studio workspace files/unix makefiles.
+        - project adim & lead.
+
+Don Burns <don_burns@sgi.com>
+        - libosg (particularily OpenGL)
+        - first version of sgv.
+        - fly database plugin.
+        - netscape plugin.
+        - unix makefiles.
+        
+Graeme Harkness <graeme@phys.strath.ac.uk>
+        - osg::Vec2,Vec3,Vec4 & osg::Quat classes.
+        - reworking of old sgv into osgGLUT and a slim line Demos/sgv.
+        - Demos/cube.
+
+Neil Salter <neil@nackle.org>
+        - first incarnation of osgUtil, Camera and Manipulators.
+        - web site.
+
+Brede Johansen <bredej@email.com>
+        - flt loader.
+        - osg::Point.
+        - bug fixes.
+        - assistance on visual studio workspace files.
+
+Ben Discoe <ben@vterrain.org>
+        - png plugin.
+        - a couple of bug fixes and code submissions.
+
+Karsten Weiss <knweiss@gmx.de>
+        - autoconfiscation of the project.
+        - rpm spec file.
+        - documentation.
+        - bug fixes.
Index: /OpenSceneGraph/tags/osg_8_34/TODO
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/TODO (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/TODO (revision 2)
@@ -0,0 +1,141 @@
+OSG TODO List
+=============
+
+Main categories
+===============
+
+o Core OSG Library
+    - the core OSG library itself (include/OSG and src/)
+o Reader/writer plug-ins
+    - the reader/writers plug-ins for third party file formats.
+o Viewers & Application plug-ins
+    - osg viewers and plug-ins to third party applications such as Netscape.
+o Under development 
+    - listing of TODO items which are currently under developement.
+o Work completed
+    - listing of TODO items which have been done and hence removed
+      from the above TODO catagories.
+--
+
+o Core OSG Library
+  ================
+    - General
+        . Header & code documentation/reference guide.
+        . Programming guide.
+        . Naming conventions.
+        . mutli-threading/shared memory support.
+
+    - Maths
+        . full maths support in osg::Matrix class.
+        . double matrix class.
+        . osg::Plane class.
+
+    - Nodes
+        . create a base class to provide interface to objects which can render,
+          derive osg::GeoSet from this.
+        . add osg::Sequence for basic animation.
+        . add osg::Morph for interpolating between geometries.
+        . add support for Multi-texturing into osg::GeoSet/osg::GeoState.
+        . add support for multi-pass rendering.
+        . utilise stl vectors for osg::GeoSets?
+        . improve osg::GeoState.
+        . add osg::State for mainting image of the OpenGL state.
+        . add osg::Terrain node.
+        . add osg::EarthSky class for rendering earth and sky backgrounds.
+        . add proxy node for lazy loading of nodes, when needed.
+        . implement visual proximity to assist loading of proxied data
+          when the view frustum nears an unloaded proxy node, and deleting
+          of unused proxied data.
+        . implement support for modified status/lazy evaluation of node data 
+          and observer style pattern.
+        . manipulator decoration nodes?
+        . spacial subdivision decoration nodes?
+        
+    - Visitors
+        . improve state sorting of opaque bins in osg::RenderVistor.
+        . add statistics visitor for logging the stats of the scene graph.
+        . add OpenGL picking visitor.
+        
+    - IO/Plug-in support
+        . improve the ascii parsing class osg::Field, osg::FieldReader etc.
+        . change the osg::Registry to timestamp registrations of objects/RW's.
+        . add support for file path logging into osg::Input.
+        . add binary data reading and writing into osg::Input/osg::Output to
+          support part binary .osg files.
+        . return error messages of on failed loading/saving. 
+        
+        
+o Reader/writer plug-ins
+  =======================
+    - .iv/.wrl  Inventor/VRML ascii.
+    - .obj      Alias wavefront's format.
+    - .dxf      Autocads ascii format.
+    - .3ds      3D Studio format.
+    - .dem      digital elevation map.
+    - .d3d?     MS's Direct 3D file formats if they have one..
+    - .bmp      Windows Bitmap files.
+    - .gz       Automatic unzipping of GNU zipped files.
+    - .zip      Automatic unzipping of windows zipped files.
+    - .Z        Automatic unzipping of Unix Compress files.
+    - .tar      Automatic unpacking of directories and loading of contents.
+
+
+o Viewers & Application plug-ins
+  ===============================
+    - OSG scene graph viewer - sgv.
+        . add command line reading for specifying data search paths and data,
+          -D for data search path, -d for data.
+        . add command line reading for specifying library search paths and
+          libraries/plug-ins, -D for library search path, -l for libraries.
+    - Internet Explorer plug-in.
+    - .osg to Inventor file plug-in.
+    - Tutorials example programs.
+    
+    
+o Under development 
+  =================
+    Sign up here if would like to take on a task :-)
+    - add osg::Billboard for trees etc.
+    - .pfb loader for Performer binary files.
+    - full maths support in osg::Matrix class.
+    - Netscape plug-in.
+    - add osg::Channel/sgCamera class.
+    - .flt Open Flight format.
+    - autoconf/configure support to aid portabilty to other unix's.
+    - CVS support for when source is made fully public.
+
+
+o Work completed
+  ==============
+    - osg namespace implemented.
+    - reduce the STL platform specific #ifdef's.
+    - remove using namespace from all header files, so not to pollute user space.
+    - remove the sg prefix from sgNode etc, now that the osg namespaces exits.
+    - FAQ for distribution and web site.
+    - full maths support in osg::Vec2, osg::Vec3 and osg::Vec4.
+    - change the osg::Registry to use plug-in RW's on loading a plug-in
+      instead of the plug-in functions found in sg.cxx.  
+    - add support for removal of plug-ins from osg::Registry,
+    - add .osg support into DCS node.
+    - clean up inheritance relationship between osg::Node, osg::Object etc.
+    - add osg::Switch for handling optional rendering of children.
+    - add osg::LOD (level of detail) group node for load management. 
+    - add view frustrum culling into osg::RenderVisitor.
+    - add support for mutliply referenced nodes into osg::Input.
+    - add a quaternion class.
+    - improve osg::BoundingBox and osg::BoundingSphere.
+    - add hit and intersect classes for collision detection.
+    - add intersect visitor.
+    - add camera manipualotors for trackball, drive and flight mouse control.
+    - add compile OpenGL display lists visitor (currently in sgv).
+    - library version and description functions.
+    - add support for OpenGL Vertex Array into osg::GeoSet.
+    - .gif      GIF Images!
+    - .jpg      JPEG Images.
+    - .tiff     TIFF Images.
+    - .png      PNG Images.
+    - .tga      TGA Images.
+    - .pic      PIC Images.
+    - add timing/timestamp class.
+    - document how to get the OSG compiled and running under all
+      platforms, Win32 being priority as it's the least obvious.
Index: /OpenSceneGraph/tags/osg_8_34/doc/Doxyfile
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/Doxyfile (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/Doxyfile (revision 2)
@@ -0,0 +1,708 @@
+# Doxyfile 1.2.2
+
+# This file describes the settings to be used by doxygen for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# General configuration options
+#---------------------------------------------------------------------------
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
+# by quotes) that should identify the project. 
+
+PROJECT_NAME           = "OpenSceneGraph & Utility Toolkit"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
+# This could be handy for archiving the generated documentation or 
+# if some version control system is used.
+
+PROJECT_NUMBER         = 0.8-26
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
+# base path where the generated documentation will be put. 
+# If a relative path is entered, it will be relative to the location 
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       = $(OSGHOME)/docs/doxygen
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all 
+# documentation generated by doxygen is written. Doxygen will use this 
+# information to generate all constant output in the proper language. 
+# The default language is English, other supported languages are: 
+# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese, 
+# Korean, Hungarian, Spanish, Romanian, Russian, Croatian, Polish, and 
+# Portuguese.
+
+OUTPUT_LANGUAGE        = English
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
+# documentation are documented, even if no documentation was available. 
+# Private class members and static file members will be hidden unless 
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES 
+
+EXTRACT_ALL            = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
+# will be included in the documentation. 
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file 
+# will be included in the documentation. 
+
+EXTRACT_STATIC         = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
+# undocumented members of documented classes, files or namespaces. 
+# If set to NO (the default) these members will be included in the 
+# various overviews, but no documentation section is generated. 
+# This option has no effect if EXTRACT_ALL is enabled. 
+
+HIDE_UNDOC_MEMBERS     = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
+# undocumented classes that are normally visible in the class hierarchy. 
+# If set to NO (the default) these class will be included in the various 
+# overviews. This option has no effect if EXTRACT_ALL is enabled. 
+
+HIDE_UNDOC_CLASSES     = NO
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
+# include brief member descriptions after the members that are listed in 
+# the file and class documentation (similar to JavaDoc). 
+# Set to NO to disable this. 
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
+# the brief description of a member or function before the detailed description. 
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 
+# brief descriptions will be completely suppressed. 
+
+REPEAT_BRIEF           = YES
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 
+# Doxygen will generate a detailed section even if there is only a brief 
+# description. 
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full 
+# path before files name in the file list and in the header files. If set 
+# to NO the shortest path that makes the file name unique will be used. 
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag 
+# can be used to strip a user defined part of the path. Stripping is 
+# only done if one of the specified strings matches the left-hand part of 
+# the path. It is allowed to use relative paths in the argument list.
+
+STRIP_FROM_PATH        = 
+
+# The INTERNAL_DOCS tag determines if documentation 
+# that is typed after a \internal command is included. If the tag is set 
+# to NO (the default) then the documentation will be excluded. 
+# Set it to YES to include the internal documentation. 
+
+INTERNAL_DOCS          = NO
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will 
+# generate a class diagram (in Html and LaTeX) for classes with base or 
+# super classes. Setting the tag to NO turns the diagrams off. 
+
+CLASS_DIAGRAMS         = YES
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
+# be generated. Documented entities will be cross-referenced with these sources. 
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body 
+# of functions and classes directly in the documentation. 
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct 
+# doxygen to hide any special comment blocks from generated source code 
+# fragments. Normal C and C++ comments will always remain visible. 
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
+# file names in lower case letters. If set to YES upper case letters are also 
+# allowed. This is useful if you have classes or files whose names only differ 
+# in case and if your file system supports case sensitive file names. Windows 
+# users are adviced to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen 
+# will show members with their full class and namespace scopes in the 
+# documentation. If set to YES the scope will be hidden. 
+
+HIDE_SCOPE_NAMES       = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen 
+# will generate a verbatim copy of the header file for each class for 
+# which an include is specified. Set to NO to disable this. 
+
+VERBATIM_HEADERS       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen 
+# will put list of the files that are included by a file in the documentation 
+# of that file. 
+
+SHOW_INCLUDE_FILES     = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen 
+# will interpret the first line (until the first dot) of a JavaDoc-style 
+# comment as the brief description. If set to NO, the Javadoc-style will 
+# behave just like the Qt-style comments. 
+
+JAVADOC_AUTOBRIEF      = YES
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented 
+# member inherits the documentation from any documented member that it 
+# reimplements. 
+
+INHERIT_DOCS           = YES
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] 
+# is inserted in the documentation for inline members. 
+
+INLINE_INFO            = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
+# will sort the (detailed) documentation of file and class members 
+# alphabetically by member name. If set to NO the members will appear in 
+# declaration order. 
+
+SORT_MEMBER_DOCS       = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
+# tag is set to YES, then doxygen will reuse the documentation of the first 
+# member in the group (if any) for the other members of the group. By default 
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. 
+# Doxygen uses this value to replace tabs by spaces in code fragments. 
+
+TAB_SIZE               = 8
+
+# The ENABLE_SECTIONS tag can be used to enable conditional 
+# documentation sections, marked by \if sectionname ... \endif. 
+
+ENABLED_SECTIONS       = 
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or 
+# disable (NO) the todo list. This list is created by putting \todo 
+# commands in the documentation.
+
+GENERATE_TODOLIST      = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or 
+# disable (NO) the test list. This list is created by putting \test 
+# commands in the documentation.
+
+GENERATE_TESTLIST      = YES
+
+# This tag can be used to specify a number of aliases that acts 
+# as commands in the documentation. An alias has the form "name=value". 
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
+# put the command \sideeffect (or @sideeffect) in the documentation, which 
+# will result in a user defined paragraph with heading "Side Effects:". 
+# You can put \n's in the value part of an alias to insert newlines. 
+
+ALIASES                = 
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated 
+# by doxygen. Possible values are YES and NO. If left blank NO is used. 
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are 
+# generated by doxygen. Possible values are YES and NO. If left blank 
+# NO is used. 
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings 
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will 
+# automatically be disabled. 
+
+WARN_IF_UNDOCUMENTED   = YES
+
+# The WARN_FORMAT tag determines the format of the warning messages that 
+# doxygen can produce. The string should contain the $file, $line, and $text 
+# tags, which will be replaced by the file and line number from which the 
+# warning originated and the warning text. 
+
+WARN_FORMAT            = "$file:$line: $text"
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain 
+# documented source files. You may enter file names like "myfile.cpp" or 
+# directories like "/usr/src/myproject". Separate the files or directories 
+# with spaces. 
+
+INPUT                  = $(OSGHOME)
+
+# If the value of the INPUT tag contains directories, you can use the 
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included. 
+
+FILE_PATTERNS          = */include/* */src/*/*.cpp
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories 
+# should be searched for input files as well. Possible values are YES and NO. 
+# If left blank NO is used. 
+
+RECURSIVE              = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should 
+# excluded from the INPUT source files. This way you can easily exclude a 
+# subdirectory from a directory tree whose root is specified with the INPUT tag. 
+
+EXCLUDE                = 
+
+# If the value of the INPUT tag contains directories, you can use the 
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
+# certain files from those directories. 
+
+EXCLUDE_PATTERNS       = 
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or 
+# directories that contain example code fragments that are included (see 
+# the \include command). 
+
+EXAMPLE_PATH           = 
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
+# and *.h) to filter out the source-files in the directories. If left 
+# blank all files are included. 
+
+EXAMPLE_PATTERNS       = 
+
+# The IMAGE_PATH tag can be used to specify one or more files or 
+# directories that contain image that are included in the documentation (see 
+# the \image command). 
+
+IMAGE_PATH             = 
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should 
+# invoke to filter for each input file. Doxygen will invoke the filter program 
+# by executing (via popen()) the command <filter> <input-file>, where <filter> 
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
+# input file. Doxygen will then use the output that the filter program writes 
+# to standard output. 
+
+INPUT_FILTER           = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index 
+# of all compounds will be generated. Enable this if the project 
+# contains a lot of classes, structs, unions or interfaces. 
+
+ALPHABETICAL_INDEX     = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then 
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns 
+# in which this list will be split (can be a number in the range [1..20]) 
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all 
+# classes will be put under the same header in the alphabetical index. 
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that 
+# should be ignored while generating the index headers. 
+
+IGNORE_PREFIX          = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will 
+# generate HTML output. 
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `html' will be used as the default path. 
+
+HTML_OUTPUT            = html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard header.
+
+HTML_HEADER            = 
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for 
+# each generated HTML page. If it is left blank doxygen will generate a 
+# standard footer.
+
+HTML_FOOTER            = 
+
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading 
+# style sheet that is used by each HTML page. It can be used to 
+# fine-tune the look of the HTML output. If the tag is left blank doxygen 
+# will generate a default style sheet 
+
+HTML_STYLESHEET        = 
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
+# files or namespaces will be aligned in HTML using tables. If set to 
+# NO a bullet list will be used. 
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
+# will be generated that can be used as input for tools like the 
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) 
+# of the generated HTML documentation. 
+
+GENERATE_HTMLHELP      = NO
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
+# top of each HTML page. The value NO (the default) enables the index and 
+# the value YES disables it. 
+
+DISABLE_INDEX          = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
+# generate Latex output. 
+
+GENERATE_LATEX         = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `latex' will be used as the default path. 
+
+LATEX_OUTPUT           = latex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact 
+# LaTeX documents. This may be useful for small projects and may help to 
+# save some trees in general. 
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used 
+# by the printer. Possible values are: a4, a4wide, letter, legal and 
+# executive. If left blank a4wide will be used. 
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX 
+# packages that should be included in the LaTeX output. 
+
+EXTRA_PACKAGES         = 
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
+# the generated latex document. The header should contain everything until 
+# the first chapter. If it is left blank doxygen will generate a 
+# standard header. Notice: only use this tag if you know what you are doing! 
+
+LATEX_HEADER           = 
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated 
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will 
+# contain links (just like the HTML output) instead of page references 
+# This makes the output suitable for online browsing using a pdf viewer. 
+
+PDF_HYPERLINKS         = NO
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of 
+# plain latex in the generated Makefile. Set this option to YES to get a 
+# higher quality PDF documentation. 
+
+USE_PDFLATEX           = NO
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
+# command to the generated LaTeX files. This will instruct LaTeX to keep 
+# running if errors occur, instead of asking the user for help. 
+# This option is also used when generating formulas in HTML. 
+
+LATEX_BATCHMODE        = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output 
+# The RTF output is optimised for Word 97 and may not look very pretty with 
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `rtf' will be used as the default path. 
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact 
+# RTF documents. This may be useful for small projects and may help to 
+# save some trees in general. 
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
+# will contain hyperlink fields. The RTF file will 
+# contain links (just like the HTML output) instead of page references. 
+# This makes the output suitable for online browsing using a WORD or other. 
+# programs which support those fields. 
+# Note: wordpad (write) and others do not support links. 
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's 
+# config file, i.e. a series of assigments. You only have to provide 
+# replacements, missing definitions are set to their default value. 
+
+RTF_STYLESHEET_FILE    = 
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
+# generate man pages 
+
+GENERATE_MAN           = YES
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. 
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be 
+# put in front of it. If left blank `man' will be used as the default path. 
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to 
+# the generated man pages (default is the subroutine's section .3) 
+
+MAN_EXTENSION          = .3
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will 
+# generate an XML file that captures the structure of 
+# the code including all documentation. Warning: This feature 
+# is still experimental and very incomplete.
+
+GENERATE_XML           = NO
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor   
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will 
+# evaluate all C-preprocessor directives found in the sources and include 
+# files. 
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro 
+# names in the source code. If set to NO (the default) only conditional 
+# compilation will be performed. Macro expansion can be done in a controlled 
+# way by setting EXPAND_ONLY_PREDEF to YES. 
+
+MACRO_EXPANSION        = NO
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 
+# then the macro expansion is limited to the macros specified with the 
+# PREDEFINED and EXPAND_AS_PREDEFINED tags. 
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
+# in the INCLUDE_PATH (see below) will be search if a #include is found. 
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that 
+# contain include files that are not input files but should be processed by 
+# the preprocessor. 
+
+INCLUDE_PATH           = 
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
+# patterns (like *.h and *.hpp) to filter out the header-files in the 
+# directories. If left blank, the patterns specified with FILE_PATTERNS will 
+# be used. 
+
+INCLUDE_FILE_PATTERNS  = 
+
+# The PREDEFINED tag can be used to specify one or more macro names that 
+# are defined before the preprocessor is started (similar to the -D option of 
+# gcc). The argument of the tag is a list of macros of the form: name 
+# or name=definition (no spaces). If the definition and the = are 
+# omitted =1 is assumed. 
+
+PREDEFINED             = 
+
+# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then 
+# this tag can be used to specify a list of macro names that should be expanded. 
+# The macro definition that is found in the sources will be used. 
+# Use the PREDEFINED tag if you want to use a different macro definition. 
+
+EXPAND_AS_DEFINED      = 
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to external references   
+#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tagfiles. 
+
+TAGFILES               = 
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
+# a tag file that is based on the input files it reads. 
+
+GENERATE_TAGFILE       = 
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed 
+# in the class index. If set to NO only the inherited external classes 
+# will be listed. 
+
+ALLEXTERNALS           = NO
+
+# The PERL_PATH should be the absolute path and name of the perl script 
+# interpreter (i.e. the result of `which perl'). 
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool   
+#---------------------------------------------------------------------------
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 
+# available from the path. This tool is part of Graphviz, a graph visualization 
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section 
+# have no effect if this option is set to NO (the default) 
+
+HAVE_DOT               = YES
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect inheritance relations. Setting this tag to YES will force the 
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
+# will generate a graph for each documented class showing the direct and 
+# indirect implementation dependencies (inheritance, containment, and 
+# class references variables) of the class with other documented classes. 
+
+COLLABORATION_GRAPH    = YES
+
+# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to 
+# YES then doxygen will generate a graph for each documented file showing 
+# the direct and indirect include dependencies of the file with other 
+# documented files. 
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to 
+# YES then doxygen will generate a graph for each documented header file showing 
+# the documented files that directly or indirectly include this file 
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
+# will graphical hierarchy of all classes instead of a textual one. 
+
+GRAPHICAL_HIERARCHY    = YES
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be 
+# found. If left blank, it is assumed the dot tool can be found on the path. 
+
+DOT_PATH               = 
+
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images. 
+
+MAX_DOT_GRAPH_WIDTH    = 1024
+
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height 
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than 
+# this value, doxygen will try to truncate the graph, so that it fits within 
+# the specified constraint. Beware that most browsers cannot cope with very 
+# large images. 
+
+MAX_DOT_GRAPH_HEIGHT   = 1024
+
+#---------------------------------------------------------------------------
+# Configuration::addtions related to the search engine   
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be 
+# used. If set to NO the values of all tags below this one will be ignored. 
+
+SEARCHENGINE           = NO
+
+# The CGI_NAME tag should be the name of the CGI script that 
+# starts the search engine (doxysearch) with the correct parameters. 
+# A script with this name will be generated by doxygen. 
+
+CGI_NAME               = search.cgi
+
+# The CGI_URL tag should be the absolute URL to the directory where the 
+# cgi binaries are located. See the documentation of your http daemon for 
+# details. 
+
+CGI_URL                = 
+
+# The DOC_URL tag should be the absolute URL to the directory where the 
+# documentation is located. If left blank the absolute path to the 
+# documentation, with file:// prepended to it, will be used. 
+
+DOC_URL                = 
+
+# The DOC_ABSPATH tag should be the absolute path to the directory where the 
+# documentation is located. If left blank the directory on the local machine 
+# will be used. 
+
+DOC_ABSPATH            = 
+
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary 
+# is installed. 
+
+BIN_ABSPATH            = /usr/local/bin/
+
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to 
+# documentation generated for other projects. This allows doxysearch to search 
+# the documentation for these projects as well. 
+
+EXT_DOC_PATHS          = 
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/General.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/General.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/General.html (revision 2)
@@ -0,0 +1,33 @@
+<HTML>
+<HEAD>
+   <TITLE>General Bits</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<DL>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGGLUT_EXPORT_"></A>
+<B>OSGGLUT_EXPORT_</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGGLUT_EXPORT"></A>
+<B>OSGGLUT_EXPORT</B>(dllexport)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGGLUT_EXPORT"></A>
+<B>OSGGLUT_EXPORT</B>(dllimport)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGGLUT_GLUTEVENTADAPTER"></A>
+<B>OSGGLUT_GLUTEVENTADAPTER</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGGLUT_VIEWER"></A>
+<B>OSGGLUT_VIEWER</B><DD><I></I>
+</DL>
+<I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">Hierarchy of classes</A></I></P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/GLUTEventAdapter.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/GLUTEventAdapter.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/GLUTEventAdapter.html (revision 2)
@@ -0,0 +1,342 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGGLUT_EXPORT osgGLUT::GLUTEventAdapter</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGGLUT_EXPORT <A HREF="#DOC.DOCU">osgGLUT::GLUTEventAdapter</A>: public osgUtil::GUIEventAdapter</H2>
+<BLOCKQUOTE>Class for adapting GLUT events so that they can be used as input to osgUtil::CameraManipulators</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="MosgUtil::GUIEventAdapter,M,CGLUTEventAdapter,MGLUTEventAdapter.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 Methods</H3><DD><DT>
+<A HREF="#DOC.5.1.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>GLUTEventAdapter</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~GLUTEventAdapter</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   EventType <B>getEventType</B>() const 
+<DD><I>Get the EventType of the GUI event</I>
+<DT>
+<A HREF="#DOC.5.1.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getKey</B>() const 
+<DD><I>key pressed, return -1 if inapropriate for this event.</I>
+<DT>
+<A HREF="#DOC.5.1.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getButton</B>() const 
+<DD><I>button pressed/released, return -1 if inappropriate for this event</I>
+<DT>
+<A HREF="#DOC.5.1.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getXmin</B>() const 
+<DD><I>window minimum x.</I>
+<DT>
+<A HREF="#DOC.5.1.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getXmax</B>() const 
+<DD><I>window maximum x.</I>
+<DT>
+<A HREF="#DOC.5.1.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getYmin</B>() const 
+<DD><I>window minimum y.</I>
+<DT>
+<A HREF="#DOC.5.1.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getYmax</B>() const 
+<DD><I>window maximum y.</I>
+<DT>
+<A HREF="#DOC.5.1.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getX</B>() const 
+<DD><I>current mouse x position</I>
+<DT>
+<A HREF="#DOC.5.1.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getY</B>() const 
+<DD><I>current mouse y position</I>
+<DT>
+<A HREF="#DOC.5.1.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   unsigned int <B>getButtonMask</B>() const 
+<DD><I>current mouse button state </I>
+<DT>
+<A HREF="#DOC.5.1.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   float <B>time</B>() const 
+<DD><I>time in seconds of event.</I>
+<DT>
+<A HREF="#DOC.5.1.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>setWindowSize</B>(int Xmin, int Ymin, int Xmax, int Ymax)
+<DD><I>static method for setting window dimensions</I>
+<DT>
+<A HREF="#DOC.5.1.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>setButtonMask</B>(unsigned int buttonMask)
+<DD><I>static method for setting button state</I>
+<DT>
+<A HREF="#DOC.5.1.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>adaptResize</B>(float t, int Xmin, int Ymin, int Xmax, int Ymax)
+<DD><I>method for adapting resize events.</I>
+<DT>
+<A HREF="#DOC.5.1.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>adaptMouseMotion</B>(float t, int x, int y)
+<DD><I>method for adapting mouse motion events whilst mouse buttons are pressed</I>
+<DT>
+<A HREF="#DOC.5.1.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>adaptMousePassiveMotion</B>(float t, int x, int y)
+<DD><I>method for adapting mouse motion events whilst no mouse button are pressed</I>
+<DT>
+<A HREF="#DOC.5.1.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>adaptMouse</B>(float t, int button, int state, int x, int y)
+<DD><I>method for adapting mouse button pressed/released events</I>
+<DT>
+<A HREF="#DOC.5.1.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>adaptKeyboard</B>(float t, unsigned char key, int x, int y )
+<DD><I>method for adapting keyboard events</I>
+<DT>
+<A HREF="#DOC.5.1.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>adaptFrame</B>(float t)
+<DD><I>method for adapting frame events, ie.</I>
+<DT>
+<A HREF="#DOC.5.1.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>copyStaticVariables</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.5.1.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>EventType <B>_eventType</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_key</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_button</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_Xmin</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int  <B>_Xmax</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_Ymin</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int  <B>_Ymax</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_mx</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_my</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned int <B>_buttonMask</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_time</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   unsigned int <B>_s_accumulatedButtonMask</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   int <B>_s_Xmin</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   int  <B>_s_Xmax</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   int <B>_s_Ymin</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   int  <B>_s_Ymax</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   int <B>_s_mx</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.1.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   int  <B>_s_my</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Class for adapting GLUT events so that they can be used as input to osgUtil::CameraManipulators</BLOCKQUOTE>
+<DL>
+
+<A NAME="GLUTEventAdapter">
+<A NAME="DOC.5.1.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> GLUTEventAdapter()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~GLUTEventAdapter">
+<A NAME="DOC.5.1.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~GLUTEventAdapter()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getEventType">
+<A NAME="DOC.5.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   EventType getEventType() const </B></TT>
+<DD>Get the EventType of the GUI event
+<DL><DT><DD></DL><P>
+<A NAME="getKey">
+<A NAME="DOC.5.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getKey() const </B></TT>
+<DD>key pressed, return -1 if inapropriate for this event. 
+<DL><DT><DD></DL><P>
+<A NAME="getButton">
+<A NAME="DOC.5.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getButton() const </B></TT>
+<DD>button pressed/released, return -1 if inappropriate for this event
+<DL><DT><DD></DL><P>
+<A NAME="getXmin">
+<A NAME="DOC.5.1.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getXmin() const </B></TT>
+<DD>window minimum x. 
+<DL><DT><DD></DL><P>
+<A NAME="getXmax">
+<A NAME="DOC.5.1.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getXmax() const </B></TT>
+<DD>window maximum x. 
+<DL><DT><DD></DL><P>
+<A NAME="getYmin">
+<A NAME="DOC.5.1.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getYmin() const </B></TT>
+<DD>window minimum y. 
+<DL><DT><DD></DL><P>
+<A NAME="getYmax">
+<A NAME="DOC.5.1.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getYmax() const </B></TT>
+<DD>window maximum y. 
+<DL><DT><DD></DL><P>
+<A NAME="getX">
+<A NAME="DOC.5.1.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getX() const </B></TT>
+<DD>current mouse x position
+<DL><DT><DD></DL><P>
+<A NAME="getY">
+<A NAME="DOC.5.1.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getY() const </B></TT>
+<DD>current mouse y position
+<DL><DT><DD></DL><P>
+<A NAME="getButtonMask">
+<A NAME="DOC.5.1.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   unsigned int getButtonMask() const </B></TT>
+<DD>current mouse button state 
+<DL><DT><DD></DL><P>
+<A NAME="time">
+<A NAME="DOC.5.1.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   float time() const </B></TT>
+<DD>time in seconds of event. 
+<DL><DT><DD></DL><P>
+<A NAME="setWindowSize">
+<A NAME="DOC.5.1.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void setWindowSize(int Xmin, int Ymin, int Xmax, int Ymax)</B></TT>
+<DD>static method for setting window dimensions
+<DL><DT><DD></DL><P>
+<A NAME="setButtonMask">
+<A NAME="DOC.5.1.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void setButtonMask(unsigned int buttonMask)</B></TT>
+<DD>static method for setting button state
+<DL><DT><DD></DL><P>
+<A NAME="adaptResize">
+<A NAME="DOC.5.1.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void adaptResize(float t, int Xmin, int Ymin, int Xmax, int Ymax)</B></TT>
+<DD>method for adapting resize events. 
+<DL><DT><DD></DL><P>
+<A NAME="adaptMouseMotion">
+<A NAME="DOC.5.1.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void adaptMouseMotion(float t, int x, int y)</B></TT>
+<DD>method for adapting mouse motion events whilst mouse buttons are pressed
+<DL><DT><DD></DL><P>
+<A NAME="adaptMousePassiveMotion">
+<A NAME="DOC.5.1.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void adaptMousePassiveMotion(float t, int x, int y)</B></TT>
+<DD>method for adapting mouse motion events whilst no mouse button are pressed
+<DL><DT><DD></DL><P>
+<A NAME="adaptMouse">
+<A NAME="DOC.5.1.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void adaptMouse(float t, int button, int state, int x, int y)</B></TT>
+<DD>method for adapting mouse button pressed/released events
+<DL><DT><DD></DL><P>
+<A NAME="adaptKeyboard">
+<A NAME="DOC.5.1.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void adaptKeyboard(float t, unsigned char key, int x, int y )</B></TT>
+<DD>method for adapting keyboard events
+<DL><DT><DD></DL><P>
+<A NAME="adaptFrame">
+<A NAME="DOC.5.1.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void adaptFrame(float t)</B></TT>
+<DD>method for adapting frame events, ie. iddle/display callback.
+<DL><DT><DD></DL><P>
+<A NAME="copyStaticVariables">
+<A NAME="DOC.5.1.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copyStaticVariables()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_eventType">
+<A NAME="DOC.5.1.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>EventType _eventType</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_key">
+<A NAME="DOC.5.1.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _key</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_button">
+<A NAME="DOC.5.1.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _button</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_Xmin">
+<A NAME="DOC.5.1.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _Xmin</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_Xmax">
+<A NAME="DOC.5.1.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  _Xmax</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_Ymin">
+<A NAME="DOC.5.1.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _Ymin</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_Ymax">
+<A NAME="DOC.5.1.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  _Ymax</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_mx">
+<A NAME="DOC.5.1.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _mx</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_my">
+<A NAME="DOC.5.1.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _my</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_buttonMask">
+<A NAME="DOC.5.1.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _buttonMask</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_time">
+<A NAME="DOC.5.1.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _time</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s_accumulatedButtonMask">
+<A NAME="DOC.5.1.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   unsigned int _s_accumulatedButtonMask</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s_Xmin">
+<A NAME="DOC.5.1.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   int _s_Xmin</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s_Xmax">
+<A NAME="DOC.5.1.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   int  _s_Xmax</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s_Ymin">
+<A NAME="DOC.5.1.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   int _s_Ymin</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s_Ymax">
+<A NAME="DOC.5.1.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   int  _s_Ymax</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s_mx">
+<A NAME="DOC.5.1.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   int _s_mx</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s_my">
+<A NAME="DOC.5.1.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   int  _s_my</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/Viewer.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/Viewer.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/Viewer.html (revision 2)
@@ -0,0 +1,508 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGGLUT_EXPORT osgGLUT::Viewer</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGGLUT_EXPORT <A HREF="#DOC.DOCU">osgGLUT::Viewer</A>: public osgUtil::GUIActionAdapter</H2>
+<BLOCKQUOTE>A basic viewer base class which provides a window, simple keyboard and mouse interaction.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="MosgUtil::GUIActionAdapter,M,CViewer,MViewer.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 Methods</H3><DD><DT>
+<A HREF="#DOC.5.2.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Viewer</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Viewer</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>init</B>( osg::Node* )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>run</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>update</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>traverse</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>draw</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>long <B>initClock</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>clockSeconds</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer_t <B>updateFrameTick</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>frameSeconds</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>frameRate</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>help</B>(ostream&amp; fout)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>registerCameraManipulator</B>(osgUtil::CameraManipulator* cm)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>selectCameraManipulator</B>(unsigned int pos)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needRedraw</B>(bool )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needContinuousUpdate</B>(bool )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needWarpPointer</B>(int x, int y)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.5.2.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Viewer.html#DOC.5.2.1">Viewer</A>* <B>s_theViewer</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;osgUtil::SceneView&gt;  <B>_sceneView</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;osgUtil::CameraManipulator&gt;  <B>_cameraManipulator</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Viewer.html#DOC.5.2.35">CameraManipList</A> <B>_cameraManipList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>std::string <B>_saveFileName</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>ww</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int  <B>wh</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>ifdef SGV_USE_RTFS unsigned int <B>frame_rate</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>RTfs* <B>fs</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_viewFrustumCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_smallFeatureCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.45"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>mx</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.46"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int  <B>my</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.47"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int   <B>mbutton</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.48"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>polymode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.49"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>texture</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.50"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>backface</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.51"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>lighting</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.52"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>flat_shade</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.53"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_two_sided_lighting</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.54"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>fullscreen</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.55"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_saved_ww</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.56"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int  <B>_saved_wh</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.57"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_printStats</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.58"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_useDisplayLists</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.59"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer <B>_timer</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.60"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer_t <B>_tickRatePerSecond</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.61"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer_t <B>_initialTick</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.62"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer_t <B>_lastFrameTick</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.63"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer_t <B>_frameTick</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.5.2.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>displayCB</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>reshapeCB</B>(GLint w, GLint h)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>visibilityCB</B>(int state)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>mouseMotionCB</B>(int x, int y)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>mousePassiveMotionCB</B>(int x, int y)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>mouseCB</B>(int button, int state, int x, int y)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>keyboardCB</B>(unsigned char key, int x, int y )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>display</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>reshape</B>(GLint w, GLint h)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>visibility</B>(int state)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>mouseMotion</B>(int x, int y)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>mousePassiveMotion</B>(int x, int y)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>mouse</B>(int button, int state, int x, int y)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>keyboard</B>(unsigned char key, int x, int y)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.64"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer_t <B>clockTick</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.5.2.65"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Timer_t <B>frameTick</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected</H3><DD><DT>
+<A HREF="#DOC.5.2.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;osg::ref_ptr&lt;osgUtil::CameraManipulator&gt; &gt;  <B>CameraManipList</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>A basic viewer base class which provides a window, simple keyboard and mouse interaction.
+Please note, this viewer class has been developed via a rather haphazzard
+path and *needs* a total rewrite.  It currently surfices for osg demo's
+but shouldn't be viewed as the be all or end of osg viewer classes.
+Someone please rewrite it :-)</BLOCKQUOTE>
+<DL>
+
+<A NAME="Viewer">
+<A NAME="DOC.5.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Viewer()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Viewer">
+<A NAME="DOC.5.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Viewer()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.5.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool init( osg::Node* )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="run">
+<A NAME="DOC.5.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool run()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="update">
+<A NAME="DOC.5.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool update()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="traverse">
+<A NAME="DOC.5.2.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool traverse()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="draw">
+<A NAME="DOC.5.2.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool draw()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="initClock">
+<A NAME="DOC.5.2.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>long initClock()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clockSeconds">
+<A NAME="DOC.5.2.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float clockSeconds()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="updateFrameTick">
+<A NAME="DOC.5.2.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer_t updateFrameTick()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="frameSeconds">
+<A NAME="DOC.5.2.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float frameSeconds()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="frameRate">
+<A NAME="DOC.5.2.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float frameRate()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="help">
+<A NAME="DOC.5.2.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void help(ostream&amp; fout)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="registerCameraManipulator">
+<A NAME="DOC.5.2.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void registerCameraManipulator(osgUtil::CameraManipulator* cm)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="selectCameraManipulator">
+<A NAME="DOC.5.2.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void selectCameraManipulator(unsigned int pos)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="needRedraw">
+<A NAME="DOC.5.2.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needRedraw(bool )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="needContinuousUpdate">
+<A NAME="DOC.5.2.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needContinuousUpdate(bool )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="needWarpPointer">
+<A NAME="DOC.5.2.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needWarpPointer(int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="displayCB">
+<A NAME="DOC.5.2.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void displayCB()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="reshapeCB">
+<A NAME="DOC.5.2.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void reshapeCB(GLint w, GLint h)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="visibilityCB">
+<A NAME="DOC.5.2.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void visibilityCB(int state)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mouseMotionCB">
+<A NAME="DOC.5.2.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void mouseMotionCB(int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mousePassiveMotionCB">
+<A NAME="DOC.5.2.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void mousePassiveMotionCB(int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mouseCB">
+<A NAME="DOC.5.2.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void mouseCB(int button, int state, int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="keyboardCB">
+<A NAME="DOC.5.2.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void keyboardCB(unsigned char key, int x, int y )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="display">
+<A NAME="DOC.5.2.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void display()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="reshape">
+<A NAME="DOC.5.2.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void reshape(GLint w, GLint h)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="visibility">
+<A NAME="DOC.5.2.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void visibility(int state)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mouseMotion">
+<A NAME="DOC.5.2.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void mouseMotion(int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mousePassiveMotion">
+<A NAME="DOC.5.2.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void mousePassiveMotion(int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mouse">
+<A NAME="DOC.5.2.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void mouse(int button, int state, int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="keyboard">
+<A NAME="DOC.5.2.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void keyboard(unsigned char key, int x, int y)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="s_theViewer">
+<A NAME="DOC.5.2.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Viewer.html#DOC.5.2.1">Viewer</A>* s_theViewer</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_sceneView">
+<A NAME="DOC.5.2.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osgUtil::SceneView&gt;  _sceneView</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="CameraManipList">
+<A NAME="DOC.5.2.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;osg::ref_ptr&lt;osgUtil::CameraManipulator&gt; &gt;  CameraManipList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_cameraManipulator">
+<A NAME="DOC.5.2.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osgUtil::CameraManipulator&gt;  _cameraManipulator</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_cameraManipList">
+<A NAME="DOC.5.2.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Viewer.html#DOC.5.2.35">CameraManipList</A> _cameraManipList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_saveFileName">
+<A NAME="DOC.5.2.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string _saveFileName</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ww">
+<A NAME="DOC.5.2.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int ww</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="wh">
+<A NAME="DOC.5.2.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  wh</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="frame_rate">
+<A NAME="DOC.5.2.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ifdef SGV_USE_RTFS unsigned int frame_rate</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="fs">
+<A NAME="DOC.5.2.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>RTfs* fs</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_viewFrustumCullingActive">
+<A NAME="DOC.5.2.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _viewFrustumCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_smallFeatureCullingActive">
+<A NAME="DOC.5.2.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _smallFeatureCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mx">
+<A NAME="DOC.5.2.45">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int mx</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="my">
+<A NAME="DOC.5.2.46">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  my</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mbutton">
+<A NAME="DOC.5.2.47">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int   mbutton</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="polymode">
+<A NAME="DOC.5.2.48">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int polymode</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="texture">
+<A NAME="DOC.5.2.49">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int texture</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="backface">
+<A NAME="DOC.5.2.50">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int backface</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="lighting">
+<A NAME="DOC.5.2.51">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int lighting</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="flat_shade">
+<A NAME="DOC.5.2.52">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int flat_shade</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_two_sided_lighting">
+<A NAME="DOC.5.2.53">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _two_sided_lighting</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="fullscreen">
+<A NAME="DOC.5.2.54">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool fullscreen</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_saved_ww">
+<A NAME="DOC.5.2.55">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _saved_ww</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_saved_wh">
+<A NAME="DOC.5.2.56">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  _saved_wh</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_printStats">
+<A NAME="DOC.5.2.57">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _printStats</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_useDisplayLists">
+<A NAME="DOC.5.2.58">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _useDisplayLists</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_timer">
+<A NAME="DOC.5.2.59">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer _timer</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_tickRatePerSecond">
+<A NAME="DOC.5.2.60">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer_t _tickRatePerSecond</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_initialTick">
+<A NAME="DOC.5.2.61">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer_t _initialTick</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_lastFrameTick">
+<A NAME="DOC.5.2.62">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer_t _lastFrameTick</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frameTick">
+<A NAME="DOC.5.2.63">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer_t _frameTick</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clockTick">
+<A NAME="DOC.5.2.64">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer_t clockTick()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="frameTick">
+<A NAME="DOC.5.2.65">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Timer_t frameTick()</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/osgGLUT.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/osgGLUT.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/osgGLUT.html (revision 2)
@@ -0,0 +1,27 @@
+<HTML>
+<HEAD>
+   <TITLE>namespace osgGLUT</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>namespace <A HREF="#DOC.DOCU">osgGLUT</A></H2>
+
+<HR>
+<P><DL>
+ <DT><A HREF="GLUTEventAdapter.html">class  OSGGLUT_EXPORT <B>GLUTEventAdapter</B></A>
+<DD><I>Class for adapting GLUT events so that they can be used as input to osgUtil::CameraManipulators</I>
+<DT><A HREF="Viewer.html">class  OSGGLUT_EXPORT <B>Viewer</B></A>
+<DD><I>A basic viewer base class which provides a window, simple keyboard and mouse interaction.</I>
+</DL></P>
+
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/HIER.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/HIER.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/HIER.html (revision 2)
@@ -0,0 +1,15 @@
+<HTML>
+<HEAD>
+   <TITLE>Hierarchy of Classes</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+<H1>Hierarchy of Classes</H1>
+<UL>
+
+<LI><A HREF="GLUTEventAdapter.html">osgGLUT::GLUTEventAdapter</A>
+<LI><A HREF="Viewer.html">osgGLUT::Viewer</A></UL>
+<I><A HREF="index.html">Alphabetic index</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/index.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/index.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/index.html (revision 2)
@@ -0,0 +1,27 @@
+<HTML>
+<HEAD>
+   <TITLE>Table of Contents</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H1>Table of Contents</H1>
+<H2>Namespaces</H2>
+<UL>
+<LI><A HREF="osgGLUT.html">osgGLUT</A>
+<UL></UL></UL>
+<H2>Macros</H2>
+<UL>
+<LI><B>OSGGLUT_EXPORT:</B>
+<UL>
+<LI><A HREF="General.html#OSGGLUT_EXPORT">OSGGLUT_EXPORT</A>
+<LI><A HREF="General.html#OSGGLUT_EXPORT">OSGGLUT_EXPORT</A>
+</UL>
+<LI><A HREF="General.html#OSGGLUT_EXPORT_">OSGGLUT_EXPORT_</A>
+<LI><A HREF="General.html#OSGGLUT_GLUTEVENTADAPTER">OSGGLUT_GLUTEVENTADAPTER</A>
+<LI><A HREF="General.html#OSGGLUT_VIEWER">OSGGLUT_VIEWER</A>
+</UL>
+<I><A HREF="HIER.html">Hierarchy of classes</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/HIERjava.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/HIERjava.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgGLUT/HIERjava.html (revision 2)
@@ -0,0 +1,27 @@
+<HTML>
+<HEAD>
+   <TITLE>Hierarchy of Classes</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+<H1>Hierarchy of classes</H1>
+<UL>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="MosgUtil::GUIEventAdapter,M,CGLUTEventAdapter,MGLUTEventAdapter.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="MosgUtil::GUIActionAdapter,M,CViewer,MViewer.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>
+</UL>
+<I><A HREF="index.html"> alphabetic index</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtilGetLibraryName.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtilGetLibraryName.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtilGetLibraryName.html (revision 2)
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+   <TITLE>extern OSGUTIL_EXPORT const char* osgUtilGetLibraryName</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>extern OSGUTIL_EXPORT const char* <A HREF="#DOC.DOCU">osgUtilGetLibraryName</A>()</H2>
+<BLOCKQUOTE> getLibraryName_osgUtil() returns the library name in human friendly form</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+getLibraryName_osgUtil() returns the library name in human friendly form</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraTrackballManipulator.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraTrackballManipulator.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraTrackballManipulator.html (revision 2)
@@ -0,0 +1,125 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::CameraTrackballManipulator</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::CameraTrackballManipulator</A></H2>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.2.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>MovementType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.2.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>CameraTrackballManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.2.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~CameraTrackballManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.2.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCamera</B>(osg::Camera *)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.2.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Camera* <B>getCamera</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.2.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>initialise</B>(int x, int y)
+<DD><I> initialise(int x,int y) will typically be called on a <b>mouse down</b> prior to a number of drag events.</I>
+<DT>
+<A HREF="#DOC.2.2.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>update</B>(<!1><A HREF="CameraTrackballManipulator.html#DOC.2.2.2">MovementType</A> movementType, int x, int y)
+<DD><I> update(MovementType,int,int) will typically be called on receipt of drag events, with a view to letting the view change the view.</I>
+<DT>
+<A HREF="#DOC.2.2.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>update</B>()
+<DD><I> This will replicate any previous update, and is useful for animation</I>
+<DT>
+<A HREF="#DOC.2.2.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="CameraTrackballManipulator.html#DOC.2.2.2">MovementType</A> <B>getLastMovementType</B>() const 
+<DD><I> Returns last movementType, and is useful for updating on <b>mouse up</b></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="CameraTrackballManipulator">
+<A NAME="DOC.2.2.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CameraTrackballManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~CameraTrackballManipulator">
+<A NAME="DOC.2.2.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~CameraTrackballManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setCamera">
+<A NAME="DOC.2.2.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCamera(osg::Camera *)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCamera">
+<A NAME="DOC.2.2.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Camera* getCamera() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="initialise">
+<A NAME="DOC.2.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void initialise(int x, int y)</B></TT>
+<DD>
+initialise(int x,int y) will typically be called on a
+<b>mouse down</b> prior to a number of drag events. The parameters
+tell the viewer where the mouse is at the start of the drag.
+<DL><DT><DD></DL><P>
+<A NAME="MovementType">
+<A NAME="DOC.2.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  MovementType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="NONE">
+<A NAME="DOC.2.2.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NONE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ORBIT">
+<A NAME="DOC.2.2.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ORBIT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ZOOM">
+<A NAME="DOC.2.2.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ZOOM</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="PAN">
+<A NAME="DOC.2.2.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PAN</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="update">
+<A NAME="DOC.2.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool update(<!1><A HREF="CameraTrackballManipulator.html#DOC.2.2.2">MovementType</A> movementType, int x, int y)</B></TT>
+<DD>
+update(MovementType,int,int) will typically be called on receipt of drag events,
+with a view to letting the view change the view. The return value specifies whether
+any change to the view was necessary as a result from the mouse event. Returns true
+if any change in viewpoint is made.
+<DL><DT><DD></DL><P>
+<A NAME="update">
+<A NAME="DOC.2.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void update()</B></TT>
+<DD>
+This will replicate any previous update, and is useful for animation
+<DL><DT><DD></DL><P>
+<A NAME="getLastMovementType">
+<A NAME="DOC.2.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="CameraTrackballManipulator.html#DOC.2.2.2">MovementType</A> getLastMovementType() const </B></TT>
+<DD>
+Returns last movementType, and is useful for updating on <b>mouse up</b>
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/HIER.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/HIER.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/HIER.html (revision 2)
@@ -0,0 +1,28 @@
+<HTML>
+<HEAD>
+   <TITLE>Hierarchy of Classes</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+<H1>Hierarchy of Classes</H1>
+<UL>
+
+<LI><A HREF="CameraManipulator.html">osgUtil::CameraManipulator</A><UL>
+
+<LI><A HREF="DriveManipulator.html">osgUtil::DriveManipulator</A>
+<LI><A HREF="FlightManipulator.html">osgUtil::FlightManipulator</A>
+<LI><A HREF="TrackballManipulator.html">osgUtil::TrackballManipulator</A></UL>
+
+<LI><A HREF="DisplayListVisitor.html">osgUtil::DisplayListVisitor</A>
+<LI><A HREF="GUIActionAdapter.html">osgUtil::GUIActionAdapter</A>
+<LI><A HREF="GUIEventAdapter.html">osgUtil::GUIEventAdapter</A>
+<LI><A HREF="Hit.html">osgUtil::Hit</A>
+<LI><A HREF="IntersectState.html">osgUtil::IntersectState</A>
+<LI><A HREF="IntersectVisitor.html">osgUtil::IntersectVisitor</A>
+<LI><A HREF="RenderVisitor.html">osgUtil::RenderVisitor</A>
+<LI><A HREF="SceneView.html">osgUtil::SceneView</A>
+<LI><A HREF="ViewState.html">osgUtil::ViewState</A></UL>
+<I><A HREF="index.html">Alphabetic index</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/RenderVisitor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/RenderVisitor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/RenderVisitor.html (revision 2)
@@ -0,0 +1,525 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::RenderVisitor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::RenderVisitor</A>: public osg::NodeVisitor</H2>
+<BLOCKQUOTE> Basic NodeVisitor implementation for rendering a scene.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::NodeVisitor,M,CRenderVisitor,MRenderVisitor.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>
+<A HREF="#DOC.2.11.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>TransparencySortMode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>CullingType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.11.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>RenderVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~RenderVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>reset</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Node&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Geode&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Billboard&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::LightSource&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Group&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::DCS&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Switch&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::LOD&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Scene&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setGlobalState</B>(osg::GeoState* global)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setPerspective</B>(const osg::Camera&amp; camera)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setPerspective</B>(float fovy, float aspect, float znear, float zfar)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLookAt</B>(const osg::Camera&amp; camera)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLookAt</B>(const osg::Vec3&amp; eye, const osg::Vec3&amp; center, const osg::Vec3&amp; upVector)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLookAt</B>(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLODBias</B>(float bias)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getLODBias</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTransparencySortMode</B>(<!1><A HREF="RenderVisitor.html#DOC.2.11.1">TransparencySortMode</A> tsm)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCullingActive</B>(<!1><A HREF="RenderVisitor.html#DOC.2.11.2">CullingType</A> ct, bool active)
+<DD><I> Enables/disables the specified culling type.</I>
+<DT>
+<A HREF="#DOC.2.11.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getCullingActive</B>(<!1><A HREF="RenderVisitor.html#DOC.2.11.2">CullingType</A> ct)
+<DD><I> Returns the state of the specified culling type.</I>
+<DT>
+<A HREF="#DOC.2.11.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>calcNearFar</B>(double&amp; near_plane, double&amp; far_plane)
+<DD><I> Calculates the near_plane and the far_plane for the current camera view depending on the objects currently stored in the opaque and transparent bins.</I>
+<DT>
+<A HREF="#DOC.2.11.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>render</B>()
+<DD><I> Renders the osg::GeoSets that were collected in the opaque and transparent bins before</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.11.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_viewFrustumCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_smallFeatureCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.11.40">ViewStateStack</A> <B>_viewStateStack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ViewState.html">ViewState</A>* <B>_tvs</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ViewState.html">ViewState</A>* <B>_cvs</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.47"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.11.44">OpaqueList</A> <B>_opaqueGeoSets</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.48"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.11.45">TransparentList</A> <B>_transparentGeoSets</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.49"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.11.46">LightList</A> <B>_lights</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.50"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::GeoState* <B>_globalState</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.51"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_LODBias</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.52"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_fovy</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.53"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_aspect</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.54"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_znear</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.55"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_zfar</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.57"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumTop</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.58"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumBottom</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.59"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumLeft</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.60"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumRight</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.61"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.11.1">TransparencySortMode</A> <B>_tsm</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.11.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>pushMatrix</B>(const osg::Matrix&amp; matrix)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>popMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Matrix* <B>getCurrentMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Matrix* <B>getInverseCurrentMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const osg::Vec3&amp; <B>getEyeLocal</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const osg::Vec3&amp; <B>getCenterLocal</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const osg::Vec3&amp; <B>getLookVectorLocal</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const osg::BoundingSphere&amp; sp)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const osg::BoundingBox&amp; bb)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.56"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>calculateClippingPlanes</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected</H3><DD><DT>
+<A HREF="#DOC.2.11.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::pair&lt;osg::Matrix*,osg::GeoSet*&gt;  <B>MatrixGeoSet</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="ViewState.html">ViewState</A>*&gt;  <B>ViewStateStack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::multimap&lt;osg::GeoState*,<!1><A HREF="RenderVisitor.html#DOC.2.11.39">MatrixGeoSet</A>&gt;  <B>OpaqueList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.45"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::multimap&lt;float,<!1><A HREF="RenderVisitor.html#DOC.2.11.39">MatrixGeoSet</A>&gt;  <B>TransparentList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.11.46"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::map&lt;osg::Matrix*,osg::Light*&gt;  <B>LightList</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+Basic NodeVisitor implementation for rendering a scene.
+This visitor traverses the scene graph, collecting transparent and
+opaque osg::GeoSets into a depth sorted transparent bin and a state
+sorted opaque bin.  The opaque bin is rendered first, and then the
+transparent bin in rendered in order from the furthest osg::GeoSet
+from the eye to the one nearest the eye. </BLOCKQUOTE>
+<DL>
+
+<A NAME="RenderVisitor">
+<A NAME="DOC.2.11.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RenderVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~RenderVisitor">
+<A NAME="DOC.2.11.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~RenderVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="reset">
+<A NAME="DOC.2.11.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Node&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Geode&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Billboard&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::LightSource&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Group&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::DCS&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Switch&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::LOD&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.11.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Scene&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setGlobalState">
+<A NAME="DOC.2.11.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setGlobalState(osg::GeoState* global)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setPerspective">
+<A NAME="DOC.2.11.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPerspective(const osg::Camera&amp; camera)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setPerspective">
+<A NAME="DOC.2.11.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPerspective(float fovy, float aspect, float znear, float zfar)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLookAt">
+<A NAME="DOC.2.11.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLookAt(const osg::Camera&amp; camera)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLookAt">
+<A NAME="DOC.2.11.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLookAt(const osg::Vec3&amp; eye, const osg::Vec3&amp; center, const osg::Vec3&amp; upVector)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLookAt">
+<A NAME="DOC.2.11.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLODBias">
+<A NAME="DOC.2.11.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLODBias(float bias)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLODBias">
+<A NAME="DOC.2.11.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getLODBias()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TransparencySortMode">
+<A NAME="DOC.2.11.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  TransparencySortMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="LOOK_VECTOR_DISTANCE">
+<A NAME="DOC.2.11.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LOOK_VECTOR_DISTANCE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OBJECT_EYE_POINT_DISTANCE">
+<A NAME="DOC.2.11.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OBJECT_EYE_POINT_DISTANCE</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setTransparencySortMode">
+<A NAME="DOC.2.11.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTransparencySortMode(<!1><A HREF="RenderVisitor.html#DOC.2.11.1">TransparencySortMode</A> tsm)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="CullingType">
+<A NAME="DOC.2.11.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  CullingType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="VIEW_FRUSTUM_CULLING">
+<A NAME="DOC.2.11.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> VIEW_FRUSTUM_CULLING</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SMALL_FEATURE_CULLING">
+<A NAME="DOC.2.11.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SMALL_FEATURE_CULLING</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setCullingActive">
+<A NAME="DOC.2.11.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCullingActive(<!1><A HREF="RenderVisitor.html#DOC.2.11.2">CullingType</A> ct, bool active)</B></TT>
+<DD>
+Enables/disables the specified culling type.
+
+<DL><DT><DT><B>Parameters:</B><DD><B>ct</B> -  The culling type to enable/disable.
+<BR><B>active</B> -  true enables the culling type, false disables.<BR><DD></DL><P>
+<A NAME="getCullingActive">
+<A NAME="DOC.2.11.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getCullingActive(<!1><A HREF="RenderVisitor.html#DOC.2.11.2">CullingType</A> ct)</B></TT>
+<DD>
+Returns the state of the specified culling type.
+@result true, if culling type is enabled, false otherwise.
+<DL><DT><DD></DL><P>
+<A NAME="calcNearFar">
+<A NAME="DOC.2.11.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool calcNearFar(double&amp; near_plane, double&amp; far_plane)</B></TT>
+<DD>
+Calculates the near_plane and the far_plane for the current
+camera view depending on the objects currently stored in the
+opaque and transparent bins.
+
+<DL><DT><DT><B>Parameters:</B><DD><B>near_plane</B> -  reference to a variable that can store the
+near plane result.
+<BR><B>far_plane</B> -  reference to a variable that can store the
+far plane result.
+@result true, if near_plane and far_plane contain valid values,
+false otherwise.<BR><DD></DL><P>
+<A NAME="render">
+<A NAME="DOC.2.11.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void render()</B></TT>
+<DD>
+Renders the osg::GeoSets that were collected in the opaque and
+transparent bins before
+<DL><DT><DD></DL><P>
+<A NAME="pushMatrix">
+<A NAME="DOC.2.11.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void pushMatrix(const osg::Matrix&amp; matrix)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="popMatrix">
+<A NAME="DOC.2.11.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void popMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCurrentMatrix">
+<A NAME="DOC.2.11.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Matrix* getCurrentMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getInverseCurrentMatrix">
+<A NAME="DOC.2.11.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Matrix* getInverseCurrentMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getEyeLocal">
+<A NAME="DOC.2.11.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Vec3&amp; getEyeLocal()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCenterLocal">
+<A NAME="DOC.2.11.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Vec3&amp; getCenterLocal()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLookVectorLocal">
+<A NAME="DOC.2.11.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Vec3&amp; getLookVectorLocal()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_viewFrustumCullingActive">
+<A NAME="DOC.2.11.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _viewFrustumCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_smallFeatureCullingActive">
+<A NAME="DOC.2.11.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _smallFeatureCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.11.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const osg::BoundingSphere&amp; sp)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.11.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const osg::BoundingBox&amp; bb)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MatrixGeoSet">
+<A NAME="DOC.2.11.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::pair&lt;osg::Matrix*,osg::GeoSet*&gt;  MatrixGeoSet</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ViewStateStack">
+<A NAME="DOC.2.11.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="ViewState.html">ViewState</A>*&gt;  ViewStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_viewStateStack">
+<A NAME="DOC.2.11.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.11.40">ViewStateStack</A> _viewStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_tvs">
+<A NAME="DOC.2.11.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ViewState.html">ViewState</A>* _tvs</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_cvs">
+<A NAME="DOC.2.11.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ViewState.html">ViewState</A>* _cvs</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OpaqueList">
+<A NAME="DOC.2.11.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::multimap&lt;osg::GeoState*,<!1><A HREF="RenderVisitor.html#DOC.2.11.39">MatrixGeoSet</A>&gt;  OpaqueList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TransparentList">
+<A NAME="DOC.2.11.45">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::multimap&lt;float,<!1><A HREF="RenderVisitor.html#DOC.2.11.39">MatrixGeoSet</A>&gt;  TransparentList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LightList">
+<A NAME="DOC.2.11.46">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;osg::Matrix*,osg::Light*&gt;  LightList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_opaqueGeoSets">
+<A NAME="DOC.2.11.47">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.11.44">OpaqueList</A> _opaqueGeoSets</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_transparentGeoSets">
+<A NAME="DOC.2.11.48">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.11.45">TransparentList</A> _transparentGeoSets</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_lights">
+<A NAME="DOC.2.11.49">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.11.46">LightList</A> _lights</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_globalState">
+<A NAME="DOC.2.11.50">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::GeoState* _globalState</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_LODBias">
+<A NAME="DOC.2.11.51">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _LODBias</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fovy">
+<A NAME="DOC.2.11.52">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _fovy</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_aspect">
+<A NAME="DOC.2.11.53">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _aspect</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_znear">
+<A NAME="DOC.2.11.54">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _znear</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_zfar">
+<A NAME="DOC.2.11.55">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _zfar</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="calculateClippingPlanes">
+<A NAME="DOC.2.11.56">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void calculateClippingPlanes()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumTop">
+<A NAME="DOC.2.11.57">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumTop</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumBottom">
+<A NAME="DOC.2.11.58">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumBottom</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumLeft">
+<A NAME="DOC.2.11.59">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumLeft</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumRight">
+<A NAME="DOC.2.11.60">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumRight</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_tsm">
+<A NAME="DOC.2.11.61">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.11.1">TransparencySortMode</A> _tsm</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CompileGeoSetsVisitor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CompileGeoSetsVisitor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CompileGeoSetsVisitor.html (revision 2)
@@ -0,0 +1,61 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::CompileGeoSetsVisitor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::CompileGeoSetsVisitor</A>: public osg::NodeVisitor</H2>
+<BLOCKQUOTE>Visitor for traversing scene compiling OpenGL Display list from osg::GeoSets</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::NodeVisitor,M,CCompileGeoSetsVisitor,MCompileGeoSetsVisitor.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 Methods</H3><DD><DT>
+<A HREF="#DOC.2.2.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>CompileGeoSetsVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.2.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Node&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.2.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Geode&amp; node)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Visitor for traversing scene compiling OpenGL Display list from osg::GeoSets</BLOCKQUOTE>
+<DL>
+
+<A NAME="CompileGeoSetsVisitor">
+<A NAME="DOC.2.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CompileGeoSetsVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Node&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Geode&amp; node)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/ViewState.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/ViewState.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/ViewState.html (revision 2)
@@ -0,0 +1,166 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::ViewState</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::ViewState</A>: public osg::Referenced</H2>
+<BLOCKQUOTE>Container class for encapsulating the viewing state in local coordinates, during the cull traversal</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CViewState,MViewState.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 Fields</H3><DD><DT>
+<A HREF="#DOC.2.10.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Matrix* <B>_matrix</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Matrix* <B>_inverse</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_eyePoint</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_centerPoint</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_lookVector</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_upVector</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumTopNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumBottomNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumLeftNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_frustumRightNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_ratio</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_viewFrustumCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_smallFeatureCullingActive</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.10.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>ViewState</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const osg::BoundingSphere&amp; sp)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const osg::BoundingBox&amp; bb)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.10.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~ViewState</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Container class for encapsulating the viewing state in local
+coordinates, during the cull traversal</BLOCKQUOTE>
+<DL>
+
+<A NAME="ViewState">
+<A NAME="DOC.2.10.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ViewState()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_matrix">
+<A NAME="DOC.2.10.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Matrix* _matrix</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_inverse">
+<A NAME="DOC.2.10.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Matrix* _inverse</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_eyePoint">
+<A NAME="DOC.2.10.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _eyePoint</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_centerPoint">
+<A NAME="DOC.2.10.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _centerPoint</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_lookVector">
+<A NAME="DOC.2.10.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _lookVector</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_upVector">
+<A NAME="DOC.2.10.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _upVector</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumTopNormal">
+<A NAME="DOC.2.10.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumTopNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumBottomNormal">
+<A NAME="DOC.2.10.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumBottomNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumLeftNormal">
+<A NAME="DOC.2.10.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumLeftNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumRightNormal">
+<A NAME="DOC.2.10.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _frustumRightNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ratio">
+<A NAME="DOC.2.10.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _ratio</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_viewFrustumCullingActive">
+<A NAME="DOC.2.10.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _viewFrustumCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_smallFeatureCullingActive">
+<A NAME="DOC.2.10.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _smallFeatureCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.10.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const osg::BoundingSphere&amp; sp)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.10.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const osg::BoundingBox&amp; bb)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~ViewState">
+<A NAME="DOC.2.10.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~ViewState()</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/TrackballManipulator.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/TrackballManipulator.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/TrackballManipulator.html (revision 2)
@@ -0,0 +1,111 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::TrackballManipulator</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::TrackballManipulator</A>: public <!1><A HREF="CameraManipulator.html#DOC.2.1.8">CameraManipulator</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="Mosg::Referenced,M,CCameraManipulator,MCameraManipulator.html,CTrackballManipulator,MTrackballManipulator.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.13.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>TrackballManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.13.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~TrackballManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.13.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>setNode</B>(osg::Node*)
+<DD><I>Attach a node to the manipulator.</I>
+<DT>
+<A HREF="#DOC.2.13.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   osg::Node* <B>getNode</B>() const 
+<DD><I>Return node if attached</I>
+<DT>
+<A HREF="#DOC.2.13.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>home</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>Move the camera to the default position.</I>
+<DT>
+<A HREF="#DOC.2.13.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>init</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>Start/restart the manipulator</I>
+<DT>
+<A HREF="#DOC.2.13.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>update</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>handle events, return true if handled, false otherwise</I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="CameraManipulator.html">CameraManipulator</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>setCamera</B>(osg::Camera*)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   osg::Camera* <B>getCamera</B>() const 
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>osg::ref_ptr&lt;osg::Camera&gt;  <B>_camera</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="TrackballManipulator">
+<A NAME="DOC.2.13.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TrackballManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~TrackballManipulator">
+<A NAME="DOC.2.13.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~TrackballManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNode">
+<A NAME="DOC.2.13.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void setNode(osg::Node*)</B></TT>
+<DD>Attach a node to the manipulator. 
+Automatically detaches previously attached node.
+setNode(NULL) detaches previously nodes.
+Is ignored by manipulators which do not require a reference model.
+<DL><DT><DD></DL><P>
+<A NAME="getNode">
+<A NAME="DOC.2.13.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   osg::Node* getNode() const </B></TT>
+<DD>Return node if attached
+<DL><DT><DD></DL><P>
+<A NAME="home">
+<A NAME="DOC.2.13.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void home(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>Move the camera to the default position. 
+May be ignored by manipulators if home functionality is not appropriate.
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.2.13.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void init(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>Start/restart the manipulator
+<DL><DT><DD></DL><P>
+<A NAME="update">
+<A NAME="DOC.2.13.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool update(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>handle events, return true if handled, false otherwise
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraZSpindleManipulator.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraZSpindleManipulator.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraZSpindleManipulator.html (revision 2)
@@ -0,0 +1,125 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::CameraZSpindleManipulator</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::CameraZSpindleManipulator</A></H2>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.3.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>MovementType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.3.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>CameraZSpindleManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~CameraZSpindleManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCamera</B>(osg::Camera *)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Camera* <B>getCamera</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>initialise</B>(int x, int y)
+<DD><I> initialise(int x,int y) will typically be called on a <b>mouse down</b> prior to a number of drag events.</I>
+<DT>
+<A HREF="#DOC.2.3.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>update</B>(<!1><A HREF="CameraZSpindleManipulator.html#DOC.2.3.2">MovementType</A> movementType, int x, int y)
+<DD><I> update(MovementType,int,int) will typically be called on receipt of drag events, with a view to letting the view change the view.</I>
+<DT>
+<A HREF="#DOC.2.3.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>update</B>()
+<DD><I> This will replicate any previous update, and is useful for animation</I>
+<DT>
+<A HREF="#DOC.2.3.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="CameraZSpindleManipulator.html#DOC.2.3.2">MovementType</A> <B>getLastMovementType</B>() const 
+<DD><I> Returns last movementType, and is useful for updating on <b>mouse up</b></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="CameraZSpindleManipulator">
+<A NAME="DOC.2.3.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CameraZSpindleManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~CameraZSpindleManipulator">
+<A NAME="DOC.2.3.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~CameraZSpindleManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setCamera">
+<A NAME="DOC.2.3.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCamera(osg::Camera *)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCamera">
+<A NAME="DOC.2.3.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Camera* getCamera() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="initialise">
+<A NAME="DOC.2.3.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void initialise(int x, int y)</B></TT>
+<DD>
+initialise(int x,int y) will typically be called on a
+<b>mouse down</b> prior to a number of drag events. The parameters
+tell the viewer where the mouse is at the start of the drag.
+<DL><DT><DD></DL><P>
+<A NAME="MovementType">
+<A NAME="DOC.2.3.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  MovementType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="NONE">
+<A NAME="DOC.2.3.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NONE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ORBIT">
+<A NAME="DOC.2.3.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ORBIT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ZOOM">
+<A NAME="DOC.2.3.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ZOOM</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="PAN">
+<A NAME="DOC.2.3.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PAN</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="update">
+<A NAME="DOC.2.3.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool update(<!1><A HREF="CameraZSpindleManipulator.html#DOC.2.3.2">MovementType</A> movementType, int x, int y)</B></TT>
+<DD>
+update(MovementType,int,int) will typically be called on receipt of drag events,
+with a view to letting the view change the view. The return value specifies whether
+any change to the view was necessary as a result from the mouse event. Returns true
+if any change in viewpoint is made.
+<DL><DT><DD></DL><P>
+<A NAME="update">
+<A NAME="DOC.2.3.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void update()</B></TT>
+<DD>
+This will replicate any previous update, and is useful for animation
+<DL><DT><DD></DL><P>
+<A NAME="getLastMovementType">
+<A NAME="DOC.2.3.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="CameraZSpindleManipulator.html#DOC.2.3.2">MovementType</A> getLastMovementType() const </B></TT>
+<DD>
+Returns last movementType, and is useful for updating on <b>mouse up</b>
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/General.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/General.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/General.html (revision 2)
@@ -0,0 +1,89 @@
+<HTML>
+<HEAD>
+   <TITLE>General Bits</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<DL>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_CAMERAMANIPULATOR"></A>
+<B>OSGUTIL_CAMERAMANIPULATOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_COMPILEGEOSETVISITOR"></A>
+<B>OSGUTIL_COMPILEGEOSETVISITOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_DRIVEMANIPULATOR"></A>
+<B>OSGUTIL_DRIVEMANIPULATOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_EXPORT_"></A>
+<B>OSGUTIL_EXPORT_</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_EXPORT"></A>
+<B>OSGUTIL_EXPORT</B>(dllexport)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_EXPORT"></A>
+<B>OSGUTIL_EXPORT</B>(dllimport)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_FLIGHTMANIPULATOR"></A>
+<B>OSGUTIL_FLIGHTMANIPULATOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_GUIACTIONADAPTER"></A>
+<B>OSGUTIL_GUIACTIONADAPTER</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_GUIEVENTADAPTER"></A>
+<B>OSGUTIL_GUIEVENTADAPTER</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_INTERSECTVISITOR"></A>
+<B>OSGUTIL_INTERSECTVISITOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_RENDERVISITOR"></A>
+<B>OSGUTIL_RENDERVISITOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_SCENEVIEW"></A>
+<B>OSGUTIL_SCENEVIEW</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_TRACKBALLMANIPULATOR"></A>
+<B>OSGUTIL_TRACKBALLMANIPULATOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSGUTIL_VERSION"></A>
+<B>OSGUTIL_VERSION</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+</DL>
+<I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">Hierarchy of classes</A></I></P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/IntersectVisitor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/IntersectVisitor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/IntersectVisitor.html (revision 2)
@@ -0,0 +1,281 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::IntersectVisitor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::IntersectVisitor</A>: public osg::NodeVisitor</H2>
+<BLOCKQUOTE>Basic visitor for ray based collisions of a scene.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::NodeVisitor,M,CIntersectVisitor,MIntersectVisitor.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>
+<A HREF="#DOC.2.9.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>HitReportingMode</B>
+<DD><I>Modes to control how IntersectVisitor reports hits.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.9.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>IntersectVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~IntersectVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>reset</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>addSeg</B>(osg::Seg* seg)
+<DD><I>Add a line segment to use for intersection testing during scene traversal</I>
+<DT>
+<A HREF="#DOC.2.9.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setHitReportingMode</B>(<!1><A HREF="IntersectVisitor.html#DOC.2.9.2">HitReportingMode</A> hrm)
+<DD><I>Set the mode of how hits should reported back from a traversal</I>
+<DT>
+<A HREF="#DOC.2.9.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.9.2">HitReportingMode</A> <B>getHitReportingMode</B>()
+<DD><I>Get the mode of how hits should reported back from a traversal</I>
+<DT>
+<A HREF="#DOC.2.9.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.9.8">HitList</A>&amp; <B>getHitList</B>(osg::Seg* seg)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumHits</B>(osg::Seg* seg)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>hits</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Node&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Geode&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Billboard&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Group&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::DCS&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Switch&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::LOD&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Scene&amp; node)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.9.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="Hit.html">Hit</A>&gt;  <B>HitList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::map&lt;osg::Seg*,<!1><A HREF="IntersectVisitor.html#DOC.2.9.8">HitList</A> &gt;  <B>SegHitListMap</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.9.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.9.26">IntersectStateStack</A> <B>_intersectStateStack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::NodePath <B>_nodePath</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.9.2">HitReportingMode</A> <B>_hitReportingMode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.9.9">SegHitListMap</A> <B>_segHitList</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.9.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>intersect</B>(osg::GeoSet&amp; gset)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>pushMatrix</B>(const osg::Matrix&amp; matrix)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>popMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>enterNode</B>(osg::Node&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.9.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>leaveNode</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected</H3><DD><DT>
+<A HREF="#DOC.2.9.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="IntersectState.html">IntersectState</A>*&gt;  <B>IntersectStateStack</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Basic visitor for ray based collisions of a scene.
+Note, still in development, current version has not
+pratical functionality!</BLOCKQUOTE>
+<DL>
+
+<A NAME="IntersectVisitor">
+<A NAME="DOC.2.9.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IntersectVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~IntersectVisitor">
+<A NAME="DOC.2.9.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~IntersectVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="reset">
+<A NAME="DOC.2.9.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="addSeg">
+<A NAME="DOC.2.9.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addSeg(osg::Seg* seg)</B></TT>
+<DD>Add a line segment to use for intersection testing during scene traversal
+<DL><DT><DD></DL><P>
+<A NAME="HitReportingMode">
+<A NAME="DOC.2.9.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  HitReportingMode</B></TT>
+<DD>Modes to control how IntersectVisitor reports hits. 
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="ONLY_NEAREST_HIT">
+<A NAME="DOC.2.9.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONLY_NEAREST_HIT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ALL_HITS">
+<A NAME="DOC.2.9.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALL_HITS</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setHitReportingMode">
+<A NAME="DOC.2.9.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setHitReportingMode(<!1><A HREF="IntersectVisitor.html#DOC.2.9.2">HitReportingMode</A> hrm)</B></TT>
+<DD>Set the mode of how hits should reported back from a traversal
+<DL><DT><DD></DL><P>
+<A NAME="getHitReportingMode">
+<A NAME="DOC.2.9.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.9.2">HitReportingMode</A> getHitReportingMode()</B></TT>
+<DD>Get the mode of how hits should reported back from a traversal
+<DL><DT><DD></DL><P>
+<A NAME="HitList">
+<A NAME="DOC.2.9.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="Hit.html">Hit</A>&gt;  HitList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SegHitListMap">
+<A NAME="DOC.2.9.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;osg::Seg*,<!1><A HREF="IntersectVisitor.html#DOC.2.9.8">HitList</A> &gt;  SegHitListMap</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getHitList">
+<A NAME="DOC.2.9.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.9.8">HitList</A>&amp; getHitList(osg::Seg* seg)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNumHits">
+<A NAME="DOC.2.9.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumHits(osg::Seg* seg)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="hits">
+<A NAME="DOC.2.9.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool hits()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Node&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Geode&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Billboard&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Group&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::DCS&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Switch&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::LOD&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.9.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Scene&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="intersect">
+<A NAME="DOC.2.9.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool intersect(osg::GeoSet&amp; gset)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="pushMatrix">
+<A NAME="DOC.2.9.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void pushMatrix(const osg::Matrix&amp; matrix)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="popMatrix">
+<A NAME="DOC.2.9.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void popMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="enterNode">
+<A NAME="DOC.2.9.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool enterNode(osg::Node&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="leaveNode">
+<A NAME="DOC.2.9.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void leaveNode()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IntersectStateStack">
+<A NAME="DOC.2.9.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="IntersectState.html">IntersectState</A>*&gt;  IntersectStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_intersectStateStack">
+<A NAME="DOC.2.9.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.9.26">IntersectStateStack</A> _intersectStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_nodePath">
+<A NAME="DOC.2.9.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::NodePath _nodePath</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_hitReportingMode">
+<A NAME="DOC.2.9.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.9.2">HitReportingMode</A> _hitReportingMode</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_segHitList">
+<A NAME="DOC.2.9.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.9.9">SegHitListMap</A> _segHitList</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/DisplayListVisitor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/DisplayListVisitor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/DisplayListVisitor.html (revision 2)
@@ -0,0 +1,133 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::DisplayListVisitor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::DisplayListVisitor</A>: public osg::NodeVisitor</H2>
+<BLOCKQUOTE>Visitor for traversing scene set each osg::GeoSet's _useDisplayList flag, or immediately compiling osg::GeoSet's OpenGL Display lists.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::NodeVisitor,M,CDisplayListVisitor,MDisplayListVisitor.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>
+<A HREF="#DOC.2.2.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>DisplayListMode</B>
+<DD><I>Operation modes of the DisplayListVisitor</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.2.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>DisplayListVisitor</B>(<!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> mode=SWITCH_ON_DISPLAY_LISTS)
+<DD><I>Construct a CompileGeoSetsVisior to traverse all child, with set specfied display list mode.</I>
+<DT>
+<A HREF="#DOC.2.2.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setDisplayListMode</B>(<!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> mode)
+<DD><I>Set the operational mode of how the visitor should set up osg::GeoSet's</I>
+<DT>
+<A HREF="#DOC.2.2.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> <B>getDisplayListMode</B>() const 
+<DD><I>Get the operational mode</I>
+<DT>
+<A HREF="#DOC.2.2.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Node&amp; node)
+<DD><I>Simply traverse using standard NodeVisitor traverse method</I>
+<DT>
+<A HREF="#DOC.2.2.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(osg::Geode&amp; node)
+<DD><I>For each Geode visited set the display list usage according to the  _displayListMode</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.2.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> <B>_displayListMode</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Visitor for traversing scene set each osg::GeoSet's _useDisplayList flag, or
+immediately compiling osg::GeoSet's OpenGL Display lists. The mode of operation
+of the vistor is controlled by setting the DisplayListMode either on visitor
+constructor or via the setDisplayListMode() method.  DisplayListMode options are:
+_displayListMode == SWITCH_ON_AND_COMPILE_DISPLAY_LISTS cals gset->compile() on
+all Geode childern. Note, the visitor must only be used within a valid 
+OpenGL context as compile uses OpenGL calls.
+_displayListMode == SWITCH_ON_DISPLAY_LISTS sets the Geode's children with 
+gset->setUseDisplayList(true), this method does not directly create display list,
+or uses OpenGL calls so if safe to use before a valid OpenGL context has been set up.
+On the next redraw of the scene, the gset's draw methods will be called
+which then will respond to their _useDisplayList being set by creating display lists
+automatically.
+_displayListMode == SWITCH_OFF_DISPLAY_LISTS sets the Geode's children with 
+gset->setUseDisplayList(false), this method does not directly create display list,
+or uses OpenGL calls so if safe to use before a valid OpenGL context has been set up.</BLOCKQUOTE>
+<DL>
+
+<A NAME="DisplayListMode">
+<A NAME="DOC.2.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  DisplayListMode</B></TT>
+<DD>Operation modes of the DisplayListVisitor
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="SWITCH_ON_AND_COMPILE_DISPLAY_LISTS">
+<A NAME="DOC.2.2.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SWITCH_ON_AND_COMPILE_DISPLAY_LISTS</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SWITCH_ON_DISPLAY_LISTS">
+<A NAME="DOC.2.2.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SWITCH_ON_DISPLAY_LISTS</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SWITCH_OFF_DISPLAY_LISTS">
+<A NAME="DOC.2.2.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SWITCH_OFF_DISPLAY_LISTS</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="DisplayListVisitor">
+<A NAME="DOC.2.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DisplayListVisitor(<!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> mode=SWITCH_ON_DISPLAY_LISTS)</B></TT>
+<DD>Construct a CompileGeoSetsVisior to traverse all child,
+with set specfied display list mode.  Default mode is to
+gset->setUseDisplayList(true).
+<DL><DT><DD></DL><P>
+<A NAME="setDisplayListMode">
+<A NAME="DOC.2.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDisplayListMode(<!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> mode)</B></TT>
+<DD>Set the operational mode of how the visitor should set up osg::GeoSet's
+<DL><DT><DD></DL><P>
+<A NAME="getDisplayListMode">
+<A NAME="DOC.2.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> getDisplayListMode() const </B></TT>
+<DD>Get the operational mode
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Node&amp; node)</B></TT>
+<DD>Simply traverse using standard NodeVisitor traverse method
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.2.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(osg::Geode&amp; node)</B></TT>
+<DD>For each Geode visited set the display list usage according to the 
+_displayListMode
+<DL><DT><DD></DL><P>
+<A NAME="_displayListMode">
+<A NAME="DOC.2.2.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="DisplayListVisitor.html#DOC.2.2.1">DisplayListMode</A> _displayListMode</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIActionAdapter.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIActionAdapter.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIActionAdapter.html (revision 2)
@@ -0,0 +1,51 @@
+<HTML>
+<HEAD>
+   <TITLE>class  osgUtil::GUIActionAdapter</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  <A HREF="#DOC.DOCU">osgUtil::GUIActionAdapter</A></H2>
+<BLOCKQUOTE>Pure virtual base class for adapting the GUI actions for use in CameraManipulators</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.5.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needRedraw</B>(bool needed=true)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needContinuousUpdate</B>(bool needed=true)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needWarpPointer</B>(int x, int y)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Pure virtual base class for adapting the GUI actions for use in CameraManipulators</BLOCKQUOTE>
+<DL>
+
+<A NAME="needRedraw">
+<A NAME="DOC.2.5.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needRedraw(bool needed=true)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="needContinuousUpdate">
+<A NAME="DOC.2.5.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needContinuousUpdate(bool needed=true)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="needWarpPointer">
+<A NAME="DOC.2.5.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needWarpPointer(int x, int y)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/Hit.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/Hit.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/Hit.html (revision 2)
@@ -0,0 +1,163 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::Hit</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::Hit</A>: public osg::Referenced</H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CHit,MHit.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 Fields</H3><DD><DT>
+<A HREF="#DOC.2.8.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_ratio</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Seg* <B>_originalSeg</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Seg* <B>_localSeg</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::NodePath <B>_nodePath</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Geode* <B>_geode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::GeoSet* <B>_geoset</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Matrix* <B>_matrix</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Hit.html#DOC.2.8.5">VecIndexList</A> <B>_vecIndexList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_primitiveIndex</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_intersectPoint</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec3 <B>_intersectNormal</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.8.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Hit</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Hit</B>(const <!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; hit)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~Hit</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; <B>operator = </B>(const <!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; hit)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.8.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>operator < </B>(const <!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; hit) const 
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.8.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;int&gt;  <B>VecIndexList</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="Hit">
+<A NAME="DOC.2.8.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Hit()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Hit">
+<A NAME="DOC.2.8.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Hit(const <!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; hit)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Hit">
+<A NAME="DOC.2.8.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~Hit()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.8.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; operator = (const <!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; hit)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="VecIndexList">
+<A NAME="DOC.2.8.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;int&gt;  VecIndexList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator < ">
+<A NAME="DOC.2.8.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator < (const <!1><A HREF="Hit.html#DOC.2.8.1">Hit</A>&amp; hit) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ratio">
+<A NAME="DOC.2.8.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _ratio</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_originalSeg">
+<A NAME="DOC.2.8.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Seg* _originalSeg</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_localSeg">
+<A NAME="DOC.2.8.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Seg* _localSeg</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_nodePath">
+<A NAME="DOC.2.8.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::NodePath _nodePath</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_geode">
+<A NAME="DOC.2.8.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Geode* _geode</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_geoset">
+<A NAME="DOC.2.8.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::GeoSet* _geoset</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_matrix">
+<A NAME="DOC.2.8.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Matrix* _matrix</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_vecIndexList">
+<A NAME="DOC.2.8.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Hit.html#DOC.2.8.5">VecIndexList</A> _vecIndexList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_primitiveIndex">
+<A NAME="DOC.2.8.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _primitiveIndex</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_intersectPoint">
+<A NAME="DOC.2.8.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _intersectPoint</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_intersectNormal">
+<A NAME="DOC.2.8.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _intersectNormal</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/DriveManipulator.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/DriveManipulator.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/DriveManipulator.html (revision 2)
@@ -0,0 +1,121 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::DriveManipulator</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::DriveManipulator</A>: public <!1><A HREF="CameraManipulator.html#DOC.2.1.8">CameraManipulator</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="Mosg::Referenced,M,CCameraManipulator,MCameraManipulator.html,CDriveManipulator,MDriveManipulator.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.3.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>DriveManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~DriveManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>setNode</B>(osg::Node*)
+<DD><I>Attach a node to the manipulator.</I>
+<DT>
+<A HREF="#DOC.2.3.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   osg::Node* <B>getNode</B>() const 
+<DD><I>Return node if attached</I>
+<DT>
+<A HREF="#DOC.2.3.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>home</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>Move the camera to the default position.</I>
+<DT>
+<A HREF="#DOC.2.3.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>init</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>Start/restart the manipulator</I>
+<DT>
+<A HREF="#DOC.2.3.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>update</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>handle events, return true if handled, false otherwise</I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="CameraManipulator.html">CameraManipulator</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>setCamera</B>(osg::Camera*)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   osg::Camera* <B>getCamera</B>() const 
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>osg::ref_ptr&lt;osg::Camera&gt;  <B>_camera</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="DriveManipulator">
+<A NAME="DOC.2.3.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DriveManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~DriveManipulator">
+<A NAME="DOC.2.3.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~DriveManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNode">
+<A NAME="DOC.2.3.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void setNode(osg::Node*)</B></TT>
+<DD>Attach a node to the manipulator. 
+Automatically detaches previously attached node.
+setNode(NULL) detaches previously nodes.
+Is ignored by manipulators which do not require a reference model.
+<DL><DT><DD></DL><P>
+<A NAME="getNode">
+<A NAME="DOC.2.3.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   osg::Node* getNode() const </B></TT>
+<DD>Return node if attached
+<DL><DT><DD></DL><P>
+<A NAME="home">
+<A NAME="DOC.2.3.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void home(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>Move the camera to the default position. 
+May be ignored by manipulators if home functionality is not appropriate.
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.2.3.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void init(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>Start/restart the manipulator
+<DL><DT><DD></DL><P>
+<A NAME="update">
+<A NAME="DOC.2.3.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool update(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>handle events, return true if handled, false otherwise
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="USE_MOUSE_Y_FOR_SPEED">
+<A NAME="DOC.2.3.9.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_MOUSE_Y_FOR_SPEED</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="USE_MOUSE_BUTTONS_FOR_SPEED">
+<A NAME="DOC.2.3.9.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> USE_MOUSE_BUTTONS_FOR_SPEED</B></TT>
+<DL><DT><DD></DL><P></DL>
+</DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtil.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtil.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtil.html (revision 2)
@@ -0,0 +1,49 @@
+<HTML>
+<HEAD>
+   <TITLE>namespace osgUtil</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>namespace <A HREF="#DOC.DOCU">osgUtil</A></H2>
+
+<HR>
+<P><DL>
+ <DT><A HREF="CameraManipulator.html">class  OSGUTIL_EXPORT <B>CameraManipulator</B></A>
+<DD><I></I>
+<DT><A HREF="DisplayListVisitor.html">class  OSGUTIL_EXPORT <B>DisplayListVisitor</B></A>
+<DD><I>Visitor for traversing scene set each osg::GeoSet's _useDisplayList flag, or immediately compiling osg::GeoSet's OpenGL Display lists.</I>
+<DT><A HREF="DriveManipulator.html">class  OSGUTIL_EXPORT <B>DriveManipulator</B></A>
+<DD><I></I>
+<DT><A HREF="FlightManipulator.html">class  OSGUTIL_EXPORT <B>FlightManipulator</B></A>
+<DD><I></I>
+<DT><A HREF="GUIActionAdapter.html">class  <B>GUIActionAdapter</B></A>
+<DD><I>Pure virtual base class for adapting the GUI actions for use in CameraManipulators</I>
+<DT><A HREF="GUIEventAdapter.html">class  <B>GUIEventAdapter</B></A>
+<DD><I>Pure virtual base class for adapting platform specfic events into generic keyboard and mouse events.</I>
+<DT><A HREF="IntersectState.html">class  OSGUTIL_EXPORT <B>IntersectState</B></A>
+<DD><I></I>
+<DT><A HREF="Hit.html">class  OSGUTIL_EXPORT <B>Hit</B></A>
+<DD><I></I>
+<DT><A HREF="IntersectVisitor.html">class  OSGUTIL_EXPORT <B>IntersectVisitor</B></A>
+<DD><I>Basic visitor for ray based collisions of a scene.</I>
+<DT><A HREF="ViewState.html">class  OSGUTIL_EXPORT <B>ViewState</B></A>
+<DD><I>Container class for encapsulating the viewing state in local coordinates, during the cull traversal</I>
+<DT><A HREF="RenderVisitor.html">class  OSGUTIL_EXPORT <B>RenderVisitor</B></A>
+<DD><I> Basic NodeVisitor implementation for rendering a scene.</I>
+<DT><A HREF="SceneView.html">class  OSGUTIL_EXPORT <B>SceneView</B></A>
+<DD><I> SceneView is literaly a view of a scene, encapsulating the camera, global state, lights and the scene itself.</I>
+<DT><A HREF="TrackballManipulator.html">class  OSGUTIL_EXPORT <B>TrackballManipulator</B></A>
+<DD><I></I>
+</DL></P>
+
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIEventAdapter.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIEventAdapter.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIEventAdapter.html (revision 2)
@@ -0,0 +1,212 @@
+<HTML>
+<HEAD>
+   <TITLE>class  osgUtil::GUIEventAdapter</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  <A HREF="#DOC.DOCU">osgUtil::GUIEventAdapter</A>: public osg::Referenced</H2>
+<BLOCKQUOTE>Pure virtual base class for adapting platform specfic events into generic keyboard and mouse events.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CGUIEventAdapter,MGUIEventAdapter.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>
+<A HREF="#DOC.2.6.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>MouseButtonMask</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>EventType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.6.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>GUIEventAdapter</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="GUIEventAdapter.html#DOC.2.6.2">EventType</A> <B>getEventType</B>() const 
+<DD><I>Get the EventType of the GUI event</I>
+<DT>
+<A HREF="#DOC.2.6.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getKey</B>() const 
+<DD><I>key pressed, return -1 if inapropriate for this event.</I>
+<DT>
+<A HREF="#DOC.2.6.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getButton</B>() const 
+<DD><I>button pressed/released, return -1 if inappropriate for this event</I>
+<DT>
+<A HREF="#DOC.2.6.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getXmin</B>() const 
+<DD><I>window minimum x.</I>
+<DT>
+<A HREF="#DOC.2.6.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getXmax</B>() const 
+<DD><I>window maximum x.</I>
+<DT>
+<A HREF="#DOC.2.6.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getYmin</B>() const 
+<DD><I>window minimum y.</I>
+<DT>
+<A HREF="#DOC.2.6.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getYmax</B>() const 
+<DD><I>window maximum y.</I>
+<DT>
+<A HREF="#DOC.2.6.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getX</B>() const 
+<DD><I>current mouse x position</I>
+<DT>
+<A HREF="#DOC.2.6.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   int <B>getY</B>() const 
+<DD><I>current mouse y position</I>
+<DT>
+<A HREF="#DOC.2.6.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   unsigned int <B>getButtonMask</B>() const 
+<DD><I>current mouse button state </I>
+<DT>
+<A HREF="#DOC.2.6.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   float <B>time</B>() const 
+<DD><I>time in seconds of event.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.6.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~GUIEventAdapter</B>()
+<DD><I>Force users to create on heap, so that mulitple referencing is safe</I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Pure virtual base class for adapting platform specfic events into
+generic keyboard and mouse events. </BLOCKQUOTE>
+<DL>
+
+<A NAME="GUIEventAdapter">
+<A NAME="DOC.2.6.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> GUIEventAdapter()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MouseButtonMask">
+<A NAME="DOC.2.6.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  MouseButtonMask</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="LEFT_BUTTON">
+<A NAME="DOC.2.6.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LEFT_BUTTON</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MIDDLE_BUTTON">
+<A NAME="DOC.2.6.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIDDLE_BUTTON</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="RIGHT_BUTTON">
+<A NAME="DOC.2.6.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RIGHT_BUTTON</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="EventType">
+<A NAME="DOC.2.6.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  EventType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="PUSH">
+<A NAME="DOC.2.6.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PUSH</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="RELEASE">
+<A NAME="DOC.2.6.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RELEASE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="DRAG">
+<A NAME="DOC.2.6.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DRAG</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MOVE">
+<A NAME="DOC.2.6.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MOVE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="KEYBOARD">
+<A NAME="DOC.2.6.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> KEYBOARD</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FRAME">
+<A NAME="DOC.2.6.2.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FRAME</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="RESIZE">
+<A NAME="DOC.2.6.2.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RESIZE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NONE">
+<A NAME="DOC.2.6.2.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NONE</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="getEventType">
+<A NAME="DOC.2.6.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="GUIEventAdapter.html#DOC.2.6.2">EventType</A> getEventType() const </B></TT>
+<DD>Get the EventType of the GUI event
+<DL><DT><DD></DL><P>
+<A NAME="getKey">
+<A NAME="DOC.2.6.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getKey() const </B></TT>
+<DD>key pressed, return -1 if inapropriate for this event. 
+<DL><DT><DD></DL><P>
+<A NAME="getButton">
+<A NAME="DOC.2.6.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getButton() const </B></TT>
+<DD>button pressed/released, return -1 if inappropriate for this event
+<DL><DT><DD></DL><P>
+<A NAME="getXmin">
+<A NAME="DOC.2.6.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getXmin() const </B></TT>
+<DD>window minimum x. 
+<DL><DT><DD></DL><P>
+<A NAME="getXmax">
+<A NAME="DOC.2.6.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getXmax() const </B></TT>
+<DD>window maximum x. 
+<DL><DT><DD></DL><P>
+<A NAME="getYmin">
+<A NAME="DOC.2.6.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getYmin() const </B></TT>
+<DD>window minimum y. 
+<DL><DT><DD></DL><P>
+<A NAME="getYmax">
+<A NAME="DOC.2.6.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getYmax() const </B></TT>
+<DD>window maximum y. 
+<DL><DT><DD></DL><P>
+<A NAME="getX">
+<A NAME="DOC.2.6.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getX() const </B></TT>
+<DD>current mouse x position
+<DL><DT><DD></DL><P>
+<A NAME="getY">
+<A NAME="DOC.2.6.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   int getY() const </B></TT>
+<DD>current mouse y position
+<DL><DT><DD></DL><P>
+<A NAME="getButtonMask">
+<A NAME="DOC.2.6.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   unsigned int getButtonMask() const </B></TT>
+<DD>current mouse button state 
+<DL><DT><DD></DL><P>
+<A NAME="time">
+<A NAME="DOC.2.6.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   float time() const </B></TT>
+<DD>time in seconds of event. 
+<DL><DT><DD></DL><P>
+<A NAME="~GUIEventAdapter">
+<A NAME="DOC.2.6.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~GUIEventAdapter()</B></TT>
+<DD>Force users to create on heap, so that mulitple referencing is safe
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIUpdateState.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIUpdateState.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIUpdateState.html (revision 2)
@@ -0,0 +1,45 @@
+<HTML>
+<HEAD>
+   <TITLE>class  osgUtil::GUIUpdateState</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  <A HREF="#DOC.DOCU">osgUtil::GUIUpdateState</A></H2>
+<BLOCKQUOTE>Class for passing back the update state from a camera maniupulator back to the caller, on the handling of an event.</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.6.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needRedraw</B>(bool needed=true)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>needContinuousUpdate</B>(bool needed=true)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Class for passing back the update state from a camera maniupulator
+back to the caller, on the handling of an event. </BLOCKQUOTE>
+<DL>
+
+<A NAME="needRedraw">
+<A NAME="DOC.2.6.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needRedraw(bool needed=true)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="needContinuousUpdate">
+<A NAME="DOC.2.6.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void needContinuousUpdate(bool needed=true)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/Camera.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/Camera.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/Camera.html (revision 2)
@@ -0,0 +1,144 @@
+<HTML>
+<HEAD>
+   <TITLE>class  osgUtil::Camera</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  <A HREF="#DOC.DOCU">osgUtil::Camera</A>: public osg::Referenced</H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CCamera,MCamera.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 Methods</H3><DD><DT>
+<A HREF="#DOC.2.1.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Camera</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.1.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~Camera</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.1.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>draw</B>() const 
+<DD><I> Renders the OpenGL to set the view</I>
+<DT>
+<A HREF="#DOC.2.1.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setView</B>(osg::Vec3 eyePoint, osg::Vec3 lookPoint, osg::Vec3 upVector)
+<DD><I> Set the View, the up vector should be orthogonal to the look vector</I>
+<DT>
+<A HREF="#DOC.2.1.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const osg::Vec3&amp; <B>getEyePoint</B>() const 
+<DD><I> get the eyepoint</I>
+<DT>
+<A HREF="#DOC.2.1.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const osg::Vec3&amp; <B>getLookPoint</B>() const 
+<DD><I> get the lookpoint</I>
+<DT>
+<A HREF="#DOC.2.1.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const osg::Vec3&amp; <B>getUpVector</B>() const 
+<DD><I> which way is up?</I>
+<DT>
+<A HREF="#DOC.2.1.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNearPlane</B>(double nearPlane)
+<DD><I> set the near plane</I>
+<DT>
+<A HREF="#DOC.2.1.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>getNearPlane</B>() const 
+<DD><I> get the near plane</I>
+<DT>
+<A HREF="#DOC.2.1.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setFarPlane</B>(double farPlane)
+<DD><I> set the far plane</I>
+<DT>
+<A HREF="#DOC.2.1.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>getFarPlane</B>() const 
+<DD><I> get the far plane</I>
+<DT>
+<A HREF="#DOC.2.1.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>home</B>()
+<DD><I> hardwired home view for now, looking straight down the Z axis at the origin, with 'up' being the y axis</I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="Camera">
+<A NAME="DOC.2.1.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Camera()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Camera">
+<A NAME="DOC.2.1.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~Camera()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="draw">
+<A NAME="DOC.2.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void draw() const </B></TT>
+<DD>
+Renders the OpenGL to set the view
+<DL><DT><DD></DL><P>
+<A NAME="setView">
+<A NAME="DOC.2.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setView(osg::Vec3 eyePoint, osg::Vec3 lookPoint, osg::Vec3 upVector)</B></TT>
+<DD>
+Set the View, the up vector should be orthogonal to the
+look vector
+<DL><DT><DD></DL><P>
+<A NAME="getEyePoint">
+<A NAME="DOC.2.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Vec3&amp; getEyePoint() const </B></TT>
+<DD>
+get the eyepoint
+<DL><DT><DD></DL><P>
+<A NAME="getLookPoint">
+<A NAME="DOC.2.1.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Vec3&amp; getLookPoint() const </B></TT>
+<DD>
+get the lookpoint
+<DL><DT><DD></DL><P>
+<A NAME="getUpVector">
+<A NAME="DOC.2.1.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Vec3&amp; getUpVector() const </B></TT>
+<DD>
+which way is up?
+<DL><DT><DD></DL><P>
+<A NAME="setNearPlane">
+<A NAME="DOC.2.1.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNearPlane(double nearPlane)</B></TT>
+<DD>
+set the near plane
+<DL><DT><DD></DL><P>
+<A NAME="getNearPlane">
+<A NAME="DOC.2.1.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double getNearPlane() const </B></TT>
+<DD>
+get the near plane
+<DL><DT><DD></DL><P>
+<A NAME="setFarPlane">
+<A NAME="DOC.2.1.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFarPlane(double farPlane)</B></TT>
+<DD>
+set the far plane
+<DL><DT><DD></DL><P>
+<A NAME="getFarPlane">
+<A NAME="DOC.2.1.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double getFarPlane() const </B></TT>
+<DD>
+get the far plane
+<DL><DT><DD></DL><P>
+<A NAME="home">
+<A NAME="DOC.2.1.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void home()</B></TT>
+<DD>
+hardwired home view for now, looking straight down the
+Z axis at the origin, with 'up' being the y axis
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/SceneView.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/SceneView.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/SceneView.html (revision 2)
@@ -0,0 +1,409 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::SceneView</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::SceneView</A>: public osg::Referenced</H2>
+<BLOCKQUOTE> SceneView is literaly a view of a scene, encapsulating the camera, global state, lights and the scene itself.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CSceneView,MSceneView.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>
+<A HREF="#DOC.2.12.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>LightingMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.12.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>SceneView</B>()
+<DD><I>Constrcut a default scene view</I>
+<DT>
+<A HREF="#DOC.2.12.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setSceneData</B>(osg::Node* node)
+<DD><I>Set the data which to view.</I>
+<DT>
+<A HREF="#DOC.2.12.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Node* <B>getSceneData</B>()
+<DD><I>Get the scene data which to view.</I>
+<DT>
+<A HREF="#DOC.2.12.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setViewport</B>(int x, int y, int width, int height)
+<DD><I>Set the viewport of the scene view.</I>
+<DT>
+<A HREF="#DOC.2.12.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>getViewport</B>(int&amp; x, int&amp; y, int&amp; width, int&amp; height)
+<DD><I>Get the viewport of the scene view.</I>
+<DT>
+<A HREF="#DOC.2.12.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setDefaults</B>()
+<DD><I>Set scene view to use default global state, light, camera and render visitor</I>
+<DT>
+<A HREF="#DOC.2.12.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setBackgroundColor</B>(const osg::Vec4&amp; color)
+<DD><I>Set the background color used in glClearColor().</I>
+<DT>
+<A HREF="#DOC.2.12.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const osg::Vec4&amp; <B>getBackgroundColor</B>() const 
+<DD><I>Get the background color</I>
+<DT>
+<A HREF="#DOC.2.12.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setGlobalState</B>(osg::GeoState* state)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::GeoState* <B>getGlobalState</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLightingMode</B>(<!1><A HREF="SceneView.html#DOC.2.12.9">LightingMode</A> mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="SceneView.html#DOC.2.12.9">LightingMode</A> <B>getLightingMode</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLight</B>(osg::Light* light)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Light* <B>getLight</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCamera</B>(osg::Camera* camera)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Camera* <B>getCamera</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setRenderVisitor</B>(<!1><A HREF="RenderVisitor.html">osgUtil::RenderVisitor</A>* rv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html">osgUtil::RenderVisitor</A>* <B>getRenderVisitor</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLODBias</B>(float bias)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getLODBias</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCalcNearFar</B>(bool calc)
+<DD><I>Set to true if you want SceneView to automatically calculate values for the near/far clipping planes, each frame, set false to use camera's internal near and far planes.</I>
+<DT>
+<A HREF="#DOC.2.12.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getCalcNearFar</B>()
+<DD><I>return true if SceneView automatically caclculates near and  far clipping planes for each frame</I>
+<DT>
+<A HREF="#DOC.2.12.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>projectWindowIntoObject</B>(const osg::Vec3&amp; window, osg::Vec3&amp; object) const 
+<DD><I>Calculate, via glUnProject, the object coordinates of a window point.</I>
+<DT>
+<A HREF="#DOC.2.12.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>projectWindowXYIntoObject</B>(int x, int y, osg::Vec3&amp; near_point, osg::Vec3&amp; far_point) const 
+<DD><I>Calculate, via glUnProject, the object coordinates of a window x,y when projected onto the near and far planes.</I>
+<DT>
+<A HREF="#DOC.2.12.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>projectObjectIntoWindow</B>(const osg::Vec3&amp; object, osg::Vec3&amp; window) const 
+<DD><I>Calculate, via glProject, the object coordinates of a window.</I>
+<DT>
+<A HREF="#DOC.2.12.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>cull</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>draw</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.12.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;osg::Node&gt;  <B>_sceneData</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;osg::GeoState&gt;  <B>_globalState</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;osg::Light&gt;  <B>_light</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;osg::Camera&gt;  <B>_camera</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;<!1><A HREF="RenderVisitor.html">osgUtil::RenderVisitor</A>&gt;  <B>_renderVisitor</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_need_compile</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_calc_nearfar</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Vec4 <B>_backgroundColor</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>_near_plane</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>_far_plane</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_lodBias</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>GLint <B>_view</B>[4]
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>GLdouble <B>_model</B>[16]
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>GLdouble <B>_proj</B>[16]
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="SceneView.html#DOC.2.12.9">LightingMode</A> <B>_lightingMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.12.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~SceneView</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+SceneView is literaly a view of a scene, encapsulating the
+camera, global state, lights and the scene itself.  Provides
+methods for setting up the view and rendering it.</BLOCKQUOTE>
+<DL>
+
+<A NAME="SceneView">
+<A NAME="DOC.2.12.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SceneView()</B></TT>
+<DD>Constrcut a default scene view
+<DL><DT><DD></DL><P>
+<A NAME="setSceneData">
+<A NAME="DOC.2.12.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSceneData(osg::Node* node)</B></TT>
+<DD>Set the data which to view. The data will typically be
+an osg::Scene but can be any osg::Node type.
+<DL><DT><DD></DL><P>
+<A NAME="getSceneData">
+<A NAME="DOC.2.12.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Node* getSceneData()</B></TT>
+<DD>Get the scene data which to view. The data will typically be
+an osg::Scene but can be any osg::Node type.
+<DL><DT><DD></DL><P>
+<A NAME="setViewport">
+<A NAME="DOC.2.12.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setViewport(int x, int y, int width, int height)</B></TT>
+<DD>Set the viewport of the scene view. 
+<DL><DT><DD></DL><P>
+<A NAME="getViewport">
+<A NAME="DOC.2.12.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void getViewport(int&amp; x, int&amp; y, int&amp; width, int&amp; height)</B></TT>
+<DD>Get the viewport of the scene view. 
+<DL><DT><DD></DL><P>
+<A NAME="setDefaults">
+<A NAME="DOC.2.12.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDefaults()</B></TT>
+<DD>Set scene view to use default global state, light, camera
+and render visitor
+<DL><DT><DD></DL><P>
+<A NAME="setBackgroundColor">
+<A NAME="DOC.2.12.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setBackgroundColor(const osg::Vec4&amp; color)</B></TT>
+<DD>Set the background color used in glClearColor().
+Defaults to an off blue color.
+<DL><DT><DD></DL><P>
+<A NAME="getBackgroundColor">
+<A NAME="DOC.2.12.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const osg::Vec4&amp; getBackgroundColor() const </B></TT>
+<DD>Get the background color
+<DL><DT><DD></DL><P>
+<A NAME="setGlobalState">
+<A NAME="DOC.2.12.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setGlobalState(osg::GeoState* state)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getGlobalState">
+<A NAME="DOC.2.12.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::GeoState* getGlobalState() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LightingMode">
+<A NAME="DOC.2.12.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  LightingMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="HEADLIGHT">
+<A NAME="DOC.2.12.9.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> HEADLIGHT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SKY_LIGHT">
+<A NAME="DOC.2.12.9.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SKY_LIGHT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NO_SCENEVIEW_LIGHT">
+<A NAME="DOC.2.12.9.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NO_SCENEVIEW_LIGHT</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setLightingMode">
+<A NAME="DOC.2.12.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLightingMode(<!1><A HREF="SceneView.html#DOC.2.12.9">LightingMode</A> mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLightingMode">
+<A NAME="DOC.2.12.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="SceneView.html#DOC.2.12.9">LightingMode</A> getLightingMode() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLight">
+<A NAME="DOC.2.12.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLight(osg::Light* light)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLight">
+<A NAME="DOC.2.12.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Light* getLight() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setCamera">
+<A NAME="DOC.2.12.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCamera(osg::Camera* camera)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCamera">
+<A NAME="DOC.2.12.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Camera* getCamera() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setRenderVisitor">
+<A NAME="DOC.2.12.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setRenderVisitor(<!1><A HREF="RenderVisitor.html">osgUtil::RenderVisitor</A>* rv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getRenderVisitor">
+<A NAME="DOC.2.12.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html">osgUtil::RenderVisitor</A>* getRenderVisitor() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLODBias">
+<A NAME="DOC.2.12.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLODBias(float bias)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLODBias">
+<A NAME="DOC.2.12.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getLODBias() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setCalcNearFar">
+<A NAME="DOC.2.12.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCalcNearFar(bool calc)</B></TT>
+<DD>Set to true if you want SceneView to automatically calculate values
+for the near/far clipping planes, each frame, set false to use camera's
+internal near and far planes.  Default value is true.
+<DL><DT><DD></DL><P>
+<A NAME="getCalcNearFar">
+<A NAME="DOC.2.12.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getCalcNearFar()</B></TT>
+<DD>return true if SceneView automatically caclculates near and 
+far clipping planes for each frame
+<DL><DT><DD></DL><P>
+<A NAME="projectWindowIntoObject">
+<A NAME="DOC.2.12.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool projectWindowIntoObject(const osg::Vec3&amp; window, osg::Vec3&amp; object) const </B></TT>
+<DD>Calculate, via glUnProject, the object coordinates of a window point.
+Note, current implementation requires that SceneView::draw() has been previously called
+for projectWindowIntoObject to produce valid values.  Consistent with OpenGL
+windows coordinates are calculated relative to the bottom left of the window.
+Returns true on successful projection.
+<DL><DT><DD></DL><P>
+<A NAME="projectWindowXYIntoObject">
+<A NAME="DOC.2.12.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool projectWindowXYIntoObject(int x, int y, osg::Vec3&amp; near_point, osg::Vec3&amp; far_point) const </B></TT>
+<DD>Calculate, via glUnProject, the object coordinates of a window x,y
+when projected onto the near and far planes.
+Note, current implementation requires that SceneView::draw() has been previously called
+for projectWindowIntoObject to produce valid values.  Consistent with OpenGL
+windows coordinates are calculated relative to the bottom left of the window.
+Returns true on successful projection.
+<DL><DT><DD></DL><P>
+<A NAME="projectObjectIntoWindow">
+<A NAME="DOC.2.12.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool projectObjectIntoWindow(const osg::Vec3&amp; object, osg::Vec3&amp; window) const </B></TT>
+<DD>Calculate, via glProject, the object coordinates of a window.
+Note, current implementation requires that SceneView::draw() has been previously called
+for projectWindowIntoObject to produce valid values.  Consistent with OpenGL
+windows coordinates are calculated relative to the bottom left of the window,
+whereas as window API's normally have the top left as the origin,
+so you may need to pass in (mouseX,window_height-mouseY,...).
+Returns true on successful projection.
+<DL><DT><DD></DL><P>
+<A NAME="cull">
+<A NAME="DOC.2.12.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void cull()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="draw">
+<A NAME="DOC.2.12.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void draw()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~SceneView">
+<A NAME="DOC.2.12.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~SceneView()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_sceneData">
+<A NAME="DOC.2.12.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osg::Node&gt;  _sceneData</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_globalState">
+<A NAME="DOC.2.12.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osg::GeoState&gt;  _globalState</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_light">
+<A NAME="DOC.2.12.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osg::Light&gt;  _light</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_camera">
+<A NAME="DOC.2.12.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osg::Camera&gt;  _camera</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_renderVisitor">
+<A NAME="DOC.2.12.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;<!1><A HREF="RenderVisitor.html">osgUtil::RenderVisitor</A>&gt;  _renderVisitor</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_need_compile">
+<A NAME="DOC.2.12.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _need_compile</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_calc_nearfar">
+<A NAME="DOC.2.12.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _calc_nearfar</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_backgroundColor">
+<A NAME="DOC.2.12.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec4 _backgroundColor</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_near_plane">
+<A NAME="DOC.2.12.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double _near_plane</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_far_plane">
+<A NAME="DOC.2.12.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double _far_plane</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_lodBias">
+<A NAME="DOC.2.12.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _lodBias</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_view">
+<A NAME="DOC.2.12.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLint _view[4]</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_model">
+<A NAME="DOC.2.12.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLdouble _model[16]</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_proj">
+<A NAME="DOC.2.12.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GLdouble _proj[16]</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_lightingMode">
+<A NAME="DOC.2.12.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="SceneView.html#DOC.2.12.9">LightingMode</A> _lightingMode</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/FlightManipulator.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/FlightManipulator.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/FlightManipulator.html (revision 2)
@@ -0,0 +1,139 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::FlightManipulator</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::FlightManipulator</A>: public <!1><A HREF="CameraManipulator.html#DOC.2.1.8">CameraManipulator</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="Mosg::Referenced,M,CCameraManipulator,MCameraManipulator.html,CFlightManipulator,MFlightManipulator.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.4.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>YawControlMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.4.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>FlightManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.4.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~FlightManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.4.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>setNode</B>(osg::Node*)
+<DD><I>Attach a node to the manipulator.</I>
+<DT>
+<A HREF="#DOC.2.4.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   osg::Node* <B>getNode</B>() const 
+<DD><I>Return node if attached</I>
+<DT>
+<A HREF="#DOC.2.4.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>home</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>Move the camera to the default position.</I>
+<DT>
+<A HREF="#DOC.2.4.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>init</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>Start/restart the manipulator</I>
+<DT>
+<A HREF="#DOC.2.4.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>update</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>handle events, return true if handled, false otherwise</I>
+<DT>
+<A HREF="#DOC.2.4.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setYawControlMode</B>(<!1><A HREF="FlightManipulator.html#DOC.2.4.6">YawControlMode</A> ycm)
+<DD><I>Set the yaw control between no yaw and yawing when banked</I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="CameraManipulator.html">CameraManipulator</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>setCamera</B>(osg::Camera*)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   osg::Camera* <B>getCamera</B>() const 
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>osg::ref_ptr&lt;osg::Camera&gt;  <B>_camera</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="FlightManipulator">
+<A NAME="DOC.2.4.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FlightManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~FlightManipulator">
+<A NAME="DOC.2.4.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~FlightManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNode">
+<A NAME="DOC.2.4.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void setNode(osg::Node*)</B></TT>
+<DD>Attach a node to the manipulator. 
+Automatically detaches previously attached node.
+setNode(NULL) detaches previously nodes.
+Is ignored by manipulators which do not require a reference model.
+<DL><DT><DD></DL><P>
+<A NAME="getNode">
+<A NAME="DOC.2.4.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   osg::Node* getNode() const </B></TT>
+<DD>Return node if attached
+<DL><DT><DD></DL><P>
+<A NAME="home">
+<A NAME="DOC.2.4.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void home(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>Move the camera to the default position. 
+May be ignored by manipulators if home functionality is not appropriate.
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.2.4.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void init(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>Start/restart the manipulator
+<DL><DT><DD></DL><P>
+<A NAME="update">
+<A NAME="DOC.2.4.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool update(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>handle events, return true if handled, false otherwise
+<DL><DT><DD></DL><P>
+<A NAME="YawControlMode">
+<A NAME="DOC.2.4.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  YawControlMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="YAW_AUTOMATICALLY_WHEN_BANKED">
+<A NAME="DOC.2.4.6.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> YAW_AUTOMATICALLY_WHEN_BANKED</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NO_AUTOMATIC_YAW">
+<A NAME="DOC.2.4.6.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NO_AUTOMATIC_YAW</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setYawControlMode">
+<A NAME="DOC.2.4.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setYawControlMode(<!1><A HREF="FlightManipulator.html#DOC.2.4.6">YawControlMode</A> ycm)</B></TT>
+<DD>Set the yaw control between no yaw and yawing when banked
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/HIERjava.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/HIERjava.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/HIERjava.html (revision 2)
@@ -0,0 +1,83 @@
+<HTML>
+<HEAD>
+   <TITLE>Hierarchy of Classes</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+<H1>Hierarchy of classes</H1>
+<UL>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
+<param name=classes value="Mosg::Referenced,M,CCameraManipulator,MCameraManipulator.html,CTrackballManipulator,MTrackballManipulator.html,CFlightManipulator,MFlightManipulator.html,CDriveManipulator,MDriveManipulator.html">
+<param name=before value="M,M,M|_,MR_,Mr_">
+<param name=after value="Md_,M,M,M,M">
+<param name=indent value="0,1,1,1,1">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::NodeVisitor,M,CDisplayListVisitor,MDisplayListVisitor.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CGUIActionAdapter,MGUIActionAdapter.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CGUIEventAdapter,MGUIEventAdapter.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CHit,MHit.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CIntersectState,MIntersectState.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::NodeVisitor,M,CIntersectVisitor,MIntersectVisitor.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::NodeVisitor,M,CRenderVisitor,MRenderVisitor.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CSceneView,MSceneView.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CViewState,MViewState.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>
+</UL>
+<I><A HREF="index.html"> alphabetic index</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtilGetVersion.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtilGetVersion.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/osgUtilGetVersion.html (revision 2)
@@ -0,0 +1,30 @@
+<HTML>
+<HEAD>
+   <TITLE>extern OSGUTIL_EXPORT const char* osgUtilGetVersion</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>extern OSGUTIL_EXPORT const char* <A HREF="#DOC.DOCU">osgUtilGetVersion</A>()</H2>
+<BLOCKQUOTE> getVersion_osgUtil() returns the library version number.</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+getVersion_osgUtil() returns the library version number.
+Numbering conventon : osg_src-0.8-31 will return 0.8.31 from getVersion_osgUtil.<P>This C function can be also used to check for the existance of the OpenSceneGraph
+library using autoconf and its m4 macro AC_CHECK_LIB.<P>Here is the code to add to your configure.in:
+\verbatim
+#
+# Check for the OpenSceneGraph (OSG) utility library
+#
+AC_CHECK_LIB(osg, osgUtilGetVersion, ,
+[AC_MSG_ERROR(OpenSceneGraph utility library not found. See http://www.openscenegraph.org)],)
+\endverbatim</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIEventAdaptor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIEventAdaptor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/GUIEventAdaptor.html (revision 2)
@@ -0,0 +1,134 @@
+<HTML>
+<HEAD>
+   <TITLE>class  osgUtil::GUIEventAdaptor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  <A HREF="#DOC.DOCU">osgUtil::GUIEventAdaptor</A></H2>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.5.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>MouseButtonMask</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>EventType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<A HREF="#DOC.2.5.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GUIEventAdaptor.html#DOC.2.5.2">EventType</A> <B>_eventType</B>
+<DD><I>event type</I>
+<DT>
+<A HREF="#DOC.2.5.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_key_or_button_pressed</B>
+<DD><I>the key or button pressed in this event.</I>
+<DT>
+<A HREF="#DOC.2.5.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_x</B>
+<DD><I>current mouse position.</I>
+<DT>
+<A HREF="#DOC.2.5.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int  <B>_y</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned int <B>_buttonMask</B>
+<DD><I>current mouse button state.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.5.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>GUIEventAdaptor</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="GUIEventAdaptor">
+<A NAME="DOC.2.5.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> GUIEventAdaptor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MouseButtonMask">
+<A NAME="DOC.2.5.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  MouseButtonMask</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="LEFT_BUTTON">
+<A NAME="DOC.2.5.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LEFT_BUTTON</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MIDDLE_BUTTON">
+<A NAME="DOC.2.5.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIDDLE_BUTTON</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="RIGHT_BUTTON">
+<A NAME="DOC.2.5.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RIGHT_BUTTON</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="EventType">
+<A NAME="DOC.2.5.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  EventType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="PUSH">
+<A NAME="DOC.2.5.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PUSH</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="RELEASE">
+<A NAME="DOC.2.5.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RELEASE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="DRAG">
+<A NAME="DOC.2.5.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DRAG</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MOVE">
+<A NAME="DOC.2.5.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MOVE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="KEYBOARD">
+<A NAME="DOC.2.5.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> KEYBOARD</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NONE">
+<A NAME="DOC.2.5.2.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NONE</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="_eventType">
+<A NAME="DOC.2.5.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GUIEventAdaptor.html#DOC.2.5.2">EventType</A> _eventType</B></TT>
+<DD>event type
+<DL><DT><DD></DL><P>
+<A NAME="_key_or_button_pressed">
+<A NAME="DOC.2.5.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _key_or_button_pressed</B></TT>
+<DD>the key or button pressed in this event. 
+<DL><DT><DD></DL><P>
+<A NAME="_x">
+<A NAME="DOC.2.5.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _x</B></TT>
+<DD>current mouse position. 
+<DL><DT><DD></DL><P>
+<A NAME="_y">
+<A NAME="DOC.2.5.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  _y</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_buttonMask">
+<A NAME="DOC.2.5.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _buttonMask</B></TT>
+<DD>current mouse button state. 
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/IntersectState.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/IntersectState.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/IntersectState.html (revision 2)
@@ -0,0 +1,124 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::IntersectState</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::IntersectState</A>: public osg::Referenced</H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mosg::Referenced,M,CIntersectState,MIntersectState.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 Fields</H3><DD><DT>
+<A HREF="#DOC.2.7.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Matrix* <B>_matrix</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.7.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::Matrix* <B>_inverse</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.7.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectState.html#DOC.2.7.4">SegList</A> <B>_segList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.7.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectState.html#DOC.2.7.7">SegmentMaskStack</A> <B>_segmentMaskStack</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.7.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>IntersectState</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.7.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const osg::BoundingSphere&amp; bs, <!1><A HREF="IntersectState.html#DOC.2.7.6">SegmentMask</A>&amp; segMaskOut)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.7.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const osg::BoundingBox&amp; bb, <!1><A HREF="IntersectState.html#DOC.2.7.6">SegmentMask</A>&amp; segMaskOut)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.7.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt; std::pair&lt;osg::Seg*,osg::Seg*&gt; &gt;  <B>SegList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.7.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  unsigned int <B>SegmentMask</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.7.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="IntersectState.html#DOC.2.7.6">SegmentMask</A>&gt;  <B>SegmentMaskStack</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.7.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~IntersectState</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="IntersectState">
+<A NAME="DOC.2.7.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IntersectState()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_matrix">
+<A NAME="DOC.2.7.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Matrix* _matrix</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_inverse">
+<A NAME="DOC.2.7.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Matrix* _inverse</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SegList">
+<A NAME="DOC.2.7.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt; std::pair&lt;osg::Seg*,osg::Seg*&gt; &gt;  SegList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_segList">
+<A NAME="DOC.2.7.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectState.html#DOC.2.7.4">SegList</A> _segList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SegmentMask">
+<A NAME="DOC.2.7.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned int SegmentMask</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SegmentMaskStack">
+<A NAME="DOC.2.7.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="IntersectState.html#DOC.2.7.6">SegmentMask</A>&gt;  SegmentMaskStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_segmentMaskStack">
+<A NAME="DOC.2.7.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectState.html#DOC.2.7.7">SegmentMaskStack</A> _segmentMaskStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.7.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const osg::BoundingSphere&amp; bs, <!1><A HREF="IntersectState.html#DOC.2.7.6">SegmentMask</A>&amp; segMaskOut)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.7.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const osg::BoundingBox&amp; bb, <!1><A HREF="IntersectState.html#DOC.2.7.6">SegmentMask</A>&amp; segMaskOut)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~IntersectState">
+<A NAME="DOC.2.7.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~IntersectState()</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraManipulator.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraManipulator.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/CameraManipulator.html (revision 2)
@@ -0,0 +1,126 @@
+<HTML>
+<HEAD>
+   <TITLE>class  OSGUTIL_EXPORT osgUtil::CameraManipulator</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  OSGUTIL_EXPORT <A HREF="#DOC.DOCU">osgUtil::CameraManipulator</A>: public osg::Referenced</H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
+<param name=classes value="Mosg::Referenced,M,CCameraManipulator,MCameraManipulator.html,CTrackballManipulator,MTrackballManipulator.html,CFlightManipulator,MFlightManipulator.html,CDriveManipulator,MDriveManipulator.html">
+<param name=before value="M,M,M|_,MR_,Mr_">
+<param name=after value="Md_,M,M,M,M">
+<param name=indent value="0,1,1,1,1">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.1.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>CameraManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.1.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~CameraManipulator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.1.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>setCamera</B>(osg::Camera*)
+<DD><I>attach a camera to the manipulator to be used for specifying view</I>
+<DT>
+<A HREF="#DOC.2.1.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   osg::Camera* <B>getCamera</B>() const 
+<DD><I>get the attached a camera</I>
+<DT>
+<A HREF="#DOC.2.1.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>setNode</B>(osg::Node*)
+<DD><I>Attach a node to the manipulator.</I>
+<DT>
+<A HREF="#DOC.2.1.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   osg::Node* <B>getNode</B>() const 
+<DD><I>Return node if attached</I>
+<DT>
+<A HREF="#DOC.2.1.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>home</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp;, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp;)
+<DD><I>Move the camera to the default position.</I>
+<DT>
+<A HREF="#DOC.2.1.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>init</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp;, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp;)
+<DD><I>Start/restart the manipulator</I>
+<DT>
+<A HREF="#DOC.2.1.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>update</B>(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
+<DD><I>Handle events, return true if handled, false otherwise</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.1.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>osg::ref_ptr&lt;osg::Camera&gt;  <B>_camera</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="CameraManipulator">
+<A NAME="DOC.2.1.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CameraManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~CameraManipulator">
+<A NAME="DOC.2.1.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~CameraManipulator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setCamera">
+<A NAME="DOC.2.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void setCamera(osg::Camera*)</B></TT>
+<DD>attach a camera to the manipulator to be used for specifying view
+<DL><DT><DD></DL><P>
+<A NAME="getCamera">
+<A NAME="DOC.2.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   osg::Camera* getCamera() const </B></TT>
+<DD>get the attached a camera
+<DL><DT><DD></DL><P>
+<A NAME="setNode">
+<A NAME="DOC.2.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void setNode(osg::Node*)</B></TT>
+<DD>Attach a node to the manipulator. 
+Automatically detaches previously attached node.
+setNode(NULL) detaches previously nodes.
+Is ignored by manipulators which do not require a reference model.
+<DL><DT><DD></DL><P>
+<A NAME="getNode">
+<A NAME="DOC.2.1.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   osg::Node* getNode() const </B></TT>
+<DD>Return node if attached
+<DL><DT><DD></DL><P>
+<A NAME="home">
+<A NAME="DOC.2.1.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void home(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp;, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp;)</B></TT>
+<DD>Move the camera to the default position. 
+May be ignored by manipulators if home functionality is not appropriate.
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.2.1.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void init(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp;, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp;)</B></TT>
+<DD>Start/restart the manipulator
+<DL><DT><DD></DL><P>
+<A NAME="update">
+<A NAME="DOC.2.1.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool update(<!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
+<DD>Handle events, return true if handled, false otherwise
+<DL><DT><DD></DL><P>
+<A NAME="_camera">
+<A NAME="DOC.2.1.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osg::Camera&gt;  _camera</B></TT>
+<DL><DT><DD></DL><P></DL>
+<HR>
+<DL><DT><B>Direct child classes:
+</B><DD><A HREF="TrackballManipulator.html">TrackballManipulator</A><BR>
+<A HREF="FlightManipulator.html">FlightManipulator</A><BR>
+<A HREF="DriveManipulator.html">DriveManipulator</A><BR>
+</DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/index.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/index.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osgUtil/index.html (revision 2)
@@ -0,0 +1,41 @@
+<HTML>
+<HEAD>
+   <TITLE>Table of Contents</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H1>Table of Contents</H1>
+<H2>Namespaces</H2>
+<UL>
+<LI><A HREF="osgUtil.html">osgUtil</A>
+<UL></UL></UL>
+<H2>Functions</H2>
+<UL>
+<LI><A HREF="osgUtilGetLibraryName.html">osgUtilGetLibraryName</A> <I> getLibraryName_osgUtil() returns the library name in human friendly form</I>
+<LI><A HREF="osgUtilGetVersion.html">osgUtilGetVersion</A> <I> getVersion_osgUtil() returns the library version number.</I>
+</UL>
+<H2>Macros</H2>
+<UL>
+<LI><A HREF="General.html#OSGUTIL_CAMERAMANIPULATOR">OSGUTIL_CAMERAMANIPULATOR</A>
+<LI><A HREF="General.html#OSGUTIL_COMPILEGEOSETVISITOR">OSGUTIL_COMPILEGEOSETVISITOR</A>
+<LI><A HREF="General.html#OSGUTIL_DRIVEMANIPULATOR">OSGUTIL_DRIVEMANIPULATOR</A>
+<LI><B>OSGUTIL_EXPORT:</B>
+<UL>
+<LI><A HREF="General.html#OSGUTIL_EXPORT">OSGUTIL_EXPORT</A>
+<LI><A HREF="General.html#OSGUTIL_EXPORT">OSGUTIL_EXPORT</A>
+</UL>
+<LI><A HREF="General.html#OSGUTIL_EXPORT_">OSGUTIL_EXPORT_</A>
+<LI><A HREF="General.html#OSGUTIL_FLIGHTMANIPULATOR">OSGUTIL_FLIGHTMANIPULATOR</A>
+<LI><A HREF="General.html#OSGUTIL_GUIACTIONADAPTER">OSGUTIL_GUIACTIONADAPTER</A>
+<LI><A HREF="General.html#OSGUTIL_GUIEVENTADAPTER">OSGUTIL_GUIEVENTADAPTER</A>
+<LI><A HREF="General.html#OSGUTIL_INTERSECTVISITOR">OSGUTIL_INTERSECTVISITOR</A>
+<LI><A HREF="General.html#OSGUTIL_RENDERVISITOR">OSGUTIL_RENDERVISITOR</A>
+<LI><A HREF="General.html#OSGUTIL_SCENEVIEW">OSGUTIL_SCENEVIEW</A>
+<LI><A HREF="General.html#OSGUTIL_TRACKBALLMANIPULATOR">OSGUTIL_TRACKBALLMANIPULATOR</A>
+<LI><A HREF="General.html#OSGUTIL_VERSION">OSGUTIL_VERSION</A>
+</UL>
+<I><A HREF="HIER.html">Hierarchy of classes</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/MindMaps/Mission/Mission.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/MindMaps/Mission/Mission.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/MindMaps/Mission/Mission.html (revision 2)
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="MindManager v4.0.60">
+<meta name="author" content="">
+<title>Mission</title></head>
+<body bgcolor="#ffffff">
+
+<!-- To copy the MindManager image map please begin here (with next <center> tag) -->
+
+<center><img src="Mission.gif" border="0" usemap="#mindmap"></center><map name="mindmap">
+</map>
+
+<!-- Copy until here (including the </map> tag) -->
+
+</body></html>
Index: /OpenSceneGraph/tags/osg_8_34/doc/MindMaps/DesignPatterns/DesignPatterns.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/MindMaps/DesignPatterns/DesignPatterns.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/MindMaps/DesignPatterns/DesignPatterns.html (revision 2)
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<meta name="generator" content="MindManager v4.0.60">
+<meta name="author" content="Mindjet LLC">
+<title>Design Patterns</title></head>
+<body bgcolor="#ffffff">
+
+<!-- To copy the MindManager image map please begin here (with next <center> tag) -->
+
+<center><img src="DesignPatterns.gif" border="0" usemap="#mindmap"></center><map name="mindmap">
+</map>
+
+<!-- Copy until here (including the </map> tag) -->
+
+</body></html>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/BoundingBox.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/BoundingBox.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/BoundingBox.html (revision 2)
@@ -0,0 +1,234 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::BoundingBox</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::BoundingBox</A></H2>
+<BLOCKQUOTE>General purpose axis-aligned bounding box class for enclosing objects/vertices.</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<A HREF="#DOC.2.3.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_min</B>
+<DD><I>The corner with the smallest values for each coordinate of the bounding box</I>
+<DT>
+<A HREF="#DOC.2.3.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_max</B>
+<DD><I>The corner with the largest values for each coordinate of the bounding box</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.3.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>BoundingBox</B>()
+<DD><I>construct to invalid values to represent an unset bounding box</I>
+<DT>
+<A HREF="#DOC.2.3.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>init</B>()
+<DD><I>initialize to invalid values to represent an unset bounding box</I>
+<DT>
+<A HREF="#DOC.2.3.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isValid</B>() const 
+<DD><I>return true if the bounding box contains valid values, false if the bounding box is effectively unset/empty</I>
+<DT>
+<A HREF="#DOC.2.3.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float&amp; <B>xMin</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>xMin</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float&amp; <B>yMin</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>yMin</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float&amp; <B>zMin</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>zMin</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float&amp; <B>xMax</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>xMax</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float&amp; <B>yMax</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>yMax</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float&amp; <B>zMax</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>zMax</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.3.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>center</B>() const 
+<DD><I>Calculate and return the center of the bounding box</I>
+<DT>
+<A HREF="#DOC.2.3.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>radius</B>() const 
+<DD><I>Calculate and return the radius of the bounding box</I>
+<DT>
+<A HREF="#DOC.2.3.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>radius2</B>() const 
+<DD><I>Calculate and return the radius squared of the bounding box.</I>
+<DT>
+<A HREF="#DOC.2.3.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>corner</B>(unsigned int pos) const 
+<DD><I>return the corner of the bounding box.</I>
+<DT>
+<A HREF="#DOC.2.3.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>expandBy</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
+<DD><I>If the vertex is outwith the box expand to ecompass vertex.</I>
+<DT>
+<A HREF="#DOC.2.3.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>expandBy</B>(const <!1><A HREF="BoundingBox.html#DOC.2.3.3">BoundingBox</A>&amp; bb)
+<DD><I>If incomming box is outwith the box expand to ecompass incomming box.</I>
+<DT>
+<A HREF="#DOC.2.3.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>expandBy</B>(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; sh)
+<DD><I>If incomming sphere is outwith the box expand to ecompass incomming sphere.</I>
+<DT>
+<A HREF="#DOC.2.3.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>contains</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
+<DD><I>return true is vertex v is within the box</I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>General purpose axis-aligned bounding box class for enclosing objects/vertices.
+Used to bounding the leaf objects in the scene,
+i.e. osg::GeoSet's to assist in view frustum culling etc.</BLOCKQUOTE>
+<DL>
+
+<A NAME="_min">
+<A NAME="DOC.2.3.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _min</B></TT>
+<DD>The corner with the smallest values for each coordinate of the
+bounding box
+<DL><DT><DD></DL><P>
+<A NAME="_max">
+<A NAME="DOC.2.3.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _max</B></TT>
+<DD>The corner with the largest values for each coordinate of the
+bounding box
+<DL><DT><DD></DL><P>
+<A NAME="BoundingBox">
+<A NAME="DOC.2.3.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BoundingBox()</B></TT>
+<DD>construct to invalid values to represent an unset bounding box
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.2.3.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void init()</B></TT>
+<DD>initialize to invalid values to represent an unset bounding box
+<DL><DT><DD></DL><P>
+<A NAME="isValid">
+<A NAME="DOC.2.3.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isValid() const </B></TT>
+<DD>return true if the bounding box contains valid values,
+false if the bounding box is effectively unset/empty
+<DL><DT><DD></DL><P>
+<A NAME="xMin">
+<A NAME="DOC.2.3.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float&amp; xMin()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="xMin">
+<A NAME="DOC.2.3.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float xMin() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="yMin">
+<A NAME="DOC.2.3.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float&amp; yMin()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="yMin">
+<A NAME="DOC.2.3.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float yMin() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="zMin">
+<A NAME="DOC.2.3.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float&amp; zMin()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="zMin">
+<A NAME="DOC.2.3.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float zMin() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="xMax">
+<A NAME="DOC.2.3.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float&amp; xMax()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="xMax">
+<A NAME="DOC.2.3.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float xMax() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="yMax">
+<A NAME="DOC.2.3.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float&amp; yMax()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="yMax">
+<A NAME="DOC.2.3.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float yMax() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="zMax">
+<A NAME="DOC.2.3.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float&amp; zMax()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="zMax">
+<A NAME="DOC.2.3.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float zMax() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="center">
+<A NAME="DOC.2.3.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> center() const </B></TT>
+<DD>Calculate and return the center of the bounding box
+<DL><DT><DD></DL><P>
+<A NAME="radius">
+<A NAME="DOC.2.3.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float radius() const </B></TT>
+<DD>Calculate and return the radius of the bounding box
+<DL><DT><DD></DL><P>
+<A NAME="radius2">
+<A NAME="DOC.2.3.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float radius2() const </B></TT>
+<DD>Calculate and return the radius squared of the bounding box.
+Note, radius2() is faster to calculate than radius().
+<DL><DT><DD></DL><P>
+<A NAME="corner">
+<A NAME="DOC.2.3.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> corner(unsigned int pos) const </B></TT>
+<DD>return the corner of the bounding box.
+Position (pos) is specfied by a number between 0 and 7,
+the first bit toggles between x min and x max, second
+bit toggles between y min and y max, third bit toggles
+between z min and z max.
+<DL><DT><DD></DL><P>
+<A NAME="expandBy">
+<A NAME="DOC.2.3.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void expandBy(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
+<DD>If the vertex is outwith the box expand to ecompass vertex.
+If this box is empty then move set this box's min max to vertex. 
+<DL><DT><DD></DL><P>
+<A NAME="expandBy">
+<A NAME="DOC.2.3.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void expandBy(const <!1><A HREF="BoundingBox.html#DOC.2.3.3">BoundingBox</A>&amp; bb)</B></TT>
+<DD>If incomming box is outwith the box expand to ecompass incomming box.
+If this box is empty then move set this box to incomming box. 
+<DL><DT><DD></DL><P>
+<A NAME="expandBy">
+<A NAME="DOC.2.3.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void expandBy(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; sh)</B></TT>
+<DD>If incomming sphere is outwith the box expand to ecompass incomming sphere.
+If this box is empty then move set this box to encompass the sphere. 
+<DL><DT><DD></DL><P>
+<A NAME="contains">
+<A NAME="DOC.2.3.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool contains(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
+<DD>return true is vertex v is within the box
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/createGeodeForImage.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/createGeodeForImage.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/createGeodeForImage.html (revision 2)
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+   <TITLE>SG_EXPORT extern Geode* osg::createGeodeForImage</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>SG_EXPORT extern <!1><A HREF="Geode.html">Geode</A>* <A HREF="#DOC.DOCU">osg::createGeodeForImage</A>(<!1><A HREF="Image.html">Image</A>* image)</H2>
+<BLOCKQUOTE>Convinience function to be used by images loaders to generate a valid geode  to return for readNode().</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Convinience function to be used by images loaders to generate a valid geode  to return for readNode().  
+Use the images s and t values scale the dimensions of the image.</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Geode.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Geode.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Geode.html (revision 2)
@@ -0,0 +1,317 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Geode</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Geode</A>: public <!1><A HREF="Node.html#DOC.2.30.1">Node</A></H2>
+<BLOCKQUOTE>Leaf Node for grouping GeoSets</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGeode,MGeode.html,CBillboard,MBillboard.html">
+<param name=before value="M,M,M,M,M^_">
+<param name=after value="Md_SPSP,Md_SP,Md_,M,M">
+<param name=indent value="0,1,2,3,3">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.17.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Geode</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>addGeoSet</B>( <!1><A HREF="GeoSet.html">GeoSet</A> *gset )
+<DD><I>Add GeoSet to Geode.</I>
+<DT>
+<A HREF="#DOC.2.17.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>removeGeoSet</B>( <!1><A HREF="GeoSet.html">GeoSet</A> *gset )
+<DD><I>Remove GeoSet from Geode.</I>
+<DT>
+<A HREF="#DOC.2.17.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>replaceGeoSet</B>( <!1><A HREF="GeoSet.html">GeoSet</A> *origGset, <!1><A HREF="GeoSet.html">GeoSet</A> *newGset )
+<DD><I>Replace specified GeoSet with another GeoSet.</I>
+<DT>
+<A HREF="#DOC.2.17.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumGeosets</B>( void ) const 
+<DD><I>return the number of geoset's</I>
+<DT>
+<A HREF="#DOC.2.17.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoSet.html">GeoSet</A>* <B>getGeoSet</B>( int i )
+<DD><I>return geoset at position i</I>
+<DT>
+<A HREF="#DOC.2.17.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>containsGeoSet</B>( <!1><A HREF="GeoSet.html">GeoSet</A>* gset)
+<DD><I>return true is geoset is contained within Geode</I>
+<DT>
+<A HREF="#DOC.2.17.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>GeoSetList::iterator <B>findGeoSet</B>( <!1><A HREF="GeoSet.html">GeoSet</A>* gset)
+<DD><I>return the iterator postion for specified GeoSet.</I>
+<DT>
+<A HREF="#DOC.2.17.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>compileGeoSets</B>( void )
+<DD><I>complile OpenGL Display List for each geoset</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.17.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="GeoSet.html">GeoSet</A>&gt; &gt;  <B>GeoSetList</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.17.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Geode.html#DOC.2.17.9">GeoSetList</A> <B>_geosets</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.17.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Geode</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.17.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>computeBound</B>( void )
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const std::string&amp; name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const char* name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getName</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>getUserData</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getDescription</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string&amp; <B>getDescription</B>(int i)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>NodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>_bsphere_computed</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>friend <B>Group</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Leaf Node for grouping GeoSets</BLOCKQUOTE>
+<DL>
+
+<A NAME="GeoSetList">
+<A NAME="DOC.2.17.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt; <!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="GeoSet.html">GeoSet</A>&gt; &gt;  GeoSetList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Geode">
+<A NAME="DOC.2.17.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Geode()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.17.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.17.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.17.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.17.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="addGeoSet">
+<A NAME="DOC.2.17.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool addGeoSet( <!1><A HREF="GeoSet.html">GeoSet</A> *gset )</B></TT>
+<DD>Add GeoSet to Geode.
+If gset is not NULL and is not contained in Geode then increment its  
+reference count, add it to the geosets list and dirty the bounding 
+sphere to force it to recompute on next getBound() and return true for success.
+Otherwise return false.
+<DL><DT><DD></DL><P>
+<A NAME="removeGeoSet">
+<A NAME="DOC.2.17.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool removeGeoSet( <!1><A HREF="GeoSet.html">GeoSet</A> *gset )</B></TT>
+<DD>Remove GeoSet from Geode.
+If gset is contained in Geode then remove it from the geoset
+list and decrement its reference count, and dirty the 
+bounding sphere to force it to recompute on next getBound() and
+return true for success.  If gset is not found then return false
+and do not change the reference count of gset.
+<DL><DT><DD></DL><P>
+<A NAME="replaceGeoSet">
+<A NAME="DOC.2.17.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool replaceGeoSet( <!1><A HREF="GeoSet.html">GeoSet</A> *origGset, <!1><A HREF="GeoSet.html">GeoSet</A> *newGset )</B></TT>
+<DD>Replace specified GeoSet with another GeoSet.
+Decrement the reference count origGSet and increments the
+reference count of newGset, and dirty the bounding sphere
+to force it to recompute on next getBound() and returns true.
+If origGeoSet is not found then return false and do not 
+add newGset.  If newGset is NULL then return false and do
+not remove origGset.
+<DL><DT><DD></DL><P>
+<A NAME="getNumGeosets">
+<A NAME="DOC.2.17.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumGeosets( void ) const </B></TT>
+<DD>return the number of geoset's
+<DL><DT><DD></DL><P>
+<A NAME="getGeoSet">
+<A NAME="DOC.2.17.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoSet.html">GeoSet</A>* getGeoSet( int i )</B></TT>
+<DD>return geoset at position i
+<DL><DT><DD></DL><P>
+<A NAME="containsGeoSet">
+<A NAME="DOC.2.17.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool containsGeoSet( <!1><A HREF="GeoSet.html">GeoSet</A>* gset)</B></TT>
+<DD>return true is geoset is contained within Geode
+<DL><DT><DD></DL><P>
+<A NAME="findGeoSet">
+<A NAME="DOC.2.17.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>GeoSetList::iterator findGeoSet( <!1><A HREF="GeoSet.html">GeoSet</A>* gset)</B></TT>
+<DD>return the iterator postion for specified GeoSet.
+return _geoset.end() if gset not is contained in Geode.
+<DL><DT><DD></DL><P>
+<A NAME="compileGeoSets">
+<A NAME="DOC.2.17.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void compileGeoSets( void )</B></TT>
+<DD>complile OpenGL Display List for each geoset
+<DL><DT><DD></DL><P>
+<A NAME="~Geode">
+<A NAME="DOC.2.17.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Geode()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.17.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.17.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="computeBound">
+<A NAME="DOC.2.17.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool computeBound( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_geosets">
+<A NAME="DOC.2.17.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Geode.html#DOC.2.17.9">GeoSetList</A> _geosets</B></TT>
+<DL><DT><DD></DL><P></DL>
+<HR>
+<DL><DT><B>Direct child classes:
+</B><DD><A HREF="Billboard.html">Billboard</A><BR>
+</DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Field.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Field.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Field.html (revision 2)
@@ -0,0 +1,392 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Field</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Field</A></H2>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.10.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum <B></B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>FieldType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.10.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Field</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Field</B>(const <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; field)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Field</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; <B>operator = </B>(const <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; ic)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>reset</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>addChar</B>(char c)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNoCharacters</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setWithinQuotes</B>(bool withinQuotes=true)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getWithinQuotes</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNoNestedBrackets</B>(int no)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNoNestedBrackets</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Field.html#DOC.2.10.2">FieldType</A> <B>getFieldType</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isValid</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isOpenBracket</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCloseBracket</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isWord</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchWord</B>(const char* str) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchWord</B>(const char* str, int noCharacters) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isString</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchString</B>(const char* str) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchString</B>(const char* str, int noCharacters) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isQuotedString</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getStr</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>char* <B>takeStr</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isInt</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchInt</B>(int i) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getInt</B>(int&amp; i) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isFloat</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchFloat</B>(float f) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getFloat</B>(float&amp; f) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isDouble</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchDouble</B>(double f) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getDouble</B>(double&amp; d) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Field.html#DOC.2.10.2">FieldType</A> <B>calculateFieldType</B>(const char* str, bool withinQuotes=false)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.10.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_fieldCacheCapacity</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_fieldCacheSize</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>char* <B>_fieldCache</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>mutable <!1><A HREF="Field.html#DOC.2.10.2">FieldType</A> <B>_fieldType</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_withinQuotes</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.45"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_noNestedBrackets</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.10.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>_init</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>_free</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.10.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>_copy</B>(const <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; ic)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="">
+<A NAME="DOC.2.10.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum </B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="MIN_CACHE_SIZE">
+<A NAME="DOC.2.10.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIN_CACHE_SIZE</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="Field">
+<A NAME="DOC.2.10.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Field()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Field">
+<A NAME="DOC.2.10.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Field(const <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; field)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Field">
+<A NAME="DOC.2.10.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Field()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.10.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; operator = (const <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; ic)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="reset">
+<A NAME="DOC.2.10.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="addChar">
+<A NAME="DOC.2.10.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addChar(char c)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNoCharacters">
+<A NAME="DOC.2.10.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNoCharacters() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setWithinQuotes">
+<A NAME="DOC.2.10.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setWithinQuotes(bool withinQuotes=true)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getWithinQuotes">
+<A NAME="DOC.2.10.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getWithinQuotes()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNoNestedBrackets">
+<A NAME="DOC.2.10.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNoNestedBrackets(int no)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNoNestedBrackets">
+<A NAME="DOC.2.10.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNoNestedBrackets()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FieldType">
+<A NAME="DOC.2.10.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  FieldType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="OPEN_BRACKET">
+<A NAME="DOC.2.10.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OPEN_BRACKET</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="CLOSE_BRACKET">
+<A NAME="DOC.2.10.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLOSE_BRACKET</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="STRING">
+<A NAME="DOC.2.10.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> STRING</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="WORD">
+<A NAME="DOC.2.10.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WORD</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="REAL">
+<A NAME="DOC.2.10.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> REAL</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="INTEGER">
+<A NAME="DOC.2.10.2.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> INTEGER</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BLANK">
+<A NAME="DOC.2.10.2.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BLANK</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="UNINTIALISED">
+<A NAME="DOC.2.10.2.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> UNINTIALISED</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="getFieldType">
+<A NAME="DOC.2.10.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Field.html#DOC.2.10.2">FieldType</A> getFieldType() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isValid">
+<A NAME="DOC.2.10.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isValid() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isOpenBracket">
+<A NAME="DOC.2.10.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isOpenBracket() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCloseBracket">
+<A NAME="DOC.2.10.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCloseBracket() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isWord">
+<A NAME="DOC.2.10.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isWord() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchWord">
+<A NAME="DOC.2.10.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchWord(const char* str) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchWord">
+<A NAME="DOC.2.10.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchWord(const char* str, int noCharacters) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isString">
+<A NAME="DOC.2.10.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isString() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchString">
+<A NAME="DOC.2.10.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchString(const char* str) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchString">
+<A NAME="DOC.2.10.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchString(const char* str, int noCharacters) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isQuotedString">
+<A NAME="DOC.2.10.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isQuotedString() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getStr">
+<A NAME="DOC.2.10.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getStr() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="takeStr">
+<A NAME="DOC.2.10.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>char* takeStr()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isInt">
+<A NAME="DOC.2.10.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isInt() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchInt">
+<A NAME="DOC.2.10.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchInt(int i) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getInt">
+<A NAME="DOC.2.10.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getInt(int&amp; i) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isFloat">
+<A NAME="DOC.2.10.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isFloat() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchFloat">
+<A NAME="DOC.2.10.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchFloat(float f) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getFloat">
+<A NAME="DOC.2.10.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getFloat(float&amp; f) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isDouble">
+<A NAME="DOC.2.10.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isDouble() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchDouble">
+<A NAME="DOC.2.10.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchDouble(double f) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getDouble">
+<A NAME="DOC.2.10.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getDouble(double&amp; d) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="calculateFieldType">
+<A NAME="DOC.2.10.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Field.html#DOC.2.10.2">FieldType</A> calculateFieldType(const char* str, bool withinQuotes=false)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_init">
+<A NAME="DOC.2.10.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void _init()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_free">
+<A NAME="DOC.2.10.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void _free()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_copy">
+<A NAME="DOC.2.10.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void _copy(const <!1><A HREF="Field.html#DOC.2.10.4">Field</A>&amp; ic)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fieldCacheCapacity">
+<A NAME="DOC.2.10.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _fieldCacheCapacity</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fieldCacheSize">
+<A NAME="DOC.2.10.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _fieldCacheSize</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fieldCache">
+<A NAME="DOC.2.10.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>char* _fieldCache</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fieldType">
+<A NAME="DOC.2.10.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable <!1><A HREF="Field.html#DOC.2.10.2">FieldType</A> _fieldType</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_withinQuotes">
+<A NAME="DOC.2.10.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _withinQuotes</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_noNestedBrackets">
+<A NAME="DOC.2.10.45">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _noNestedBrackets</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/GeoSet.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/GeoSet.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/GeoSet.html (revision 2)
@@ -0,0 +1,713 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::GeoSet</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::GeoSet</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE>Encapsulates OpenGL drawing primitives, geometry and optional binding of normal, color and texture coordinates.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CGeoSet,MGeoSet.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.14.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>PrimitiveType</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>BindingType</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>InterleaveArrayType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.14.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>GeoSet</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.45"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNumPrims</B>( int n )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.46"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumPrims</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.47"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setPrimType</B>( <!1><A HREF="GeoSet.html#DOC.2.14.1">PrimitiveType</A> type )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.48"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoSet.html#DOC.2.14.1">PrimitiveType</A> <B>getPrimType</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.49"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setPrimLengths</B>( int *lens )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.50"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int* <B>getPrimLengths</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.51"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>computeNumVerts</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumCoords</B>()
+<DD><I>get the number of coords required by the defined primitives.</I>
+<DT>
+<A HREF="#DOC.2.14.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A>* <B>getCoords</B>()
+<DD><I>get a pointer to Vec3 coord array.</I>
+<DT>
+<A HREF="#DOC.2.14.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumIndices</B>()
+<DD><I>get the number of indices required by the defined primitives.</I>
+<DT>
+<A HREF="#DOC.2.14.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="osg.html#DOC.2.90">ushort</A>* <B>getCIndex</B>()
+<DD><I>get the coord index array.</I>
+<DT>
+<A HREF="#DOC.2.14.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCoords</B>( <!1><A HREF="Vec3.html">Vec3</A> *cp )
+<DD><I>set the coords (ie the geometry) of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCoords</B>( <!1><A HREF="Vec3.html">Vec3</A> *cp, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *ci )
+<DD><I>set the coords (ie the geometry) and indices of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumNormals</B>()
+<DD><I>get the number of normals required by the defined primitives and normals binding</I>
+<DT>
+<A HREF="#DOC.2.14.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A>* <B>getNormals</B>()
+<DD><I>get a pointer to Vec3 normal array.</I>
+<DT>
+<A HREF="#DOC.2.14.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumNIndices</B>()
+<DD><I>get the number of normal indices required by the defined primitives and normals binding</I>
+<DT>
+<A HREF="#DOC.2.14.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="osg.html#DOC.2.90">ushort</A>* <B>getNIndex</B>()
+<DD><I>get the normal index array.</I>
+<DT>
+<A HREF="#DOC.2.14.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNormals</B>( <!1><A HREF="Vec3.html">Vec3</A> *np )
+<DD><I>set the normals of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNormals</B>( <!1><A HREF="Vec3.html">Vec3</A> *np, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *ni )
+<DD><I>set the normals and normal indices of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNormalBinding</B>( <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> binding )
+<DD><I>set the normals binding to the vertices/primitives/overall</I>
+<DT>
+<A HREF="#DOC.2.14.52"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> <B>getNormalBinding</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumColors</B>()
+<DD><I>get the number of colors required by the defined primitives and color binding</I>
+<DT>
+<A HREF="#DOC.2.14.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A>* <B>getColors</B>()
+<DD><I>get a pointer to Vec4 color array.</I>
+<DT>
+<A HREF="#DOC.2.14.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumCIndices</B>()
+<DD><I>get the number of colors indices required by the defined primitives and color binding</I>
+<DT>
+<A HREF="#DOC.2.14.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="osg.html#DOC.2.90">ushort</A>* <B>getColIndex</B>()
+<DD><I>get the color index array.</I>
+<DT>
+<A HREF="#DOC.2.14.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setColors</B>( <!1><A HREF="Vec4.html">Vec4</A> *lp )
+<DD><I>set the colors of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setColors</B>( <!1><A HREF="Vec4.html">Vec4</A> *lp, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *li )
+<DD><I>set the colors and color indices of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setColorBinding</B>( <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> binding )
+<DD><I>set the color binding to the vertices/primitives/overall</I>
+<DT>
+<A HREF="#DOC.2.14.53"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> <B>getColorBinding</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumTCoords</B>()
+<DD><I>get the number of texture coords required by the defined primitives and textures binding</I>
+<DT>
+<A HREF="#DOC.2.14.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec2.html">Vec2</A>* <B>getTCoords</B>()
+<DD><I>get a pointer to Vec4 color array.</I>
+<DT>
+<A HREF="#DOC.2.14.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumTIndices</B>()
+<DD><I>get the number of texture coord indices required by the defined primitives and texture binding</I>
+<DT>
+<A HREF="#DOC.2.14.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="osg.html#DOC.2.90">ushort</A>* <B>getTIndex</B>()
+<DD><I>get the texture index array.</I>
+<DT>
+<A HREF="#DOC.2.14.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTextureCoords</B>( <!1><A HREF="Vec2.html">Vec2</A> *tc )
+<DD><I>set the texture coords of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTextureCoords</B>( <!1><A HREF="Vec2.html">Vec2</A> *tc, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *ti )
+<DD><I>set the texture coords and texture coord indices of the geoset</I>
+<DT>
+<A HREF="#DOC.2.14.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTextureBinding</B>( <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> binding )
+<DD><I>set the texture coord binding to the vertices/primitives/overall</I>
+<DT>
+<A HREF="#DOC.2.14.54"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> <B>getTextureBinding</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.55"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setInterleavedArray</B>( <!1><A HREF="GeoSet.html#DOC.2.14.3">InterleaveArrayType</A> format, float *ia )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.56"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setInterleavedArray</B>( <!1><A HREF="GeoSet.html#DOC.2.14.3">InterleaveArrayType</A> format, float *ia, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *iai )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.57"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setGeoState</B>(<!1><A HREF="GeoState.html">GeoState</A> *state)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.58"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html">GeoState</A>* <B>getGeoState</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setUseDisplayList</B>(bool flag)
+<DD><I>When set to true, force the draw method to use OpenGL Display List for rendering.</I>
+<DT>
+<A HREF="#DOC.2.14.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getUseDisplayList</B>()
+<DD><I>Return whether OpenGL display lists are being used for rendering</I>
+<DT>
+<A HREF="#DOC.2.14.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>dirtyDisplayList</B>()
+<DD><I>Force a recompile on next draw() of any OpenGL display list associated with this geoset</I>
+<DT>
+<A HREF="#DOC.2.14.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; <B>getBound</B>()
+<DD><I>get bounding box of geoset.</I>
+<DT>
+<A HREF="#DOC.2.14.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>draw</B>( void )
+<DD><I>draw geoset.</I>
+<DT>
+<A HREF="#DOC.2.14.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>drawImmediateMode</B>()
+<DD><I>draw geoset directly ignoring an OpenGL display list which could be attached.</I>
+<DT>
+<A HREF="#DOC.2.14.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>compile</B>( void )
+<DD><I>Immediately compile this geoset into an OpenGL Display List, set _useDisplayList to true</I>
+<DT>
+<A HREF="#DOC.2.14.59"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>check</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.14.60"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>GeoSet</B>(const <!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.61"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>&amp; <B>operator = </B>(const <!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.62"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~GeoSet</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.63"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchBindingTypeStr</B>(const char* str, <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A>&amp; mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.64"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getBindingTypeStr</B>(<!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.65"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.14.66"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Encapsulates OpenGL drawing primitives, geometry and
+optional binding of normal, color and texture coordinates.  Used
+for representing the visible objects in the scene.  State attributes
+for a GeoSet are maintained in GeoState which the GeoSet maintains
+a referenced counted pointer to.  Both GeoSet's and GeoState's can 
+be shared for optimal memory usage and graphics performance.</BLOCKQUOTE>
+<DL>
+
+<A NAME="PrimitiveType">
+<A NAME="DOC.2.14.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  PrimitiveType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="NO_TYPE">
+<A NAME="DOC.2.14.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NO_TYPE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="POINTS">
+<A NAME="DOC.2.14.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POINTS</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LINES">
+<A NAME="DOC.2.14.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINES</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LINE_STRIP">
+<A NAME="DOC.2.14.1.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINE_STRIP</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FLAT_LINE_STRIP">
+<A NAME="DOC.2.14.1.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FLAT_LINE_STRIP</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LINE_LOOP">
+<A NAME="DOC.2.14.1.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINE_LOOP</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRIANGLES">
+<A NAME="DOC.2.14.1.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRIANGLES</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRIANGLE_STRIP">
+<A NAME="DOC.2.14.1.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRIANGLE_STRIP</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FLAT_TRIANGLE_STRIP">
+<A NAME="DOC.2.14.1.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FLAT_TRIANGLE_STRIP</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRIANGLE_FAN">
+<A NAME="DOC.2.14.1.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRIANGLE_FAN</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FLAT_TRIANGLE_FAN">
+<A NAME="DOC.2.14.1.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FLAT_TRIANGLE_FAN</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="QUADS">
+<A NAME="DOC.2.14.1.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> QUADS</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="QUAD_STRIP">
+<A NAME="DOC.2.14.1.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> QUAD_STRIP</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="POLYGON">
+<A NAME="DOC.2.14.1.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGON</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="BindingType">
+<A NAME="DOC.2.14.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  BindingType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="BIND_OFF">
+<A NAME="DOC.2.14.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BIND_OFF</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BIND_OVERALL">
+<A NAME="DOC.2.14.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BIND_OVERALL</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BIND_PERPRIM">
+<A NAME="DOC.2.14.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BIND_PERPRIM</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BIND_PERVERTEX">
+<A NAME="DOC.2.14.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BIND_PERVERTEX</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BIND_DEFAULT">
+<A NAME="DOC.2.14.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BIND_DEFAULT</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="InterleaveArrayType">
+<A NAME="DOC.2.14.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  InterleaveArrayType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="IA_OFF">
+<A NAME="DOC.2.14.3.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_OFF</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_V2F">
+<A NAME="DOC.2.14.3.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_V2F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_V3F">
+<A NAME="DOC.2.14.3.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_C4UB_V2F">
+<A NAME="DOC.2.14.3.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_C4UB_V2F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_C4UB_V3F">
+<A NAME="DOC.2.14.3.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_C4UB_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_C3F_V3F">
+<A NAME="DOC.2.14.3.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_C3F_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_N3F_V3F">
+<A NAME="DOC.2.14.3.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_N3F_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_C4F_N3F_V3F">
+<A NAME="DOC.2.14.3.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_C4F_N3F_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_T2F_V3F">
+<A NAME="DOC.2.14.3.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_T2F_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_T4F_V4F">
+<A NAME="DOC.2.14.3.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_T4F_V4F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_T2F_C4UB_V3F">
+<A NAME="DOC.2.14.3.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_T2F_C4UB_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_T2F_C3F_V3F">
+<A NAME="DOC.2.14.3.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_T2F_C3F_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_T2F_N3F_V3F">
+<A NAME="DOC.2.14.3.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_T2F_N3F_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_T2F_C4F_N3F_V3F">
+<A NAME="DOC.2.14.3.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_T2F_C4F_N3F_V3F</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IA_T4F_C4F_N3F_V4F">
+<A NAME="DOC.2.14.3.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IA_T4F_C4F_N3F_V4F</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="GeoSet">
+<A NAME="DOC.2.14.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> GeoSet()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.14.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.14.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.14.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.14.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNumPrims">
+<A NAME="DOC.2.14.45">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNumPrims( int n )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNumPrims">
+<A NAME="DOC.2.14.46">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumPrims( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setPrimType">
+<A NAME="DOC.2.14.47">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPrimType( <!1><A HREF="GeoSet.html#DOC.2.14.1">PrimitiveType</A> type )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getPrimType">
+<A NAME="DOC.2.14.48">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoSet.html#DOC.2.14.1">PrimitiveType</A> getPrimType( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setPrimLengths">
+<A NAME="DOC.2.14.49">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPrimLengths( int *lens )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getPrimLengths">
+<A NAME="DOC.2.14.50">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int* getPrimLengths( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="computeNumVerts">
+<A NAME="DOC.2.14.51">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void computeNumVerts()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNumCoords">
+<A NAME="DOC.2.14.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumCoords()</B></TT>
+<DD>get the number of coords required by the defined primitives. 
+<DL><DT><DD></DL><P>
+<A NAME="getCoords">
+<A NAME="DOC.2.14.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A>* getCoords()</B></TT>
+<DD>get a pointer to Vec3 coord array. 
+<DL><DT><DD></DL><P>
+<A NAME="getNumIndices">
+<A NAME="DOC.2.14.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumIndices()</B></TT>
+<DD>get the number of indices required by the defined primitives. 
+<DL><DT><DD></DL><P>
+<A NAME="getCIndex">
+<A NAME="DOC.2.14.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.90">ushort</A>* getCIndex()</B></TT>
+<DD>get the coord index array. 
+<DL><DT><DD></DL><P>
+<A NAME="setCoords">
+<A NAME="DOC.2.14.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCoords( <!1><A HREF="Vec3.html">Vec3</A> *cp )</B></TT>
+<DD>set the coords (ie the geometry) of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="setCoords">
+<A NAME="DOC.2.14.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCoords( <!1><A HREF="Vec3.html">Vec3</A> *cp, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *ci )</B></TT>
+<DD>set the coords (ie the geometry) and indices of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="getNumNormals">
+<A NAME="DOC.2.14.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumNormals()</B></TT>
+<DD>get the number of normals required by the defined primitives and normals binding
+<DL><DT><DD></DL><P>
+<A NAME="getNormals">
+<A NAME="DOC.2.14.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A>* getNormals()</B></TT>
+<DD>get a pointer to Vec3 normal array. 
+<DL><DT><DD></DL><P>
+<A NAME="getNumNIndices">
+<A NAME="DOC.2.14.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumNIndices()</B></TT>
+<DD>get the number of normal indices required by the defined primitives and normals binding
+<DL><DT><DD></DL><P>
+<A NAME="getNIndex">
+<A NAME="DOC.2.14.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.90">ushort</A>* getNIndex()</B></TT>
+<DD>get the normal index array. 
+<DL><DT><DD></DL><P>
+<A NAME="setNormals">
+<A NAME="DOC.2.14.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNormals( <!1><A HREF="Vec3.html">Vec3</A> *np )</B></TT>
+<DD>set the normals of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="setNormals">
+<A NAME="DOC.2.14.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNormals( <!1><A HREF="Vec3.html">Vec3</A> *np, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *ni )</B></TT>
+<DD>set the normals and normal indices of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="setNormalBinding">
+<A NAME="DOC.2.14.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNormalBinding( <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> binding )</B></TT>
+<DD>set the normals binding to the vertices/primitives/overall
+<DL><DT><DD></DL><P>
+<A NAME="getNormalBinding">
+<A NAME="DOC.2.14.52">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> getNormalBinding()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNumColors">
+<A NAME="DOC.2.14.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumColors()</B></TT>
+<DD>get the number of colors required by the defined primitives and color binding
+<DL><DT><DD></DL><P>
+<A NAME="getColors">
+<A NAME="DOC.2.14.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A>* getColors()</B></TT>
+<DD>get a pointer to Vec4 color array. 
+<DL><DT><DD></DL><P>
+<A NAME="getNumCIndices">
+<A NAME="DOC.2.14.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumCIndices()</B></TT>
+<DD>get the number of colors indices required by the defined primitives and color binding
+<DL><DT><DD></DL><P>
+<A NAME="getColIndex">
+<A NAME="DOC.2.14.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.90">ushort</A>* getColIndex()</B></TT>
+<DD>get the color index array. 
+<DL><DT><DD></DL><P>
+<A NAME="setColors">
+<A NAME="DOC.2.14.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setColors( <!1><A HREF="Vec4.html">Vec4</A> *lp )</B></TT>
+<DD>set the colors of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="setColors">
+<A NAME="DOC.2.14.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setColors( <!1><A HREF="Vec4.html">Vec4</A> *lp, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *li )</B></TT>
+<DD>set the colors and color indices of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="setColorBinding">
+<A NAME="DOC.2.14.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setColorBinding( <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> binding )</B></TT>
+<DD>set the color binding to the vertices/primitives/overall
+<DL><DT><DD></DL><P>
+<A NAME="getColorBinding">
+<A NAME="DOC.2.14.53">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> getColorBinding()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNumTCoords">
+<A NAME="DOC.2.14.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumTCoords()</B></TT>
+<DD>get the number of texture coords required by the defined primitives and textures binding
+<DL><DT><DD></DL><P>
+<A NAME="getTCoords">
+<A NAME="DOC.2.14.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec2.html">Vec2</A>* getTCoords()</B></TT>
+<DD>get a pointer to Vec4 color array. 
+<DL><DT><DD></DL><P>
+<A NAME="getNumTIndices">
+<A NAME="DOC.2.14.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumTIndices()</B></TT>
+<DD>get the number of texture coord indices required by the defined primitives and texture binding
+<DL><DT><DD></DL><P>
+<A NAME="getTIndex">
+<A NAME="DOC.2.14.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.90">ushort</A>* getTIndex()</B></TT>
+<DD>get the texture index array. 
+<DL><DT><DD></DL><P>
+<A NAME="setTextureCoords">
+<A NAME="DOC.2.14.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTextureCoords( <!1><A HREF="Vec2.html">Vec2</A> *tc )</B></TT>
+<DD>set the texture coords of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="setTextureCoords">
+<A NAME="DOC.2.14.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTextureCoords( <!1><A HREF="Vec2.html">Vec2</A> *tc, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *ti )</B></TT>
+<DD>set the texture coords and texture coord indices of the geoset
+<DL><DT><DD></DL><P>
+<A NAME="setTextureBinding">
+<A NAME="DOC.2.14.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTextureBinding( <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> binding )</B></TT>
+<DD>set the texture coord binding to the vertices/primitives/overall
+<DL><DT><DD></DL><P>
+<A NAME="getTextureBinding">
+<A NAME="DOC.2.14.54">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> getTextureBinding()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setInterleavedArray">
+<A NAME="DOC.2.14.55">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setInterleavedArray( <!1><A HREF="GeoSet.html#DOC.2.14.3">InterleaveArrayType</A> format, float *ia )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setInterleavedArray">
+<A NAME="DOC.2.14.56">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setInterleavedArray( <!1><A HREF="GeoSet.html#DOC.2.14.3">InterleaveArrayType</A> format, float *ia, <!1><A HREF="osg.html#DOC.2.90">ushort</A> *iai )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setGeoState">
+<A NAME="DOC.2.14.57">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setGeoState(<!1><A HREF="GeoState.html">GeoState</A> *state)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getGeoState">
+<A NAME="DOC.2.14.58">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html">GeoState</A>* getGeoState() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setUseDisplayList">
+<A NAME="DOC.2.14.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setUseDisplayList(bool flag)</B></TT>
+<DD>When set to true, force the draw method to use OpenGL Display List for rendering.
+If false rendering directly.  If the display list has not been already
+compile the next call to draw will automatically create the display list.
+<DL><DT><DD></DL><P>
+<A NAME="getUseDisplayList">
+<A NAME="DOC.2.14.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getUseDisplayList()</B></TT>
+<DD>Return whether OpenGL display lists are being used for rendering
+<DL><DT><DD></DL><P>
+<A NAME="dirtyDisplayList">
+<A NAME="DOC.2.14.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void dirtyDisplayList()</B></TT>
+<DD>Force a recompile on next draw() of any OpenGL display list associated with this geoset
+<DL><DT><DD></DL><P>
+<A NAME="getBound">
+<A NAME="DOC.2.14.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; getBound()</B></TT>
+<DD>get bounding box of geoset. 
+Note, now made virtual to make it possible to implement user-drawn
+objects albiet so what crudely, to be improved later.
+<DL><DT><DD></DL><P>
+<A NAME="draw">
+<A NAME="DOC.2.14.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void draw( void )</B></TT>
+<DD>draw geoset. 
+If the geoset has _useDisplayList set to true then use an OpenGL display
+list, automatically compiling one if required.
+Otherwise call drawImmediateMode().
+Note, draw method should not be overiden in subclasses as it 
+manages the optional display list.
+<DL><DT><DD></DL><P>
+<A NAME="drawImmediateMode">
+<A NAME="DOC.2.14.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void drawImmediateMode()</B></TT>
+<DD>draw geoset directly ignoring an OpenGL display list which could be attached.
+This is the internal draw method which does the drawing itself,
+and is the method to override when deriving from GeoSet for user-drawn objects.
+<DL><DT><DD></DL><P>
+<A NAME="compile">
+<A NAME="DOC.2.14.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void compile( void )</B></TT>
+<DD>Immediately compile this geoset into an OpenGL Display List, set _useDisplayList to true
+<DL><DT><DD></DL><P>
+<A NAME="check">
+<A NAME="DOC.2.14.59">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool check()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="GeoSet">
+<A NAME="DOC.2.14.60">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> GeoSet(const <!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.14.61">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>&amp; operator = (const <!1><A HREF="GeoSet.html#DOC.2.14.40">GeoSet</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~GeoSet">
+<A NAME="DOC.2.14.62">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~GeoSet()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchBindingTypeStr">
+<A NAME="DOC.2.14.63">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchBindingTypeStr(const char* str, <!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A>&amp; mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getBindingTypeStr">
+<A NAME="DOC.2.14.64">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getBindingTypeStr(<!1><A HREF="GeoSet.html#DOC.2.14.2">BindingType</A> mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.14.65">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.14.66">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/HIER.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/HIER.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/HIER.html (revision 2)
@@ -0,0 +1,80 @@
+<HTML>
+<HEAD>
+   <TITLE>Hierarchy of Classes</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+<H1>Hierarchy of Classes</H1>
+<UL>
+
+<LI><A HREF="BoundingBox.html">osg::BoundingBox</A>
+<LI><A HREF="BoundingSphere.html">osg::BoundingSphere</A>
+<LI><A HREF="Field.html">osg::Field</A>
+<LI><A HREF="FieldReader.html">osg::FieldReader</A>
+<LI><A HREF="FieldReaderIterator.html">osg::FieldReaderIterator</A><UL>
+
+<LI><A HREF="Input.html">osg::Input</A></UL>
+
+<LI><A HREF="Lighting.html">osg::Lighting</A>
+<LI><A HREF="NotifyInit.html">osg::NotifyInit</A>
+<LI><A HREF="Output.html">osg::Output</A>
+<LI><A HREF="Quat.html">osg::Quat</A>
+<LI><A HREF="Referenced.html">osg::Referenced</A><UL>
+
+<LI><A HREF="Camera.html">osg::Camera</A>
+<LI><A HREF="DynamicLibrary.html">osg::DynamicLibrary</A>
+<LI><A HREF="MemoryAdapter.html">osg::MemoryAdapter</A>
+<LI><A HREF="NodeVisitor.html">osg::NodeVisitor</A>
+<LI><A HREF="Object.html">osg::Object</A><UL>
+
+<LI><A HREF="AlphaFunc.html">osg::AlphaFunc</A>
+<LI><A HREF="CullFace.html">osg::CullFace</A>
+<LI><A HREF="Fog.html">osg::Fog</A>
+<LI><A HREF="GeoSet.html">osg::GeoSet</A>
+<LI><A HREF="GeoState.html">osg::GeoState</A>
+<LI><A HREF="Image.html">osg::Image</A>
+<LI><A HREF="Light.html">osg::Light</A>
+<LI><A HREF="Material.html">osg::Material</A>
+<LI><A HREF="Matrix.html">osg::Matrix</A><UL>
+
+<LI><A HREF="TexMat.html">osg::TexMat</A></UL>
+
+<LI><A HREF="Node.html">osg::Node</A><UL>
+
+<LI><A HREF="Geode.html">osg::Geode</A><UL>
+
+<LI><A HREF="Billboard.html">osg::Billboard</A></UL>
+
+<LI><A HREF="Group.html">osg::Group</A><UL>
+
+<LI><A HREF="DCS.html">osg::DCS</A>
+<LI><A HREF="LOD.html">osg::LOD</A>
+<LI><A HREF="Scene.html">osg::Scene</A>
+<LI><A HREF="Sequence.html">osg::Sequence</A>
+<LI><A HREF="Switch.html">osg::Switch</A></UL>
+
+<LI><A HREF="LightSource.html">osg::LightSource</A></UL>
+
+<LI><A HREF="Point.html">osg::Point</A>
+<LI><A HREF="PolygonOffset.html">osg::PolygonOffset</A>
+<LI><A HREF="TexEnv.html">osg::TexEnv</A>
+<LI><A HREF="TexGen.html">osg::TexGen</A>
+<LI><A HREF="Texture.html">osg::Texture</A>
+<LI><A HREF="Transparency.html">osg::Transparency</A></UL>
+
+<LI><A HREF="ReaderWriter.html">osg::ReaderWriter</A>
+<LI><A HREF="Seg.html">osg::Seg</A></UL>
+
+<LI><A HREF="RegisterObjectProxy.html">osg::RegisterObjectProxy</A>
+<LI><A HREF="RegisterReaderWriterProxy.html">osg::RegisterReaderWriterProxy</A>
+<LI><A HREF="Registry.html">osg::Registry</A>
+<LI><A HREF="State.html">osg::State</A>
+<LI><A HREF="Timer.html">osg::Timer</A>
+<LI><A HREF="Vec2.html">osg::Vec2</A>
+<LI><A HREF="Vec3.html">osg::Vec3</A>
+<LI><A HREF="Vec4.html">osg::Vec4</A>
+<LI><A HREF="ref_ptr.html">osg::ref_ptr</A></UL>
+<I><A HREF="index.html">Alphabetic index</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/osg.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/osg.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/osg.html (revision 2)
@@ -0,0 +1,453 @@
+<HTML>
+<HEAD>
+   <TITLE>namespace osg</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>namespace <A HREF="#DOC.DOCU">osg</A></H2>
+
+<HR>
+<P><DL>
+ <DT><A HREF="AlphaFunc.html">class  SG_EXPORT <B>AlphaFunc</B></A>
+<DD><I>Encapsulte OpenGL glAlphaFunc</I>
+<DT><A HREF="Billboard.html">class  SG_EXPORT <B>Billboard</B></A>
+<DD><I>Billboard - a Geode which orientates its child osg::GeoSet's to face the eye point.</I>
+<DT><A HREF="BoundingBox.html">class  SG_EXPORT <B>BoundingBox</B></A>
+<DD><I>General purpose axis-aligned bounding box class for enclosing objects/vertices.</I>
+<DT><A HREF="BoundingSphere.html">class  SG_EXPORT <B>BoundingSphere</B></A>
+<DD><I>General purpose bounding sphere class for enclosing nodes/objects/vertices.</I>
+<DT><A HREF="Camera.html">class  SG_EXPORT <B>Camera</B></A>
+<DD><I>Camera class for encapsulating the view position and orientation.</I>
+<DT><A HREF="CullFace.html">class  SG_EXPORT <B>CullFace</B></A>
+<DD><I>Class to globally enable/disable OpenGL's polygon culling mode (GL_CULL_FACE)</I>
+<DT><A HREF="DCS.html">class  SG_EXPORT <B>DCS</B></A>
+<DD><I>DCS - Dynamic Coordinate System a is group which all children are transformed by the the DCS's osg::Matrix.</I>
+<DT><A HREF="DynamicLibrary.html">class  SG_EXPORT <B>DynamicLibrary</B></A>
+<DD><I>DynamicLibrary - encapsulates the loading and unloading of dynamic libraries, typically used for loading ReaderWriter plug-ins</I>
+<DT><A HREF="ExtensionSupported.html">SG_EXPORT extern bool <B>ExtensionSupported</B></A>
+<DD><I>return true if OpenGL "extension" is supported.</I>
+<DT><A HREF="Field.html">class  SG_EXPORT <B>Field</B></A>
+<DD><I></I>
+<DT><A HREF="FieldReader.html">class  SG_EXPORT <B>FieldReader</B></A>
+<DD><I></I>
+<DT><A HREF="FieldReaderIterator.html">class  SG_EXPORT <B>FieldReaderIterator</B></A>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.62"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern std::string <B>getFilePath</B>(const std::string&amp; filename)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.63"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern std::string <B>getFileExtension</B>(const std::string&amp; filename)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.64"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern std::string <B>getLowerCaseFileExtension</B>(const std::string&amp; filename)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.65"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern std::string <B>getSimpleFileName</B>(const std::string&amp; fileName)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.66"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern std::string <B>getStrippedName</B>(const std::string&amp; fileName)
+<DD><I></I>
+<DT><A HREF="Fog.html">class  SG_EXPORT <B>Fog</B></A>
+<DD><I>Fog - encapsulates OpenGL fog state.</I>
+<DT><A HREF="GeoSet.html">class  SG_EXPORT <B>GeoSet</B></A>
+<DD><I>Encapsulates OpenGL drawing primitives, geometry and optional binding of normal, color and texture coordinates.</I>
+<DT><A HREF="for_each_triangle.html">template&lt;class T&gt;  void <B>for_each_triangle</B></A>
+<DD><I>Template function for iterating through a GeoSet operating on triangles with templated functor.</I>
+<DT><A HREF="GeoState.html">class  SG_EXPORT <B>GeoState</B></A>
+<DD><I> Encapsulates OpenGL state modes and attributes.</I>
+<DT><A HREF="Geode.html">class  SG_EXPORT <B>Geode</B></A>
+<DD><I>Leaf Node for grouping GeoSets</I>
+<DT><A HREF="Group.html">class  SG_EXPORT <B>Group</B></A>
+<DD><I>General group node which maintains a list of children.</I>
+<DT><A HREF="Image.html">class  SG_EXPORT <B>Image</B></A>
+<DD><I>Image class for encapsulating the storage texture image data</I>
+<DT><A HREF="createGeodeForImage.html">SG_EXPORT extern <!1><A HREF="Geode.html">Geode</A>* <B>createGeodeForImage</B></A>
+<DD><I>Convinience function to be used by images loaders to generate a valid geode  to return for readNode().</I>
+<DT><A HREF="createGeodeForImage.2.html">SG_EXPORT extern <!1><A HREF="Geode.html">Geode</A>* <B>createGeodeForImage</B></A>
+<DD><I>Convinience function to be used by images loaders to generate a valid geode  to return for readNode().</I>
+<DT><A HREF="Input.html">class  SG_EXPORT <B>Input</B></A>
+<DD><I>Class for managing the reading of ASCII osg files</I>
+<DT><A HREF="LOD.html">class  SG_EXPORT <B>LOD</B></A>
+<DD><I>LOD - Level Of Detail group node which allows switching between children depending on distance from eye point.</I>
+<DT><A HREF="Light.html">class  SG_EXPORT <B>Light</B></A>
+<DD><I>Light state class which encapsulates OpenGL glLight() functionality</I>
+<DT><A HREF="LightSource.html">class  SG_EXPORT <B>LightSource</B></A>
+<DD><I>Leaf Node for defining a light in the scene</I>
+<DT><A HREF="Lighting.html">class  SG_EXPORT <B>Lighting</B></A>
+<DD><I>Class to globally control OpenGL's lighting</I>
+<DT><A HREF="Material.html">class  SG_EXPORT <B>Material</B></A>
+<DD><I></I>
+<DT><A HREF="Matrix.html">class  SG_EXPORT <B>Matrix</B></A>
+<DD><I>4x4 Matrix for storage & manipulation of transformations in scene graph.</I>
+<DT>
+<A HREF="#DOC.2.67"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html">Vec3</A> <B>Matrix::operator * </B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.68"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html">Vec3</A> <B>operator * </B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="Matrix.html">Matrix</A>&amp; m)
+<DD><I></I>
+<DT><A HREF="MemoryAdapter.html">class  SG_EXPORT <B>MemoryAdapter</B></A>
+<DD><I>Class for adapting the memory management of external data.</I>
+<DT><A HREF="Node.html">class  SG_EXPORT <B>Node</B></A>
+<DD><I>Base class for all internal nodes in the scene graph.</I>
+<DT><A HREF="NodePath.html">typedef  std::vector&lt;<!1><A HREF="Node.html">Node</A>*&gt;  <B>NodePath</B></A>
+<DD><I>A vector of Nodes pointers which is used to describe the path from a root node to a descendant</I>
+<DT><A HREF="NodeVisitor.html">class  SG_EXPORT <B>NodeVisitor</B></A>
+<DD><I>Visitor for type safe operations on osg::Node's.</I>
+<DT><A HREF="NodeAcceptOp.html">struct  <B>NodeAcceptOp</B></A>
+<DD><I>Convinience functor for assisting visiting of arrays of osg::Node's</I>
+<DT><A HREF="NotifySeverity.html">enum  <B>NotifySeverity</B></A>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.69"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>extern <!1><A HREF="NotifySeverity.html">NotifySeverity</A> <B>g_NotifyLevel</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.70"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>extern ofstream* <B>g_absorbStreamPtr</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.71"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern void <B>setNotifyLevel</B>(<!1><A HREF="NotifySeverity.html">NotifySeverity</A> severity)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.72"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern int <B>getNotifyLevel</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.73"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   ostream&amp; <B>notify</B>(<!1><A HREF="NotifySeverity.html">NotifySeverity</A> severity=INFO)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.74"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern ostream&amp; <B>notify</B>(<!1><A HREF="NotifySeverity.html">NotifySeverity</A> severity=INFO)
+<DD><I></I>
+<DT><A HREF="NotifyInit.html">class  SG_EXPORT <B>NotifyInit</B></A>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.75"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="NotifyInit.html">NotifyInit</A> <B>niftyNotifyInit</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.76"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern void <B>Init</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.77"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern void <B>SetFilePath</B>( const char *_path )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.78"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern char* <B>FindFile</B>( const char *file )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.79"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern char* <B>findDSO</B>( const char *name )
+<DD><I></I>
+<DT><A HREF="Object.html">class  SG_EXPORT <B>Object</B></A>
+<DD><I>Base class/standard interface for objects which require IO support,  cloning and reference counting.</I>
+<DT><A HREF="Output.html">class  SG_EXPORT <B>Output</B></A>
+<DD><I>ofstream wrapper class for adding support for indenting.</I>
+<DT>
+<A HREF="#DOC.2.80"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>template&lt;class T&gt;  bool <B>writeArrayBlock</B>(<!1><A HREF="Output.html">Output</A>&amp; fw, T* start, T* finish)
+<DD><I></I>
+<DT><A HREF="Point.html">class  SG_EXPORT <B>Point</B></A>
+<DD><I></I>
+<DT><A HREF="PolygonOffset.html">class  SG_EXPORT <B>PolygonOffset</B></A>
+<DD><I></I>
+<DT><A HREF="Quat.html">class  SG_EXPORT <B>Quat</B></A>
+<DD><I>A quaternion class.</I>
+<DT><A HREF="UnrefOp.html">template&lt;class T&gt; struct  <B>UnrefOp</B></A>
+<DD><I>Convience functor for unreferencing objects</I>
+<DT><A HREF="ref_ptr.html">template&lt;class T&gt; class  <B>ref_ptr</B></A>
+<DD><I>Smart pointer for handling referenced counted objects</I>
+<DT><A HREF="Referenced.html">class  <B>Referenced</B></A>
+<DD><I>Base class from providing referencing counted objects</I>
+<DT>
+<A HREF="#DOC.2.81"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern <!1><A HREF="Object.html">Object</A>* <B>loadObjectFile</B>(const char *name)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.82"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern <!1><A HREF="Image.html">Image</A>* <B>loadImageFile</B>(const char *name)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.83"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern <!1><A HREF="Node.html">Node</A>* <B>loadNodeFile</B>(const char *name)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.84"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern bool <B>saveObjectFile</B>(<!1><A HREF="Object.html">Object</A>&amp; object, const char *name)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.85"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern bool <B>saveImageFile</B>(<!1><A HREF="Image.html">Image</A>&amp; image, const char *name)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.86"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>SG_EXPORT extern bool <B>saveNodeFile</B>(<!1><A HREF="Node.html">Node</A>&amp; node, const char *name)
+<DD><I></I>
+<DT><A HREF="ReaderWriter.html">class  SG_EXPORT <B>ReaderWriter</B></A>
+<DD><I>pure virtual base class for reading and writing of non native formats.</I>
+<DT><A HREF="Registry.html">class  SG_EXPORT <B>Registry</B></A>
+<DD><I> Registry is a singleton factory which stores the Objects types available at runtime for loading, and any Object reader or writers which are linked in at runtime for reading non-native file formats.</I>
+<DT><A HREF="RegisterObjectProxy.html">template&lt;class T&gt; class  <B>RegisterObjectProxy</B></A>
+<DD><I>Proxy class for automatic registration of reader/writers with the Registry</I>
+<DT><A HREF="RegisterReaderWriterProxy.html">template&lt;class T&gt; class  <B>RegisterReaderWriterProxy</B></A>
+<DD><I>Proxy class for automatic registration of reader/writers with the Registry</I>
+<DT><A HREF="Scene.html">class  SG_EXPORT <B>Scene</B></A>
+<DD><I>The top level group node in a scene graph.</I>
+<DT><A HREF="Seg.html">class  SG_EXPORT <B>Seg</B></A>
+<DD><I>Segment class for representing a line segment</I>
+<DT><A HREF="Sequence.html">class  SG_EXPORT <B>Sequence</B></A>
+<DD><I>Sequence - Switch node which allows iterators between children.</I>
+<DT><A HREF="State.html">class  SG_EXPORT <B>State</B></A>
+<DD><I></I>
+<DT><A HREF="Switch.html">class  SG_EXPORT <B>Switch</B></A>
+<DD><I>Switch - Group node which allows switching between children.</I>
+<DT><A HREF="TexEnv.html">class  SG_EXPORT <B>TexEnv</B></A>
+<DD><I></I>
+<DT><A HREF="TexGen.html">class  SG_EXPORT <B>TexGen</B></A>
+<DD><I></I>
+<DT><A HREF="TexMat.html">class  SG_EXPORT <B>TexMat</B></A>
+<DD><I></I>
+<DT><A HREF="Texture.html">class  SG_EXPORT <B>Texture</B></A>
+<DD><I>Texture state class which encapsulates OpenGl texture functionality</I>
+<DT>
+<A HREF="#DOC.2.87"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  __int64 <B>Timer_t</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.88"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  unsigned long long <B>Timer_t</B>
+<DD><I></I>
+<DT><A HREF="Timer.html">class  SG_EXPORT <B>Timer</B></A>
+<DD><I></I>
+<DT><A HREF="Transparency.html">class  SG_EXPORT <B>Transparency</B></A>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.89"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  unsigned int <B>uint</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.90"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  unsigned short <B>ushort</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.91"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  unsigned char <B>uchar</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.92"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  <!1><A HREF="osg.html#DOC.2.91">uchar</A> <B>ubyte</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.93"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_E</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.94"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_LOG2E</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.95"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_LOG10E</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.96"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_LN2</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.97"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_LN10</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.98"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_PI</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.99"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_PI_2</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.100"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_PI_4</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.101"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_1_PI</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.102"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_2_PI</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.103"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_2_SQRTPI</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.104"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_SQRT2</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.105"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>#define <B>M_SQRT1_2</B>
+<DD><I></I>
+<DT><A HREF="Vec2.html">class  <B>Vec2</B></A>
+<DD><I>General purpose float pair, uses include representation of texture coordinates.</I>
+<DT><A HREF="Vec3.html">class  <B>Vec3</B></A>
+<DD><I>General purpose float triple for use as vertices, vectors and normals.</I>
+<DT><A HREF="Vec4.html">class  <B>Vec4</B></A>
+<DD><I>General purpose float quad, uses include representation of colour coordinates.</I>
+</DL></P>
+
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="getFilePath">
+<A NAME="DOC.2.62">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern std::string getFilePath(const std::string&amp; filename)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getFileExtension">
+<A NAME="DOC.2.63">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern std::string getFileExtension(const std::string&amp; filename)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLowerCaseFileExtension">
+<A NAME="DOC.2.64">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern std::string getLowerCaseFileExtension(const std::string&amp; filename)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getSimpleFileName">
+<A NAME="DOC.2.65">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern std::string getSimpleFileName(const std::string&amp; fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getStrippedName">
+<A NAME="DOC.2.66">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern std::string getStrippedName(const std::string&amp; fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Matrix::operator * ">
+<A NAME="DOC.2.67">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html">Vec3</A> Matrix::operator * (const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.68">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html">Vec3</A> operator * (const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="Matrix.html">Matrix</A>&amp; m)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="g_NotifyLevel">
+<A NAME="DOC.2.69">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>extern <!1><A HREF="NotifySeverity.html">NotifySeverity</A> g_NotifyLevel</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="g_absorbStreamPtr">
+<A NAME="DOC.2.70">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>extern ofstream* g_absorbStreamPtr</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNotifyLevel">
+<A NAME="DOC.2.71">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern void setNotifyLevel(<!1><A HREF="NotifySeverity.html">NotifySeverity</A> severity)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNotifyLevel">
+<A NAME="DOC.2.72">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern int getNotifyLevel()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="notify">
+<A NAME="DOC.2.73">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   ostream&amp; notify(<!1><A HREF="NotifySeverity.html">NotifySeverity</A> severity=INFO)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="notify">
+<A NAME="DOC.2.74">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern ostream&amp; notify(<!1><A HREF="NotifySeverity.html">NotifySeverity</A> severity=INFO)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="niftyNotifyInit">
+<A NAME="DOC.2.75">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="NotifyInit.html">NotifyInit</A> niftyNotifyInit</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Init">
+<A NAME="DOC.2.76">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern void Init( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SetFilePath">
+<A NAME="DOC.2.77">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern void SetFilePath( const char *_path )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FindFile">
+<A NAME="DOC.2.78">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern char* FindFile( const char *file )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="findDSO">
+<A NAME="DOC.2.79">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern char* findDSO( const char *name )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeArrayBlock">
+<A NAME="DOC.2.80">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>template&lt;class T&gt;  bool writeArrayBlock(<!1><A HREF="Output.html">Output</A>&amp; fw, T* start, T* finish)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="loadObjectFile">
+<A NAME="DOC.2.81">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern <!1><A HREF="Object.html">Object</A>* loadObjectFile(const char *name)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="loadImageFile">
+<A NAME="DOC.2.82">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern <!1><A HREF="Image.html">Image</A>* loadImageFile(const char *name)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="loadNodeFile">
+<A NAME="DOC.2.83">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern <!1><A HREF="Node.html">Node</A>* loadNodeFile(const char *name)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="saveObjectFile">
+<A NAME="DOC.2.84">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern bool saveObjectFile(<!1><A HREF="Object.html">Object</A>&amp; object, const char *name)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="saveImageFile">
+<A NAME="DOC.2.85">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern bool saveImageFile(<!1><A HREF="Image.html">Image</A>&amp; image, const char *name)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="saveNodeFile">
+<A NAME="DOC.2.86">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>SG_EXPORT extern bool saveNodeFile(<!1><A HREF="Node.html">Node</A>&amp; node, const char *name)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Timer_t">
+<A NAME="DOC.2.87">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  __int64 Timer_t</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Timer_t">
+<A NAME="DOC.2.88">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned long long Timer_t</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="uint">
+<A NAME="DOC.2.89">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned int uint</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ushort">
+<A NAME="DOC.2.90">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned short ushort</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="uchar">
+<A NAME="DOC.2.91">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned char uchar</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ubyte">
+<A NAME="DOC.2.92">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  <!1><A HREF="osg.html#DOC.2.91">uchar</A> ubyte</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_E">
+<A NAME="DOC.2.93">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_E</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_LOG2E">
+<A NAME="DOC.2.94">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_LOG2E</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_LOG10E">
+<A NAME="DOC.2.95">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_LOG10E</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_LN2">
+<A NAME="DOC.2.96">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_LN2</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_LN10">
+<A NAME="DOC.2.97">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_LN10</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_PI">
+<A NAME="DOC.2.98">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_PI</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_PI_2">
+<A NAME="DOC.2.99">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_PI_2</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_PI_4">
+<A NAME="DOC.2.100">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_PI_4</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_1_PI">
+<A NAME="DOC.2.101">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_1_PI</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_2_PI">
+<A NAME="DOC.2.102">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_2_PI</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_2_SQRTPI">
+<A NAME="DOC.2.103">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_2_SQRTPI</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_SQRT2">
+<A NAME="DOC.2.104">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_SQRT2</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="M_SQRT1_2">
+<A NAME="DOC.2.105">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>#define M_SQRT1_2</B></TT>
+<DL><DT><DD></DL><P></DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/TexGen.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/TexGen.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/TexGen.html (revision 2)
@@ -0,0 +1,202 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::TexGen</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::TexGen</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CTexGen,MTexGen.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.54.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>TexGenMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.54.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>TexGen</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="TexGen.html#DOC.2.54.2">TexGen</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>enable</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>disable</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setMode</B>( <!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A> mode )
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.54.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A> <B>_mode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.54.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~TexGen</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchModeStr</B>(const char* str, <!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A>&amp; mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.54.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getModeStr</B>(<!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A> mode)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="TexGenMode">
+<A NAME="DOC.2.54.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  TexGenMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="OBJECT_LINEAR">
+<A NAME="DOC.2.54.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OBJECT_LINEAR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="EYE_LINEAR">
+<A NAME="DOC.2.54.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> EYE_LINEAR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SPHERE_MAP">
+<A NAME="DOC.2.54.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SPHERE_MAP</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="TexGen">
+<A NAME="DOC.2.54.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TexGen( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.54.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="TexGen.html#DOC.2.54.2">TexGen</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.54.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.54.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.54.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="enable">
+<A NAME="DOC.2.54.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void enable( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="disable">
+<A NAME="DOC.2.54.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void disable( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.54.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setMode">
+<A NAME="DOC.2.54.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setMode( <!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A> mode )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~TexGen">
+<A NAME="DOC.2.54.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~TexGen( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.54.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.54.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchModeStr">
+<A NAME="DOC.2.54.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchModeStr(const char* str, <!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A>&amp; mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getModeStr">
+<A NAME="DOC.2.54.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getModeStr(<!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A> mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_mode">
+<A NAME="DOC.2.54.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="TexGen.html#DOC.2.54.1">TexGenMode</A> _mode</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/PolygonOffset.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/PolygonOffset.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/PolygonOffset.html (revision 2)
@@ -0,0 +1,171 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::PolygonOffset</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::PolygonOffset</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CPolygonOffset,MPolygonOffset.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.39.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>PolygonOffset</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="PolygonOffset.html#DOC.2.39.1">PolygonOffset</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setOffset</B>(float factor, float units)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>enable</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>disable</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.39.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_factor</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_units</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.39.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~PolygonOffset</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.39.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="PolygonOffset">
+<A NAME="DOC.2.39.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> PolygonOffset()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.39.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="PolygonOffset.html#DOC.2.39.1">PolygonOffset</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.39.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.39.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.39.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setOffset">
+<A NAME="DOC.2.39.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setOffset(float factor, float units)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="enable">
+<A NAME="DOC.2.39.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void enable( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="disable">
+<A NAME="DOC.2.39.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void disable( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.39.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~PolygonOffset">
+<A NAME="DOC.2.39.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~PolygonOffset()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.39.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.39.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_factor">
+<A NAME="DOC.2.39.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _factor</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_units">
+<A NAME="DOC.2.39.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _units</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/TexMat.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/TexMat.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/TexMat.html (revision 2)
@@ -0,0 +1,193 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::TexMat</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::TexMat</A>: public <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CMatrix,MMatrix.html,CTexMat,MTexMat.html">
+<param name=before value="M,M,M,M">
+<param name=after value="Md_SPSP,Md_SP,Md_,M">
+<param name=indent value="0,1,2,3">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.55.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>TexMat</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.55.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="TexMat.html#DOC.2.55.1">TexMat</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.55.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.55.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.55.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.55.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.55.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~TexMat</B>( void )
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Matrix.html">Matrix</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>float <B>_mat</B>[4][4]
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; <B>operator = </B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>makeIdent</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>set</B>(const float* m)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>copy</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>makeScale</B>(float sx, float sy, float sz)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>preScale</B>( float sx, float sy, float sz, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>postScale</B>( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float sx, float sy, float sz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>preScale</B>( float sx, float sy, float sz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>postScale</B>( float sx, float sy, float sz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>makeTrans</B>( float tx, float ty, float tz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>preTrans</B>( float tx, float ty, float tz, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>postTrans</B>( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float tx, float ty, float tz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>preTrans</B>( float tx, float ty, float tz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>postTrans</B>( float tx, float ty, float tz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>makeRot</B>( float deg, float x, float y, float z )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>preRot</B>( float deg, float x, float y, float z, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>postRot</B>( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float deg, float x, float y, float z )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>preRot</B>( float deg, float x, float y, float z )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>postRot</B>( float deg, float x, float y, float z )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setTrans</B>( float tx, float ty, float tz )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setTrans</B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v )
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Vec3.html">Vec3</A> <B>getTrans</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>preMult</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>postMult</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>mult</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; lhs, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; rhs)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A> <B>operator * </B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>inline   <!1><A HREF="Vec3.html">Vec3</A> <B>operator * </B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>inline   friend <!1><A HREF="Vec3.html">Vec3</A> <B>operator * </B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>invert</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="TexMat">
+<A NAME="DOC.2.55.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TexMat( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.55.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="TexMat.html#DOC.2.55.1">TexMat</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.55.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.55.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.55.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.55.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~TexMat">
+<A NAME="DOC.2.55.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~TexMat( void )</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/NodeAcceptOp.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/NodeAcceptOp.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/NodeAcceptOp.html (revision 2)
@@ -0,0 +1,53 @@
+<HTML>
+<HEAD>
+   <TITLE>struct  osg::NodeAcceptOp</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>struct  <A HREF="#DOC.DOCU">osg::NodeAcceptOp</A></H2>
+<BLOCKQUOTE>Convinience functor for assisting visiting of arrays of osg::Node's</BLOCKQUOTE>
+
+<HR>
+<P><DL>
+ <DT>
+<A HREF="#DOC.2.33.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; <B>_nv</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.33.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>NodeAcceptOp</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.33.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>operator () </B>(<!1><A HREF="Node.html">Node</A>* node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.33.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>operator () </B>(<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html">Node</A>&gt; node)
+<DD><I></I>
+</DL></P>
+
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Convinience functor for assisting visiting of arrays of osg::Node's</BLOCKQUOTE>
+<DL>
+
+<A NAME="_nv">
+<A NAME="DOC.2.33.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; _nv</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NodeAcceptOp">
+<A NAME="DOC.2.33.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NodeAcceptOp(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator () ">
+<A NAME="DOC.2.33.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void operator () (<!1><A HREF="Node.html">Node</A>* node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator () ">
+<A NAME="DOC.2.33.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void operator () (<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html">Node</A>&gt; node)</B></TT>
+<DL><DT><DD></DL><P></DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Lighting.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Lighting.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Lighting.html (revision 2)
@@ -0,0 +1,46 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Lighting</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Lighting</A></H2>
+<BLOCKQUOTE>Class to globally control OpenGL's lighting</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.26.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>enable</B>()
+<DD><I>Enable lighting</I>
+<DT>
+<A HREF="#DOC.2.26.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>disable</B>()
+<DD><I>Disable lighting</I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Class to globally control OpenGL's lighting</BLOCKQUOTE>
+<DL>
+
+<A NAME="enable">
+<A NAME="DOC.2.26.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void enable()</B></TT>
+<DD>Enable lighting
+<DL><DT><DD></DL><P>
+<A NAME="disable">
+<A NAME="DOC.2.26.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void disable()</B></TT>
+<DD>Disable lighting
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Light.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Light.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Light.html (revision 2)
@@ -0,0 +1,441 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Light</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Light</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE>Light state class which encapsulates OpenGL glLight() functionality</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CLight,MLight.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.24.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Light</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Light.html#DOC.2.24.31">Light</A>* <B>instance</B>()
+<DD><I>return a static instance of an osg::Light, to be used as prototype for loading lights</I>
+<DT>
+<A HREF="#DOC.2.24.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I>return a shallow copy of a node, with Object* return type</I>
+<DT>
+<A HREF="#DOC.2.24.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I>return the name of the node's class type</I>
+<DT>
+<A HREF="#DOC.2.24.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>on</B>( void )
+<DD><I> Turn the light on.</I>
+<DT>
+<A HREF="#DOC.2.24.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>off</B>( void )
+<DD><I> Turn the light off.</I>
+<DT>
+<A HREF="#DOC.2.24.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>enable</B>( void )
+<DD><I>Enable OpenGL's Lighting mode.</I>
+<DT>
+<A HREF="#DOC.2.24.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>disable</B>( void )
+<DD><I>Disable OpenGL's Lighting mode.</I>
+<DT>
+<A HREF="#DOC.2.24.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I>Apply the light's state to the OpenGL state machine.</I>
+<DT>
+<A HREF="#DOC.2.24.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setAmbient</B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; ambient )
+<DD><I>Set the ambient component of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getAmbient</B>() const 
+<DD><I>Get the ambient component of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setDiffuse</B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; diffuse )
+<DD><I>Set the diffuse component of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getDiffuse</B>() const 
+<DD><I>Get the diffuse component of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setSpecular</B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; specular )
+<DD><I>Set the specular component of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getSpecular</B>() const 
+<DD><I>Get the specular component of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setPosition</B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; position )
+<DD><I>Set the position of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getPosition</B>() const 
+<DD><I>Get the position of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setDirection</B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; direction )
+<DD><I>Set the direction of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getDirection</B>() const 
+<DD><I>Get the direction of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setConstantAttenuation</B>( float constant_attenuation )
+<DD><I>Set the constant attenuation of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>setConstantAttenuation</B>() const 
+<DD><I>Get the constant attenuation of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLinearAttenuation</B>( float linear_attenuation )
+<DD><I>Set the linear attenuation of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getLinearAttenuation</B>() const 
+<DD><I>Get the linear attenuation of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setQuadraticAttenuation</B>( float quadratic_attenuation )
+<DD><I>Set the quadratic attenuation of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getQuadraticAttenuation</B>() const 
+<DD><I>Get the quadratic attenuation of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setSpotExponent</B>( float spot_exponent )
+<DD><I>Set the spot exponent of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getSpotExponent</B>() const 
+<DD><I>Get the spot exponent of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setSpotCutoff</B>( float spot_cutoff )
+<DD><I>Set the spot cutoff of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getSpotCutoff</B>()
+<DD><I>Get the spot cutoff of the light.</I>
+<DT>
+<A HREF="#DOC.2.24.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>captureLightState</B>()
+<DD><I> Capture the lighting settings of the current OpenGL state and store them in this object</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.24.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_lightnum</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_on</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_ambient</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_diffuse</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_specular</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_position</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_direction</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_constant_attenuation</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_linear_attenuation</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_quadratic_attenuation</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_spot_exponent</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.45"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_spot_cutoff</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.46"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   int <B>_currentLightNum</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.24.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Light</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.24.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>init</B>( void )
+<DD><I>Initialize the light's settings with some decent defaults.</I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp;)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Light state class which encapsulates OpenGL glLight() functionality</BLOCKQUOTE>
+<DL>
+
+<A NAME="Light">
+<A NAME="DOC.2.24.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Light()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.24.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Light.html#DOC.2.24.31">Light</A>* instance()</B></TT>
+<DD>return a static instance of an osg::Light, to be used as prototype
+for loading lights
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.24.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DD>return a shallow copy of a node, with Object* return type
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.24.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.24.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DD>return the name of the node's class type
+<DL><DT><DD></DL><P>
+<A NAME="on">
+<A NAME="DOC.2.24.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void on( void )</B></TT>
+<DD>
+Turn the light on.
+Calling this method doesn't directly affect OpenGL's lighting mode.
+<DL><DT><DD></DL><P>
+<A NAME="off">
+<A NAME="DOC.2.24.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void off( void )</B></TT>
+<DD>
+Turn the light off.
+Calling this method doesn't directly affect OpenGL's lighting mode.
+<DL><DT><DD></DL><P>
+<A NAME="enable">
+<A NAME="DOC.2.24.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void enable( void )</B></TT>
+<DD>Enable OpenGL's Lighting mode. 
+<DL><DT><DD></DL><P>
+<A NAME="disable">
+<A NAME="DOC.2.24.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void disable( void )</B></TT>
+<DD>Disable OpenGL's Lighting mode. 
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.24.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DD>Apply the light's state to the OpenGL state machine. 
+<DL><DT><DD></DL><P>
+<A NAME="setAmbient">
+<A NAME="DOC.2.24.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setAmbient( const <!1><A HREF="Vec4.html">Vec4</A>&amp; ambient )</B></TT>
+<DD>Set the ambient component of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getAmbient">
+<A NAME="DOC.2.24.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getAmbient() const </B></TT>
+<DD>Get the ambient component of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setDiffuse">
+<A NAME="DOC.2.24.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDiffuse( const <!1><A HREF="Vec4.html">Vec4</A>&amp; diffuse )</B></TT>
+<DD>Set the diffuse component of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getDiffuse">
+<A NAME="DOC.2.24.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getDiffuse() const </B></TT>
+<DD>Get the diffuse component of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setSpecular">
+<A NAME="DOC.2.24.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSpecular( const <!1><A HREF="Vec4.html">Vec4</A>&amp; specular )</B></TT>
+<DD>Set the specular component of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getSpecular">
+<A NAME="DOC.2.24.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getSpecular() const </B></TT>
+<DD>Get the specular component of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setPosition">
+<A NAME="DOC.2.24.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPosition( const <!1><A HREF="Vec4.html">Vec4</A>&amp; position )</B></TT>
+<DD>Set the position of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getPosition">
+<A NAME="DOC.2.24.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getPosition() const </B></TT>
+<DD>Get the position of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setDirection">
+<A NAME="DOC.2.24.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDirection( const <!1><A HREF="Vec3.html">Vec3</A>&amp; direction )</B></TT>
+<DD>Set the direction of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getDirection">
+<A NAME="DOC.2.24.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getDirection() const </B></TT>
+<DD>Get the direction of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setConstantAttenuation">
+<A NAME="DOC.2.24.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setConstantAttenuation( float constant_attenuation )</B></TT>
+<DD>Set the constant attenuation of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setConstantAttenuation">
+<A NAME="DOC.2.24.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float setConstantAttenuation() const </B></TT>
+<DD>Get the constant attenuation of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setLinearAttenuation">
+<A NAME="DOC.2.24.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLinearAttenuation( float linear_attenuation )</B></TT>
+<DD>Set the linear attenuation of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getLinearAttenuation">
+<A NAME="DOC.2.24.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getLinearAttenuation() const </B></TT>
+<DD>Get the linear attenuation of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setQuadraticAttenuation">
+<A NAME="DOC.2.24.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setQuadraticAttenuation( float quadratic_attenuation )</B></TT>
+<DD>Set the quadratic attenuation of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getQuadraticAttenuation">
+<A NAME="DOC.2.24.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getQuadraticAttenuation() const </B></TT>
+<DD>Get the quadratic attenuation of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setSpotExponent">
+<A NAME="DOC.2.24.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSpotExponent( float spot_exponent )</B></TT>
+<DD>Set the spot exponent of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getSpotExponent">
+<A NAME="DOC.2.24.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getSpotExponent() const </B></TT>
+<DD>Get the spot exponent of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="setSpotCutoff">
+<A NAME="DOC.2.24.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSpotCutoff( float spot_cutoff )</B></TT>
+<DD>Set the spot cutoff of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="getSpotCutoff">
+<A NAME="DOC.2.24.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getSpotCutoff()</B></TT>
+<DD>Get the spot cutoff of the light. 
+<DL><DT><DD></DL><P>
+<A NAME="captureLightState">
+<A NAME="DOC.2.24.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void captureLightState()</B></TT>
+<DD>
+Capture the lighting settings of the current OpenGL state
+and store them in this object
+<DL><DT><DD></DL><P>
+<A NAME="~Light">
+<A NAME="DOC.2.24.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Light( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.2.24.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void init( void )</B></TT>
+<DD>Initialize the light's settings with some decent defaults. 
+<DL><DT><DD></DL><P>
+<A NAME="_lightnum">
+<A NAME="DOC.2.24.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _lightnum</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_on">
+<A NAME="DOC.2.24.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _on</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ambient">
+<A NAME="DOC.2.24.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _ambient</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_diffuse">
+<A NAME="DOC.2.24.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _diffuse</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_specular">
+<A NAME="DOC.2.24.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _specular</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_position">
+<A NAME="DOC.2.24.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _position</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_direction">
+<A NAME="DOC.2.24.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _direction</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_constant_attenuation">
+<A NAME="DOC.2.24.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _constant_attenuation</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_linear_attenuation">
+<A NAME="DOC.2.24.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _linear_attenuation</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_quadratic_attenuation">
+<A NAME="DOC.2.24.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _quadratic_attenuation</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_spot_exponent">
+<A NAME="DOC.2.24.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _spot_exponent</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_spot_cutoff">
+<A NAME="DOC.2.24.45">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _spot_cutoff</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_currentLightNum">
+<A NAME="DOC.2.24.46">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   int _currentLightNum</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Sequence.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Sequence.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Sequence.html (revision 2)
@@ -0,0 +1,233 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Sequence</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Sequence</A>: public <!1><A HREF="Group.html#DOC.2.18.9">Group</A></H2>
+<BLOCKQUOTE>Sequence - Switch node which allows iterators between children.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,CSequence,MSequence.html">
+<param name=before value="M,M,M,M,M">
+<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M">
+<param name=indent value="0,1,2,3,4">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.50.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Sequence</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.50.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.50.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.50.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.50.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.50.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Sequence</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Group.html">Group</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>addChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>removeChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>replaceChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *origChild, <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* newChild )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumChildren</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>getChild</B>( int i )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>containsNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>ChildList::iterator <B>findNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html#DOC.2.30.1">Node</A>&gt; &gt;  <B>ChildList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Group.html#DOC.2.18.8">ChildList</A> <B>_children</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>computeBound</B>( void )
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const std::string&amp; name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const char* name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getName</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>getUserData</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getDescription</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string&amp; <B>getDescription</B>(int i)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>NodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>_bsphere_computed</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>friend <B>Group</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Sequence - Switch node which allows iterators between children.<P>Note: has not been implemented yet!</BLOCKQUOTE>
+<DL>
+
+<A NAME="Sequence">
+<A NAME="DOC.2.50.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Sequence()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.50.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.50.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.50.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.50.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Sequence">
+<A NAME="DOC.2.50.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Sequence()</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/TexEnv.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/TexEnv.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/TexEnv.html (revision 2)
@@ -0,0 +1,188 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::TexEnv</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::TexEnv</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CTexEnv,MTexEnv.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.53.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>TexEnvMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.53.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>TexEnv</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="TexEnv.html#DOC.2.53.2">TexEnv</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setMode</B>( <!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A> mode )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.53.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A> <B>_mode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.53.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~TexEnv</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchModeStr</B>(const char* str, <!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A>&amp; mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.53.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getModeStr</B>(<!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A> mode)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="TexEnvMode">
+<A NAME="DOC.2.53.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  TexEnvMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="DECAL">
+<A NAME="DOC.2.53.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DECAL</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MODULATE">
+<A NAME="DOC.2.53.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MODULATE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BLEND">
+<A NAME="DOC.2.53.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BLEND</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="TexEnv">
+<A NAME="DOC.2.53.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TexEnv( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.53.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="TexEnv.html#DOC.2.53.2">TexEnv</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.53.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.53.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.53.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setMode">
+<A NAME="DOC.2.53.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setMode( <!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A> mode )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.53.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~TexEnv">
+<A NAME="DOC.2.53.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~TexEnv( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.53.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.53.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchModeStr">
+<A NAME="DOC.2.53.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchModeStr(const char* str, <!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A>&amp; mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getModeStr">
+<A NAME="DOC.2.53.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getModeStr(<!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A> mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_mode">
+<A NAME="DOC.2.53.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="TexEnv.html#DOC.2.53.1">TexEnvMode</A> _mode</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/GeoState.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/GeoState.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/GeoState.html (revision 2)
@@ -0,0 +1,501 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::GeoState</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::GeoState</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE> Encapsulates OpenGL state modes and attributes.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CGeoState,MGeoState.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.16.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>AttributeType</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>AttributeMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.16.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>GeoState</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setGlobalDefaults</B>()
+<DD><I>set all the modes to on or off so that it defines a  complete state, typically used for a default global state</I>
+<DT>
+<A HREF="#DOC.2.16.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setAllToInherit</B>()
+<DD><I>set all the modes to inherit, typically used to signifiy nodes which inherit all of their modes for the global state</I>
+<DT>
+<A HREF="#DOC.2.16.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setMode</B>(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type, <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>getMode</B>(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setAttribute</B>(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type, <!1><A HREF="Object.html#DOC.2.36.1">Object</A> *attribute)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>getAttribute</B>(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isTransparent</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>(<!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>* global, <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>* prev)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>check</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>combineMode</B>(const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> g, const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> p, const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> c)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>mergeMode</B>(const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> lhs, const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> rhs)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.16.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_transparencing</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_face_culling</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_lighting</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_texturing</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_fogging</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_texgening</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_antialiasing</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_colortable</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_pointSmoothing</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_polygonOffsetting</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> <B>_alphaTesting</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Texture.html">Texture</A>&gt;  <B>_texture</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TexGen.html">TexGen</A>&gt;  <B>_texgen</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Material.html">Material</A>&gt;  <B>_material</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TexEnv.html">TexEnv</A>&gt;  <B>_texenv</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Transparency.html">Transparency</A>&gt;  <B>_transparency</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TexMat.html">TexMat</A>&gt;  <B>_texmat</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Fog.html">Fog</A>&gt;  <B>_fog</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.45"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Point.html">Point</A>&gt;  <B>_point</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.46"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="PolygonOffset.html">PolygonOffset</A>&gt;  <B>_polygonOffset</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.47"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="CullFace.html">CullFace</A>&gt;  <B>_cullFace</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.48"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="AlphaFunc.html">AlphaFunc</A>&gt;  <B>_alphaFunc</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.16.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~GeoState</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>GeoState</B>(const <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>&amp; <B>operator = </B>(const <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchModeStr</B>(const char* str, <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A>&amp; mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.16.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getModeStr</B>(<!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> flag)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+Encapsulates OpenGL state modes and attributes. 
+Used to specificy textures etc of osg::GeoSet's which hold references
+to a single osg::GeoState.  GeoState can be shared between GeoSet's
+and is recommend if possible as it minimize expensive state changes
+in the graphics pipeline.</BLOCKQUOTE>
+<DL>
+
+<A NAME="AttributeType">
+<A NAME="DOC.2.16.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  AttributeType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="ANTIALIAS">
+<A NAME="DOC.2.16.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ANTIALIAS</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FACE_CULL">
+<A NAME="DOC.2.16.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FACE_CULL</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FOG">
+<A NAME="DOC.2.16.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FOG</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LIGHTING">
+<A NAME="DOC.2.16.1.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LIGHTING</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MATERIAL">
+<A NAME="DOC.2.16.1.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MATERIAL</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="POINT">
+<A NAME="DOC.2.16.1.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POINT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="POLYGON_OFFSET">
+<A NAME="DOC.2.16.1.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> POLYGON_OFFSET</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TEXENV">
+<A NAME="DOC.2.16.1.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXENV</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TEXGEN">
+<A NAME="DOC.2.16.1.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXGEN</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TEXMAT">
+<A NAME="DOC.2.16.1.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXMAT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TEXTURE">
+<A NAME="DOC.2.16.1.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TEXTURE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRANSPARENCY">
+<A NAME="DOC.2.16.1.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRANSPARENCY</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="WIREFRAME">
+<A NAME="DOC.2.16.1.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WIREFRAME</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ALPHAFUNC">
+<A NAME="DOC.2.16.1.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALPHAFUNC</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="AttributeMode">
+<A NAME="DOC.2.16.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  AttributeMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="INHERIT">
+<A NAME="DOC.2.16.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> INHERIT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OFF">
+<A NAME="DOC.2.16.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OFF</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ON">
+<A NAME="DOC.2.16.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ON</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OVERRIDE_OFF">
+<A NAME="DOC.2.16.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE_OFF</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OVERRIDE_ON">
+<A NAME="DOC.2.16.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OVERRIDE_ON</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="GeoState">
+<A NAME="DOC.2.16.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> GeoState()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.16.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.16.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.16.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.16.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setGlobalDefaults">
+<A NAME="DOC.2.16.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setGlobalDefaults()</B></TT>
+<DD>set all the modes to on or off so that it defines a 
+complete state, typically used for a default global state
+<DL><DT><DD></DL><P>
+<A NAME="setAllToInherit">
+<A NAME="DOC.2.16.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setAllToInherit()</B></TT>
+<DD>set all the modes to inherit, typically used to signifiy
+nodes which inherit all of their modes for the global state
+<DL><DT><DD></DL><P>
+<A NAME="setMode">
+<A NAME="DOC.2.16.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setMode(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type, <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getMode">
+<A NAME="DOC.2.16.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> getMode(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setAttribute">
+<A NAME="DOC.2.16.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setAttribute(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type, <!1><A HREF="Object.html#DOC.2.36.1">Object</A> *attribute)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getAttribute">
+<A NAME="DOC.2.16.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Object.html#DOC.2.36.1">Object</A>* getAttribute(<!1><A HREF="GeoState.html#DOC.2.16.1">AttributeType</A> type) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isTransparent">
+<A NAME="DOC.2.16.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isTransparent()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.16.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.16.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply(<!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>* global, <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>* prev)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="check">
+<A NAME="DOC.2.16.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool check()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="combineMode">
+<A NAME="DOC.2.16.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> combineMode(const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> g, const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> p, const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> c)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mergeMode">
+<A NAME="DOC.2.16.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> mergeMode(const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> lhs, const <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> rhs)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~GeoState">
+<A NAME="DOC.2.16.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~GeoState()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="GeoState">
+<A NAME="DOC.2.16.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> GeoState(const <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.16.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>&amp; operator = (const <!1><A HREF="GeoState.html#DOC.2.16.5">GeoState</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.16.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.16.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchModeStr">
+<A NAME="DOC.2.16.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchModeStr(const char* str, <!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A>&amp; mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getModeStr">
+<A NAME="DOC.2.16.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getModeStr(<!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> flag)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_transparencing">
+<A NAME="DOC.2.16.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _transparencing</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_face_culling">
+<A NAME="DOC.2.16.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _face_culling</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_lighting">
+<A NAME="DOC.2.16.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _lighting</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_texturing">
+<A NAME="DOC.2.16.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _texturing</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fogging">
+<A NAME="DOC.2.16.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _fogging</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_texgening">
+<A NAME="DOC.2.16.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _texgening</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_antialiasing">
+<A NAME="DOC.2.16.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _antialiasing</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_colortable">
+<A NAME="DOC.2.16.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _colortable</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_pointSmoothing">
+<A NAME="DOC.2.16.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _pointSmoothing</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_polygonOffsetting">
+<A NAME="DOC.2.16.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _polygonOffsetting</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_alphaTesting">
+<A NAME="DOC.2.16.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html#DOC.2.16.2">AttributeMode</A> _alphaTesting</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_texture">
+<A NAME="DOC.2.16.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Texture.html">Texture</A>&gt;  _texture</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_texgen">
+<A NAME="DOC.2.16.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TexGen.html">TexGen</A>&gt;  _texgen</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_material">
+<A NAME="DOC.2.16.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Material.html">Material</A>&gt;  _material</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_texenv">
+<A NAME="DOC.2.16.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TexEnv.html">TexEnv</A>&gt;  _texenv</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_transparency">
+<A NAME="DOC.2.16.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Transparency.html">Transparency</A>&gt;  _transparency</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_texmat">
+<A NAME="DOC.2.16.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="TexMat.html">TexMat</A>&gt;  _texmat</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fog">
+<A NAME="DOC.2.16.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Fog.html">Fog</A>&gt;  _fog</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_point">
+<A NAME="DOC.2.16.45">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Point.html">Point</A>&gt;  _point</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_polygonOffset">
+<A NAME="DOC.2.16.46">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="PolygonOffset.html">PolygonOffset</A>&gt;  _polygonOffset</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_cullFace">
+<A NAME="DOC.2.16.47">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="CullFace.html">CullFace</A>&gt;  _cullFace</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_alphaFunc">
+<A NAME="DOC.2.16.48">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="AlphaFunc.html">AlphaFunc</A>&gt;  _alphaFunc</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/RegisterObjectProxy.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/RegisterObjectProxy.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/RegisterObjectProxy.html (revision 2)
@@ -0,0 +1,55 @@
+<HTML>
+<HEAD>
+   <TITLE>template<class T> class  osg::RegisterObjectProxy</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>template&lt;class T&gt; class  <A HREF="#DOC.DOCU">osg::RegisterObjectProxy</A></H2>
+<BLOCKQUOTE>Proxy class for automatic registration of reader/writers with the Registry</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.46.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>RegisterObjectProxy</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.46.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~RegisterObjectProxy</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.46.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>T* <B>_obj</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Proxy class for automatic registration of reader/writers with the
+Registry</BLOCKQUOTE>
+<DL>
+
+<A NAME="RegisterObjectProxy">
+<A NAME="DOC.2.46.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RegisterObjectProxy()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~RegisterObjectProxy">
+<A NAME="DOC.2.46.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~RegisterObjectProxy()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_obj">
+<A NAME="DOC.2.46.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T* _obj</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/CullFace.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/CullFace.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/CullFace.html (revision 2)
@@ -0,0 +1,193 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::CullFace</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::CullFace</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE>Class to globally enable/disable OpenGL's polygon culling mode (GL_CULL_FACE)</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CCullFace,MCullFace.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.6.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>Mode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.6.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>CullFace</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="CullFace.html#DOC.2.6.4">CullFace</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setMode</B>(<!1><A HREF="CullFace.html#DOC.2.6.1">Mode</A> mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>enable</B>()
+<DD><I>Enable the polygon culling mode</I>
+<DT>
+<A HREF="#DOC.2.6.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>disable</B>()
+<DD><I>Disable the polygon culling mode</I>
+<DT>
+<A HREF="#DOC.2.6.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.6.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="CullFace.html#DOC.2.6.1">Mode</A> <B>_mode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.6.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~CullFace</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.6.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Class to globally enable/disable OpenGL's polygon culling mode
+(GL_CULL_FACE)</BLOCKQUOTE>
+<DL>
+
+<A NAME="Mode">
+<A NAME="DOC.2.6.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  Mode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="FRONT">
+<A NAME="DOC.2.6.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FRONT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BACK">
+<A NAME="DOC.2.6.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BACK</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FRONT_AND_BACK">
+<A NAME="DOC.2.6.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FRONT_AND_BACK</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="CullFace">
+<A NAME="DOC.2.6.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CullFace()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.6.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="CullFace.html#DOC.2.6.4">CullFace</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.6.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.6.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.6.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setMode">
+<A NAME="DOC.2.6.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setMode(<!1><A HREF="CullFace.html#DOC.2.6.1">Mode</A> mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="enable">
+<A NAME="DOC.2.6.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void enable()</B></TT>
+<DD>Enable the polygon culling mode
+<DL><DT><DD></DL><P>
+<A NAME="disable">
+<A NAME="DOC.2.6.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void disable()</B></TT>
+<DD>Disable the polygon culling mode
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.6.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~CullFace">
+<A NAME="DOC.2.6.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~CullFace()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.6.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.6.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_mode">
+<A NAME="DOC.2.6.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="CullFace.html#DOC.2.6.1">Mode</A> _mode</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/LOD.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/LOD.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/LOD.html (revision 2)
@@ -0,0 +1,341 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::LOD</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::LOD</A>: public <!1><A HREF="Group.html#DOC.2.18.9">Group</A></H2>
+<BLOCKQUOTE>LOD - Level Of Detail group node which allows switching between children depending on distance from eye point.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,CLOD,MLOD.html">
+<param name=before value="M,M,M,M,M">
+<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M">
+<param name=indent value="0,1,2,3,4">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.23.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>LOD</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setRange</B>(unsigned int index, float range)
+<DD><I>Sets the value of range list element index to range which is a floating point distance specified in world coordinates.</I>
+<DT>
+<A HREF="#DOC.2.23.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getRange</B>(unsigned int index)
+<DD><I>pfLOD::getRange returns the range element index</I>
+<DT>
+<A HREF="#DOC.2.23.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumRanges</B>()
+<DD><I>returns the number of ranges currently set</I>
+<DT>
+<A HREF="#DOC.2.23.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCenter</B>(const <!1><A HREF="Vec3.html">Vec3</A> &amp;center)
+<DD><I>Sets the object-space point which defines the center of the osg::LOD.</I>
+<DT>
+<A HREF="#DOC.2.23.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getCenter</B>()
+<DD><I>return the LOD center point.</I>
+<DT>
+<A HREF="#DOC.2.23.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>evaluate</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; eye_local, float bias=1.0f)
+<DD><I>return the child to traverse.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.23.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="LOD.html#DOC.2.23.16">RangeList</A> <B>_rangeList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="LOD.html#DOC.2.23.16">RangeList</A> <B>_rangeList2</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_center</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.23.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~LOD</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.23.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected</H3><DD><DT>
+<A HREF="#DOC.2.23.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;float&gt;  <B>RangeList</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Group.html">Group</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>addChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>removeChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>replaceChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *origChild, <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* newChild )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumChildren</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>getChild</B>( int i )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>containsNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>ChildList::iterator <B>findNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html#DOC.2.30.1">Node</A>&gt; &gt;  <B>ChildList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Group.html#DOC.2.18.8">ChildList</A> <B>_children</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>computeBound</B>( void )
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const std::string&amp; name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const char* name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getName</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>getUserData</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getDescription</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string&amp; <B>getDescription</B>(int i)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>NodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>_bsphere_computed</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>friend <B>Group</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>LOD - Level Of Detail group node which allows switching between children
+depending on distance from eye point.
+Typical uses are for load balancing - objects further away from
+the eye point are rendered at a lower level of detail, and at times
+of high stress on the graphics pipeline lower levels of detail can
+also be chosen.</BLOCKQUOTE>
+<DL>
+
+<A NAME="LOD">
+<A NAME="DOC.2.23.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LOD()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.23.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.23.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.23.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.23.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="traverse">
+<A NAME="DOC.2.23.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void traverse(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setRange">
+<A NAME="DOC.2.23.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setRange(unsigned int index, float range)</B></TT>
+<DD>Sets the value of range list element index to range which
+is a floating point distance specified in world coordinates.
+Range list automatically expands to accomodate values beyond
+the current getNumRanges().
+<DL><DT><DD></DL><P>
+<A NAME="getRange">
+<A NAME="DOC.2.23.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getRange(unsigned int index)</B></TT>
+<DD>pfLOD::getRange returns the range element index
+<DL><DT><DD></DL><P>
+<A NAME="getNumRanges">
+<A NAME="DOC.2.23.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumRanges()</B></TT>
+<DD>returns the number of ranges currently set
+<DL><DT><DD></DL><P>
+<A NAME="setCenter">
+<A NAME="DOC.2.23.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCenter(const <!1><A HREF="Vec3.html">Vec3</A> &amp;center)</B></TT>
+<DD>Sets the object-space point which defines the center of the osg::LOD.  
+center is affected by any transforms in the hierarchy above the osg::LOD.
+<DL><DT><DD></DL><P>
+<A NAME="getCenter">
+<A NAME="DOC.2.23.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getCenter()</B></TT>
+<DD>return the LOD center point. 
+<DL><DT><DD></DL><P>
+<A NAME="evaluate">
+<A NAME="DOC.2.23.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int evaluate(const <!1><A HREF="Vec3.html">Vec3</A>&amp; eye_local, float bias=1.0f)</B></TT>
+<DD>return the child to traverse.
+Selected by the distance between the eye point in local
+coordinates and the LOD center, mutliplied by the bias.
+<DL><DT><DD></DL><P>
+<A NAME="~LOD">
+<A NAME="DOC.2.23.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~LOD()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.23.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.23.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="RangeList">
+<A NAME="DOC.2.23.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;float&gt;  RangeList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_rangeList">
+<A NAME="DOC.2.23.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.23.16">RangeList</A> _rangeList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_rangeList2">
+<A NAME="DOC.2.23.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="LOD.html#DOC.2.23.16">RangeList</A> _rangeList2</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_center">
+<A NAME="DOC.2.23.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _center</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/IntersectVisitor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/IntersectVisitor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/IntersectVisitor.html (revision 2)
@@ -0,0 +1,309 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::IntersectVisitor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::IntersectVisitor</A>: public <!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A></H2>
+<BLOCKQUOTE>Basic visitor for ray based collisions of a scene.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CNodeVisitor,MNodeVisitor.html,CIntersectVisitor,MIntersectVisitor.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>
+<A HREF="#DOC.2.20.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>HitReportingMode</B>
+<DD><I>Modes to control how IntersectVisitor reports hits.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.20.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>IntersectVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~IntersectVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>reset</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>addSeg</B>(<!1><A HREF="Seg.html">Seg</A>* seg)
+<DD><I>Add a line segment to use for intersection testing during scene traversal</I>
+<DT>
+<A HREF="#DOC.2.20.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setHitReportingMode</B>(<!1><A HREF="IntersectVisitor.html#DOC.2.20.2">HitReportingMode</A> hrm)
+<DD><I>Set the mode of how hits should reported back from a traversal</I>
+<DT>
+<A HREF="#DOC.2.20.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.20.2">HitReportingMode</A> <B>getHitReportingMode</B>()
+<DD><I>Get the mode of how hits should reported back from a traversal</I>
+<DT>
+<A HREF="#DOC.2.20.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.20.8">HitList</A>&amp; <B>getHitList</B>(<!1><A HREF="Seg.html">Seg</A>* seg)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumHits</B>(<!1><A HREF="Seg.html">Seg</A>* seg)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>hits</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Node.html">Node</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Geode.html">Geode</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Group.html">Group</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="DCS.html">DCS</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Switch.html">Switch</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="LOD.html">LOD</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Scene.html">Scene</A>&amp; node)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.20.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::multiset&lt;<!1><A HREF="Hit.html">Hit</A>&gt;  <B>HitList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::map&lt;<!1><A HREF="Seg.html">Seg</A>*,<!1><A HREF="IntersectVisitor.html#DOC.2.20.8">HitList</A> &gt;  <B>SegHitListMap</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.20.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.20.26">IntersectStateStack</A> <B>_intersectStateStack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodePath.html">NodePath</A> <B>_nodePath</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.20.2">HitReportingMode</A> <B>_hitReportingMode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="IntersectVisitor.html#DOC.2.20.9">SegHitListMap</A> <B>_segHitList</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.20.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>intersect</B>(<!1><A HREF="GeoSet.html">GeoSet</A>&amp; gset)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>pushMatrix</B>(const <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>popMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>enterNode</B>(<!1><A HREF="Node.html">Node</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.20.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>leaveNode</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected</H3><DD><DT>
+<A HREF="#DOC.2.20.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="IntersectState.html">IntersectState</A>*&gt;  <B>IntersectStateStack</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="NodeVisitor.html">NodeVisitor</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>enum  <B>TraversalMode</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setTraverseMode</B>(<!1><A HREF="NodeVisitor.html#DOC.2.28.1">TraversalMode</A> mode)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.1">TraversalMode</A> <B>getTraverseMode</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setTraverseVisitor</B>(<!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A>* nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A>* <B>getTraverseVisitor</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>traverse</B>(<!1><A HREF="Node.html">Node</A>&amp; node)
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A>* <B>_traverseVisitor</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.1">TraversalMode</A> <B>_traverseMode</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Basic visitor for ray based collisions of a scene.
+Note, still in development, current version has not
+pratical functionality!</BLOCKQUOTE>
+<DL>
+
+<A NAME="IntersectVisitor">
+<A NAME="DOC.2.20.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> IntersectVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~IntersectVisitor">
+<A NAME="DOC.2.20.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~IntersectVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="reset">
+<A NAME="DOC.2.20.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="addSeg">
+<A NAME="DOC.2.20.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addSeg(<!1><A HREF="Seg.html">Seg</A>* seg)</B></TT>
+<DD>Add a line segment to use for intersection testing during scene traversal
+<DL><DT><DD></DL><P>
+<A NAME="HitReportingMode">
+<A NAME="DOC.2.20.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  HitReportingMode</B></TT>
+<DD>Modes to control how IntersectVisitor reports hits. 
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="ONLY_NEAREST_HIT">
+<A NAME="DOC.2.20.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONLY_NEAREST_HIT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ALL_HITS">
+<A NAME="DOC.2.20.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALL_HITS</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setHitReportingMode">
+<A NAME="DOC.2.20.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setHitReportingMode(<!1><A HREF="IntersectVisitor.html#DOC.2.20.2">HitReportingMode</A> hrm)</B></TT>
+<DD>Set the mode of how hits should reported back from a traversal
+<DL><DT><DD></DL><P>
+<A NAME="getHitReportingMode">
+<A NAME="DOC.2.20.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.20.2">HitReportingMode</A> getHitReportingMode()</B></TT>
+<DD>Get the mode of how hits should reported back from a traversal
+<DL><DT><DD></DL><P>
+<A NAME="HitList">
+<A NAME="DOC.2.20.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::multiset&lt;<!1><A HREF="Hit.html">Hit</A>&gt;  HitList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SegHitListMap">
+<A NAME="DOC.2.20.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;<!1><A HREF="Seg.html">Seg</A>*,<!1><A HREF="IntersectVisitor.html#DOC.2.20.8">HitList</A> &gt;  SegHitListMap</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getHitList">
+<A NAME="DOC.2.20.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.20.8">HitList</A>&amp; getHitList(<!1><A HREF="Seg.html">Seg</A>* seg)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNumHits">
+<A NAME="DOC.2.20.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumHits(<!1><A HREF="Seg.html">Seg</A>* seg)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="hits">
+<A NAME="DOC.2.20.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool hits()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Node.html">Node</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Geode.html">Geode</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Group.html">Group</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="DCS.html">DCS</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Switch.html">Switch</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="LOD.html">LOD</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.20.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Scene.html">Scene</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="intersect">
+<A NAME="DOC.2.20.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool intersect(<!1><A HREF="GeoSet.html">GeoSet</A>&amp; gset)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="pushMatrix">
+<A NAME="DOC.2.20.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void pushMatrix(const <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="popMatrix">
+<A NAME="DOC.2.20.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void popMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="enterNode">
+<A NAME="DOC.2.20.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool enterNode(<!1><A HREF="Node.html">Node</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="leaveNode">
+<A NAME="DOC.2.20.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void leaveNode()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="IntersectStateStack">
+<A NAME="DOC.2.20.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="IntersectState.html">IntersectState</A>*&gt;  IntersectStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_intersectStateStack">
+<A NAME="DOC.2.20.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.20.26">IntersectStateStack</A> _intersectStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_nodePath">
+<A NAME="DOC.2.20.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodePath.html">NodePath</A> _nodePath</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_hitReportingMode">
+<A NAME="DOC.2.20.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.20.2">HitReportingMode</A> _hitReportingMode</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_segHitList">
+<A NAME="DOC.2.20.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="IntersectVisitor.html#DOC.2.20.9">SegHitListMap</A> _segHitList</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/RP.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/RP.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/RP.html (revision 2)
@@ -0,0 +1,86 @@
+<HTML>
+<HEAD>
+   <TITLE>template<class T> class  osg::RP</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>template&lt;class T&gt; class  <A HREF="#DOC.DOCU">osg::RP</A></H2>
+<BLOCKQUOTE>Smart pointer for handling referenced counted objects</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.32.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>RP</B>(T* t=0)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>RP</B>(const <!1><A HREF="RP.html#DOC.2.32.1">RP</A>&amp; rp)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~RP</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RP.html#DOC.2.32.1">RP</A>&amp; <B>operator = </B>(const <!1><A HREF="RP.html#DOC.2.32.1">RP</A>&amp; rp)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>T&amp; <B>operator*</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>T* <B>operator-></B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>operator!</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>T* <B>get</B>() const 
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Smart pointer for handling referenced counted objects</BLOCKQUOTE>
+<DL>
+
+<A NAME="RP">
+<A NAME="DOC.2.32.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RP(T* t=0)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="RP">
+<A NAME="DOC.2.32.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RP(const <!1><A HREF="RP.html#DOC.2.32.1">RP</A>&amp; rp)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~RP">
+<A NAME="DOC.2.32.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~RP()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.32.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RP.html#DOC.2.32.1">RP</A>&amp; operator = (const <!1><A HREF="RP.html#DOC.2.32.1">RP</A>&amp; rp)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator*">
+<A NAME="DOC.2.32.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T&amp; operator*() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator->">
+<A NAME="DOC.2.32.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T* operator->() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator!">
+<A NAME="DOC.2.32.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator!() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="get">
+<A NAME="DOC.2.32.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T* get() const </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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/createGeodeForImage.2.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/createGeodeForImage.2.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/createGeodeForImage.2.html (revision 2)
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+   <TITLE>SG_EXPORT extern Geode* osg::createGeodeForImage</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>SG_EXPORT extern <!1><A HREF="Geode.html">Geode</A>* <A HREF="#DOC.DOCU">osg::createGeodeForImage</A>(<!1><A HREF="Image.html">Image</A>* image, float s, float t)</H2>
+<BLOCKQUOTE>Convinience function to be used by images loaders to generate a valid geode  to return for readNode().</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Convinience function to be used by images loaders to generate a valid geode  to return for readNode().  
+Use the specified s and t values scale the dimensions of the image.</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/ExtensionSupported.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/ExtensionSupported.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/ExtensionSupported.html (revision 2)
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+   <TITLE>SG_EXPORT extern bool osg::ExtensionSupported</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>SG_EXPORT extern bool <A HREF="#DOC.DOCU">osg::ExtensionSupported</A>(const char *extension)</H2>
+<BLOCKQUOTE>return true if OpenGL "extension" is supported.</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>return true if OpenGL "extension" is supported.
+note: Must only called within a valid OpenGL context,
+undefined behaviour may occur otherwise.</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Camera.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Camera.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Camera.html (revision 2)
@@ -0,0 +1,260 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Camera</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Camera</A>: public <!1><A HREF="Referenced.html">osg::Referenced</A></H2>
+<BLOCKQUOTE>Camera class for encapsulating the view position and orientation.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CReferenced,MReferenced.html,CCamera,MCamera.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 Methods</H3><DD><DT>
+<A HREF="#DOC.2.5.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Camera</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Camera</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setFieldOfView</B>(double fovy, double aspectRatio)
+<DD><I> Set field of view and window aspect ratio.</I>
+<DT>
+<A HREF="#DOC.2.5.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setFieldOfViewY</B>(double fovy)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>getFieldOfViewY</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setAspectRatio</B>(double aspectRatio)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>getAspectRatio</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.5.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>home</B>()
+<DD><I> hardwired home view for now, looking straight down the Z axis at the origin, with 'up' being the y axis</I>
+<DT>
+<A HREF="#DOC.2.5.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setView</B>(<!1><A HREF="Vec3.html">Vec3</A> eyePoint, <!1><A HREF="Vec3.html">Vec3</A> lookPoint, <!1><A HREF="Vec3.html">Vec3</A> upVector)
+<DD><I> Set the View, the up vector should be orthogonal to the look vector</I>
+<DT>
+<A HREF="#DOC.2.5.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getEyePoint</B>() const 
+<DD><I>get the eyepoint.</I>
+<DT>
+<A HREF="#DOC.2.5.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getLookPoint</B>() const 
+<DD><I>get the lookpoint.</I>
+<DT>
+<A HREF="#DOC.2.5.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getUpVector</B>() const 
+<DD><I>which way is up?</I>
+<DT>
+<A HREF="#DOC.2.5.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>getSideVector</B>() const 
+<DD><I>calculate side vector</I>
+<DT>
+<A HREF="#DOC.2.5.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>getLookVector</B>() const 
+<DD><I>calculate look vector</I>
+<DT>
+<A HREF="#DOC.2.5.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getFocalDistance</B>() const 
+<DD><I>calculate focal distance</I>
+<DT>
+<A HREF="#DOC.2.5.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNearPlane</B>(double nearPlane)
+<DD><I>set the near plane.</I>
+<DT>
+<A HREF="#DOC.2.5.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>getNearPlane</B>() const 
+<DD><I>get the near plane.</I>
+<DT>
+<A HREF="#DOC.2.5.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setFarPlane</B>(double farPlane)
+<DD><I>set the far plane.</I>
+<DT>
+<A HREF="#DOC.2.5.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>getFarPlane</B>() const 
+<DD><I>get the far plane.</I>
+<DT>
+<A HREF="#DOC.2.5.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>draw_PROJECTION</B>() const 
+<DD><I>Set up the OpenGL GL_PROJECTION matrix.</I>
+<DT>
+<A HREF="#DOC.2.5.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>draw_MODELVIEW</B>() const 
+<DD><I>Set up the OpenGL GL_MODELVIEW matrix.</I>
+<DT>
+<A HREF="#DOC.2.5.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>mult</B>(const <!1><A HREF="Camera.html#DOC.2.5.18">Camera</A>&amp; camera, const <!1><A HREF="Matrix.html">Matrix</A>&amp; m)
+<DD><I>post multiply a camera by matrix</I>
+<DT>
+<A HREF="#DOC.2.5.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>mult</B>(const <!1><A HREF="Matrix.html">Matrix</A>&amp; m, const <!1><A HREF="Camera.html#DOC.2.5.18">Camera</A>&amp; camera)
+<DD><I>pre multiply a camera by matrix</I>
+<DT>
+<A HREF="#DOC.2.5.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>ensureOrthogonalUpVector</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Camera class for encapsulating the view position and orientation.
+This is the first implementation of osg::Camera class and
+currently is a perspective camera, but in future will be
+a base class from which PerpsectivCamera,FrustumCamera and OrthoCamera
+will be derived.</BLOCKQUOTE>
+<DL>
+
+<A NAME="Camera">
+<A NAME="DOC.2.5.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Camera()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Camera">
+<A NAME="DOC.2.5.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Camera()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setFieldOfView">
+<A NAME="DOC.2.5.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFieldOfView(double fovy, double aspectRatio)</B></TT>
+<DD>
+Set field of view and window aspect ratio.
+The parameters have the same meaning as their counterparts
+in gluPerspective(fovy,aspectRatio
+<DL><DT><DD></DL><P>
+<A NAME="setFieldOfViewY">
+<A NAME="DOC.2.5.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFieldOfViewY(double fovy)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getFieldOfViewY">
+<A NAME="DOC.2.5.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double getFieldOfViewY() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setAspectRatio">
+<A NAME="DOC.2.5.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setAspectRatio(double aspectRatio)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getAspectRatio">
+<A NAME="DOC.2.5.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double getAspectRatio() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="home">
+<A NAME="DOC.2.5.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void home()</B></TT>
+<DD>
+hardwired home view for now, looking straight down the
+Z axis at the origin, with 'up' being the y axis
+<DL><DT><DD></DL><P>
+<A NAME="setView">
+<A NAME="DOC.2.5.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setView(<!1><A HREF="Vec3.html">Vec3</A> eyePoint, <!1><A HREF="Vec3.html">Vec3</A> lookPoint, <!1><A HREF="Vec3.html">Vec3</A> upVector)</B></TT>
+<DD>
+Set the View, the up vector should be orthogonal to the
+look vector
+<DL><DT><DD></DL><P>
+<A NAME="getEyePoint">
+<A NAME="DOC.2.5.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getEyePoint() const </B></TT>
+<DD>get the eyepoint. 
+<DL><DT><DD></DL><P>
+<A NAME="getLookPoint">
+<A NAME="DOC.2.5.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getLookPoint() const </B></TT>
+<DD>get the lookpoint. 
+<DL><DT><DD></DL><P>
+<A NAME="getUpVector">
+<A NAME="DOC.2.5.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getUpVector() const </B></TT>
+<DD>which way is up? 
+<DL><DT><DD></DL><P>
+<A NAME="getSideVector">
+<A NAME="DOC.2.5.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> getSideVector() const </B></TT>
+<DD>calculate side vector
+<DL><DT><DD></DL><P>
+<A NAME="getLookVector">
+<A NAME="DOC.2.5.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> getLookVector() const </B></TT>
+<DD>calculate look vector
+<DL><DT><DD></DL><P>
+<A NAME="getFocalDistance">
+<A NAME="DOC.2.5.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getFocalDistance() const </B></TT>
+<DD>calculate focal distance
+<DL><DT><DD></DL><P>
+<A NAME="setNearPlane">
+<A NAME="DOC.2.5.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNearPlane(double nearPlane)</B></TT>
+<DD>set the near plane. 
+<DL><DT><DD></DL><P>
+<A NAME="getNearPlane">
+<A NAME="DOC.2.5.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double getNearPlane() const </B></TT>
+<DD>get the near plane. 
+<DL><DT><DD></DL><P>
+<A NAME="setFarPlane">
+<A NAME="DOC.2.5.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFarPlane(double farPlane)</B></TT>
+<DD>set the far plane. 
+<DL><DT><DD></DL><P>
+<A NAME="getFarPlane">
+<A NAME="DOC.2.5.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double getFarPlane() const </B></TT>
+<DD>get the far plane. 
+<DL><DT><DD></DL><P>
+<A NAME="draw_PROJECTION">
+<A NAME="DOC.2.5.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void draw_PROJECTION() const </B></TT>
+<DD>Set up the OpenGL GL_PROJECTION matrix. 
+Enters the GL_PROJECTION mode, sets up matrix, then
+resets model GL_MODELVIEW, which is by OpenGL convention the default.
+<DL><DT><DD></DL><P>
+<A NAME="draw_MODELVIEW">
+<A NAME="DOC.2.5.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void draw_MODELVIEW() const </B></TT>
+<DD>Set up the OpenGL GL_MODELVIEW matrix. 
+Enters the GL_MODELVIEW mode, sets matrix to identity
+and then sets matrix up according to camera, eye point, center
+point and upvector.
+<DL><DT><DD></DL><P>
+<A NAME="mult">
+<A NAME="DOC.2.5.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void mult(const <!1><A HREF="Camera.html#DOC.2.5.18">Camera</A>&amp; camera, const <!1><A HREF="Matrix.html">Matrix</A>&amp; m)</B></TT>
+<DD>post multiply a camera by matrix
+<DL><DT><DD></DL><P>
+<A NAME="mult">
+<A NAME="DOC.2.5.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void mult(const <!1><A HREF="Matrix.html">Matrix</A>&amp; m, const <!1><A HREF="Camera.html#DOC.2.5.18">Camera</A>&amp; camera)</B></TT>
+<DD>pre multiply a camera by matrix
+<DL><DT><DD></DL><P>
+<A NAME="ensureOrthogonalUpVector">
+<A NAME="DOC.2.5.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void ensureOrthogonalUpVector()</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/HIERjava.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/HIERjava.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/HIERjava.html (revision 2)
@@ -0,0 +1,146 @@
+<HTML>
+<HEAD>
+   <TITLE>Hierarchy of Classes</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+<H1>Hierarchy of classes</H1>
+<UL>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CBoundingBox,MBoundingBox.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CBoundingSphere,MBoundingSphere.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CField,MField.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CFieldReader,MFieldReader.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CFieldReaderIterator,MFieldReaderIterator.html,CInput,MInput.html">
+<param name=before value="M,M^_">
+<param name=after value="M,M">
+<param name=indent value="0,0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CLighting,MLighting.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CNotifyInit,MNotifyInit.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mofstream,M,COutput,MOutput.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>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CQuat,MQuat.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=1025>
+<param name=classes value="CReferenced,MReferenced.html,CSeg,MSeg.html,CReaderWriter,MReaderWriter.html,CObject,MObject.html,CTransparency,MTransparency.html,CTexture,MTexture.html,CTexGen,MTexGen.html,CTexEnv,MTexEnv.html,CPolygonOffset,MPolygonOffset.html,CPoint,MPoint.html,CNode,MNode.html,CLightSource,MLightSource.html,CGroup,MGroup.html,CSwitch,MSwitch.html,CSequence,MSequence.html,CScene,MScene.html,CLOD,MLOD.html,CDCS,MDCS.html,CGeode,MGeode.html,CBillboard,MBillboard.html,CMatrix,MMatrix.html,CTexMat,MTexMat.html,CMaterial,MMaterial.html,CLight,MLight.html,CImage,MImage.html,CGeoState,MGeoState.html,CGeoSet,MGeoSet.html,CFog,MFog.html,CCullFace,MCullFace.html,CAlphaFunc,MAlphaFunc.html,CNodeVisitor,MNodeVisitor.html,CMemoryAdapter,MMemoryAdapter.html,CDynamicLibrary,MDynamicLibrary.html,CCamera,MCamera.html">
+<param name=before value="M,M|_,MR_,MR_,M|||_,M||R_,M||R_,M||R_,M||R_,M||R_,M||R_,M|||||_,M||||R_,M|||||||_,M||||||R_,M||||||R_,M||||||R_,M||||||r_,M||||r_,M||||SP^_,M||R_,M||||^_,M||R_,M||R_,M||R_,M||R_,M||R_,M||R_,M||R_,M||r_,MR_,MR_,MR_,Mr_">
+<param name=after value="M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M">
+<param name=indent value="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CRegisterObjectProxy,MRegisterObjectProxy.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CRegisterReaderWriterProxy,MRegisterReaderWriterProxy.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CRegistry,MRegistry.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CState,MState.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CTimer,MTimer.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CVec2,MVec2.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CVec3,MVec3.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="CVec4,MVec4.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=35>
+<param name=classes value="Cref_ptr,Mref_ptr.html">
+<param name=before value="M">
+<param name=after value="M">
+<param name=indent value="0">
+<param name=arrowdir value="down">
+</APPLET>
+</UL>
+<I><A HREF="index.html"> alphabetic index</A></I><P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/for_each_triangle.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/for_each_triangle.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/for_each_triangle.html (revision 2)
@@ -0,0 +1,22 @@
+<HTML>
+<HEAD>
+   <TITLE>template<class T>  void osg::for_each_triangle</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>template&lt;class T&gt;  void <A HREF="#DOC.DOCU">osg::for_each_triangle</A>(<!1><A HREF="GeoSet.html">GeoSet</A>&amp; gset, T&amp; op)</H2>
+<BLOCKQUOTE>Template function for iterating through a GeoSet operating on triangles with templated functor.</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Template function for iterating through a GeoSet operating on triangles
+with templated functor. Function automatically decomposes quads and polygons
+into sub triangles which are passed onto functor.</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/ReaderWriter.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/ReaderWriter.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/ReaderWriter.html (revision 2)
@@ -0,0 +1,122 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::ReaderWriter</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::ReaderWriter</A>: public <!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A></H2>
+<BLOCKQUOTE>pure virtual base class for reading and writing of non native formats.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CReferenced,MReferenced.html,CReaderWriter,MReaderWriter.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 Methods</H3><DD><DT>
+<A HREF="#DOC.2.44.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~ReaderWriter</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>acceptsExtension</B>(const std::string&amp; )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html">Object</A>* <B>readObject</B>(const std::string&amp; )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Image.html">Image</A>* <B>readImage</B>(const std::string&amp; )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Node.html">Node</A>* <B>readNode</B>(const std::string&amp; )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeObject</B>(<!1><A HREF="Object.html">Object</A>&amp; , const std::string&amp; )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeImage</B>(<!1><A HREF="Image.html">Image</A>&amp; , const std::string&amp; )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.44.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeNode</B>(<!1><A HREF="Node.html">Node</A>&amp; , const std::string&amp; )
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>pure virtual base class for reading and writing of non native formats. </BLOCKQUOTE>
+<DL>
+
+<A NAME="~ReaderWriter">
+<A NAME="DOC.2.44.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~ReaderWriter()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.44.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="acceptsExtension">
+<A NAME="DOC.2.44.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool acceptsExtension(const std::string&amp; )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readObject">
+<A NAME="DOC.2.44.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html">Object</A>* readObject(const std::string&amp; )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readImage">
+<A NAME="DOC.2.44.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Image.html">Image</A>* readImage(const std::string&amp; )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readNode">
+<A NAME="DOC.2.44.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Node.html">Node</A>* readNode(const std::string&amp; )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeObject">
+<A NAME="DOC.2.44.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeObject(<!1><A HREF="Object.html">Object</A>&amp; , const std::string&amp; )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeImage">
+<A NAME="DOC.2.44.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeImage(<!1><A HREF="Image.html">Image</A>&amp; , const std::string&amp; )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeNode">
+<A NAME="DOC.2.44.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeNode(<!1><A HREF="Node.html">Node</A>&amp; , const std::string&amp; )</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Vec2.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Vec2.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Vec2.html (revision 2)
@@ -0,0 +1,241 @@
+<HTML>
+<HEAD>
+   <TITLE>class  osg::Vec2</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  <A HREF="#DOC.DOCU">osg::Vec2</A></H2>
+<BLOCKQUOTE>General purpose float pair, uses include representation of texture coordinates.</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<A HREF="#DOC.2.59.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_v</B>[2]
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.59.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Vec2</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Vec2</B>(float <!1><A HREF="Vec2.html#DOC.2.59.14">x</A>, float <!1><A HREF="Vec2.html#DOC.2.59.15">y</A>)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>operator == </B>(const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; v) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float* <B>ptr</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   const float* <B>ptr</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   void <B>set</B>( float <!1><A HREF="Vec2.html#DOC.2.59.14">x</A>, float <!1><A HREF="Vec2.html#DOC.2.59.15">y</A> )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float&amp; <B>operator [] </B>(int i)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>operator [] </B>(int i) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float&amp; <B>x</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float&amp; <B>y</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>x</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>y</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.59.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>operator * </B>(const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs) const 
+<DD><I>dot product</I>
+<DT>
+<A HREF="#DOC.2.59.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> <B>operator * </B>(const float&amp; rhs) const 
+<DD><I>multiply by scalar</I>
+<DT>
+<A HREF="#DOC.2.59.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; <B>operator *= </B>(const float&amp; rhs)
+<DD><I>unary multiply by scalar</I>
+<DT>
+<A HREF="#DOC.2.59.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> <B>operator / </B>(const float&amp; rhs) const 
+<DD><I>divide by scalar</I>
+<DT>
+<A HREF="#DOC.2.59.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; <B>operator /= </B>(const float&amp; rhs)
+<DD><I>unary divide by scalar</I>
+<DT>
+<A HREF="#DOC.2.59.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> <B>operator + </B>(const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs) const 
+<DD><I>binary vector add</I>
+<DT>
+<A HREF="#DOC.2.59.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; <B>operator += </B>(const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs)
+<DD><I>unary vector add.</I>
+<DT>
+<A HREF="#DOC.2.59.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> <B>operator - </B>(const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs) const 
+<DD><I>binary vector subract</I>
+<DT>
+<A HREF="#DOC.2.59.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; <B>operator -= </B>(const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs)
+<DD><I>unary vector subract</I>
+<DT>
+<A HREF="#DOC.2.59.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> <B>operator - </B>() const 
+<DD><I>negation operator.  Returns the negative of the Vec2</I>
+<DT>
+<A HREF="#DOC.2.59.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>length</B>() const 
+<DD><I>Length of the vector = sqrt( vec . vec )</I>
+<DT>
+<A HREF="#DOC.2.59.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>length2</B>( void ) const 
+<DD><I>Length squared of the vector = vec . vec</I>
+<DT>
+<A HREF="#DOC.2.59.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>normalize</B>()
+<DD><I>normalize the vector so that it has length unity returns the previous length of the vector</I>
+<DT>
+<A HREF="#DOC.2.59.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline  friend ostream&amp; <B>operator << </B>(ostream&amp; output, const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; vec)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>General purpose float pair, uses include representation of
+texture coordinates.
+No support yet added for float * Vec2 - is it necessary?
+Need to define a non-member non-friend operator*  etc.
+BTW:	     Vec2 * float is okay</BLOCKQUOTE>
+<DL>
+
+<A NAME="Vec2">
+<A NAME="DOC.2.59.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Vec2()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Vec2">
+<A NAME="DOC.2.59.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Vec2(float <!1><A HREF="Vec2.html#DOC.2.59.14">x</A>, float <!1><A HREF="Vec2.html#DOC.2.59.15">y</A>)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_v">
+<A NAME="DOC.2.59.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _v[2]</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator == ">
+<A NAME="DOC.2.59.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator == (const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; v) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ptr">
+<A NAME="DOC.2.59.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float* ptr()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ptr">
+<A NAME="DOC.2.59.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float* ptr() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="set">
+<A NAME="DOC.2.59.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void set( float <!1><A HREF="Vec2.html#DOC.2.59.14">x</A>, float <!1><A HREF="Vec2.html#DOC.2.59.15">y</A> )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator [] ">
+<A NAME="DOC.2.59.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; operator [] (int i)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator [] ">
+<A NAME="DOC.2.59.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float operator [] (int i) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="x">
+<A NAME="DOC.2.59.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; x()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="y">
+<A NAME="DOC.2.59.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; y()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="x">
+<A NAME="DOC.2.59.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float x() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="y">
+<A NAME="DOC.2.59.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float y() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.59.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float operator * (const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs) const </B></TT>
+<DD>dot product
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.59.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> operator * (const float&amp; rhs) const </B></TT>
+<DD>multiply by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator *= ">
+<A NAME="DOC.2.59.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; operator *= (const float&amp; rhs)</B></TT>
+<DD>unary multiply by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator / ">
+<A NAME="DOC.2.59.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> operator / (const float&amp; rhs) const </B></TT>
+<DD>divide by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator /= ">
+<A NAME="DOC.2.59.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; operator /= (const float&amp; rhs)</B></TT>
+<DD>unary divide by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator + ">
+<A NAME="DOC.2.59.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> operator + (const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs) const </B></TT>
+<DD>binary vector add
+<DL><DT><DD></DL><P>
+<A NAME="operator += ">
+<A NAME="DOC.2.59.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; operator += (const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs)</B></TT>
+<DD>unary vector add.  Slightly more efficient because no temporary
+intermediate object.
+<DL><DT><DD></DL><P>
+<A NAME="operator - ">
+<A NAME="DOC.2.59.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> operator - (const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs) const </B></TT>
+<DD>binary vector subract
+<DL><DT><DD></DL><P>
+<A NAME="operator -= ">
+<A NAME="DOC.2.59.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; operator -= (const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; rhs)</B></TT>
+<DD>unary vector subract
+<DL><DT><DD></DL><P>
+<A NAME="operator - ">
+<A NAME="DOC.2.59.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A> operator - () const </B></TT>
+<DD>negation operator.  Returns the negative of the Vec2
+<DL><DT><DD></DL><P>
+<A NAME="length">
+<A NAME="DOC.2.59.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float length() const </B></TT>
+<DD>Length of the vector = sqrt( vec . vec )
+<DL><DT><DD></DL><P>
+<A NAME="length2">
+<A NAME="DOC.2.59.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float length2( void ) const </B></TT>
+<DD>Length squared of the vector = vec . vec
+<DL><DT><DD></DL><P>
+<A NAME="normalize">
+<A NAME="DOC.2.59.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float normalize()</B></TT>
+<DD>normalize the vector so that it has length unity
+returns the previous length of the vector
+<DL><DT><DD></DL><P>
+<A NAME="operator << ">
+<A NAME="DOC.2.59.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline  friend ostream&amp; operator << (ostream&amp; output, const <!1><A HREF="Vec2.html#DOC.2.59.3">Vec2</A>&amp; vec)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Texture.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Texture.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Texture.html (revision 2)
@@ -0,0 +1,372 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Texture</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Texture</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE>Texture state class which encapsulates OpenGl texture functionality</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CTexture,MTexture.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.56.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>WrapParameter</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>WrapMode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>FilterParameter</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>FilterMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.56.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Texture</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Texture.html#DOC.2.56.14">Texture</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setImage</B>(<!1><A HREF="Image.html">Image</A>* image)
+<DD><I>Set the texture image.</I>
+<DT>
+<A HREF="#DOC.2.56.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Image.html">Image</A>* <B>getImage</B>() const 
+<DD><I>Get the texture image.</I>
+<DT>
+<A HREF="#DOC.2.56.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setWrap</B>(<!1><A HREF="Texture.html#DOC.2.56.3">WrapParameter</A> which, <!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> wrap)
+<DD><I>Set the texture wrap mode</I>
+<DT>
+<A HREF="#DOC.2.56.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> <B>getWrap</B>(<!1><A HREF="Texture.html#DOC.2.56.3">WrapParameter</A> which) const 
+<DD><I>Get the texture wrap mode</I>
+<DT>
+<A HREF="#DOC.2.56.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setFilter</B>(<!1><A HREF="Texture.html#DOC.2.56.7">FilterParameter</A> which, <!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> filter)
+<DD><I>Set the texture filter mode</I>
+<DT>
+<A HREF="#DOC.2.56.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> <B>getFilter</B>(<!1><A HREF="Texture.html#DOC.2.56.7">FilterParameter</A> which) const 
+<DD><I>Get the texture filter mode</I>
+<DT>
+<A HREF="#DOC.2.56.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>enable</B>( void )
+<DD><I>Enable OpenGL texturing</I>
+<DT>
+<A HREF="#DOC.2.56.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>disable</B>( void )
+<DD><I>Disable OpenGL texturing</I>
+<DT>
+<A HREF="#DOC.2.56.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I>On first apply, create the minmapped texture and bind it, subsequent apply will simple bind to texture</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.56.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="osg.html#DOC.2.89">uint</A> <B>_handle</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Image.html">Image</A>&gt;  <B>_image</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> <B>_wrap_s</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> <B>_wrap_t</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> <B>_wrap_r</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> <B>_min_filter</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> <B>_mag_filter</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.56.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Texture</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchWrapStr</B>(const char* str, <!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A>&amp; wrap)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getWrapStr</B>(<!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> wrap)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchFilterStr</B>(const char* str, <!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A>&amp; filter)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.56.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getFilterStr</B>(<!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> filter)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Texture state class which encapsulates OpenGl texture functionality</BLOCKQUOTE>
+<DL>
+
+<A NAME="Texture">
+<A NAME="DOC.2.56.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Texture()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.56.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Texture.html#DOC.2.56.14">Texture</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.56.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.56.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.56.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setImage">
+<A NAME="DOC.2.56.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setImage(<!1><A HREF="Image.html">Image</A>* image)</B></TT>
+<DD>Set the texture image. 
+<DL><DT><DD></DL><P>
+<A NAME="getImage">
+<A NAME="DOC.2.56.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html">Image</A>* getImage() const </B></TT>
+<DD>Get the texture image. 
+<DL><DT><DD></DL><P>
+<A NAME="WrapParameter">
+<A NAME="DOC.2.56.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  WrapParameter</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="WRAP_S">
+<A NAME="DOC.2.56.3.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_S</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="WRAP_T">
+<A NAME="DOC.2.56.3.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_T</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="WRAP_R">
+<A NAME="DOC.2.56.3.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WRAP_R</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="WrapMode">
+<A NAME="DOC.2.56.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  WrapMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="CLAMP">
+<A NAME="DOC.2.56.4.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> CLAMP</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="REPEAT">
+<A NAME="DOC.2.56.4.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> REPEAT</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setWrap">
+<A NAME="DOC.2.56.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setWrap(<!1><A HREF="Texture.html#DOC.2.56.3">WrapParameter</A> which, <!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> wrap)</B></TT>
+<DD>Set the texture wrap mode
+<DL><DT><DD></DL><P>
+<A NAME="getWrap">
+<A NAME="DOC.2.56.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> getWrap(<!1><A HREF="Texture.html#DOC.2.56.3">WrapParameter</A> which) const </B></TT>
+<DD>Get the texture wrap mode
+<DL><DT><DD></DL><P>
+<A NAME="FilterParameter">
+<A NAME="DOC.2.56.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  FilterParameter</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="MIN_FILTER">
+<A NAME="DOC.2.56.7.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MIN_FILTER</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MAG_FILTER">
+<A NAME="DOC.2.56.7.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MAG_FILTER</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="FilterMode">
+<A NAME="DOC.2.56.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  FilterMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="LINEAR">
+<A NAME="DOC.2.56.8.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LINEAR_MIPMAP_LINEAR">
+<A NAME="DOC.2.56.8.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR_MIPMAP_LINEAR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="LINEAR_MIPMAP_NEAREST">
+<A NAME="DOC.2.56.8.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LINEAR_MIPMAP_NEAREST</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NEAREST">
+<A NAME="DOC.2.56.8.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NEAREST_MIPMAP_LINEAR">
+<A NAME="DOC.2.56.8.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST_MIPMAP_LINEAR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NEAREST_MIPMAP_NEAREST">
+<A NAME="DOC.2.56.8.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NEAREST_MIPMAP_NEAREST</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setFilter">
+<A NAME="DOC.2.56.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFilter(<!1><A HREF="Texture.html#DOC.2.56.7">FilterParameter</A> which, <!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> filter)</B></TT>
+<DD>Set the texture filter mode
+<DL><DT><DD></DL><P>
+<A NAME="getFilter">
+<A NAME="DOC.2.56.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> getFilter(<!1><A HREF="Texture.html#DOC.2.56.7">FilterParameter</A> which) const </B></TT>
+<DD>Get the texture filter mode
+<DL><DT><DD></DL><P>
+<A NAME="enable">
+<A NAME="DOC.2.56.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void enable( void )</B></TT>
+<DD>Enable OpenGL texturing
+<DL><DT><DD></DL><P>
+<A NAME="disable">
+<A NAME="DOC.2.56.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void disable( void )</B></TT>
+<DD>Disable OpenGL texturing
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.56.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DD>On first apply, create the minmapped texture and bind it,
+subsequent apply will simple bind to texture
+<DL><DT><DD></DL><P>
+<A NAME="~Texture">
+<A NAME="DOC.2.56.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Texture()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.56.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.56.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_handle">
+<A NAME="DOC.2.56.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.89">uint</A> _handle</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_image">
+<A NAME="DOC.2.56.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Image.html">Image</A>&gt;  _image</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchWrapStr">
+<A NAME="DOC.2.56.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchWrapStr(const char* str, <!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A>&amp; wrap)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getWrapStr">
+<A NAME="DOC.2.56.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getWrapStr(<!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> wrap)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchFilterStr">
+<A NAME="DOC.2.56.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchFilterStr(const char* str, <!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A>&amp; filter)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getFilterStr">
+<A NAME="DOC.2.56.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getFilterStr(<!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> filter)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_wrap_s">
+<A NAME="DOC.2.56.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> _wrap_s</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_wrap_t">
+<A NAME="DOC.2.56.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> _wrap_t</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_wrap_r">
+<A NAME="DOC.2.56.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.56.4">WrapMode</A> _wrap_r</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_min_filter">
+<A NAME="DOC.2.56.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> _min_filter</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_mag_filter">
+<A NAME="DOC.2.56.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Texture.html#DOC.2.56.8">FilterMode</A> _mag_filter</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Output.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Output.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Output.html (revision 2)
@@ -0,0 +1,211 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Output</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Output</A>: public ofstream</H2>
+<BLOCKQUOTE>ofstream wrapper class for adding support for indenting.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="Mofstream,M,COutput,MOutput.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 Methods</H3><DD><DT>
+<A HREF="#DOC.2.37.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Output</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Output</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp; <B>indent</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getIndentStep</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setIndentStep</B>(int step)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getIndent</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setIndent</B>(int <!1><A HREF="Output.html#DOC.2.37.3">indent</A>)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumIndicesPerLine</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNumIndicesPerLine</B>(int num)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>moveIn</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>moveOut</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getUniqueIDForObject</B>(<!1><A HREF="Object.html">Object</A>* obj, std::string&amp; uniqueID)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>createUniqueIDForObject</B>(<!1><A HREF="Object.html">Object</A>* obj, std::string&amp; uniqueID)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>registerUniqueIDForObject</B>(<!1><A HREF="Object.html">Object</A>* obj, std::string&amp; uniqueID)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.37.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_indent</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_indentStep</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_numIndicesPerLine</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Output.html#DOC.2.37.22">UniqueIDToLabelMapping</A> <B>_objectToUniqueIDMap</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.37.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Output</B>(const <!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp; <B>operator = </B>(const <!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>_init</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.37.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>_free</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected</H3><DD><DT>
+<A HREF="#DOC.2.37.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::map&lt;<!1><A HREF="Object.html">Object</A>*,std::string&gt;  <B>UniqueIDToLabelMapping</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>ofstream wrapper class for adding support for indenting.
+Used in output of .osg ASCII files to improve their readability.</BLOCKQUOTE>
+<DL>
+
+<A NAME="Output">
+<A NAME="DOC.2.37.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Output()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Output">
+<A NAME="DOC.2.37.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Output()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="indent">
+<A NAME="DOC.2.37.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp; indent()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getIndentStep">
+<A NAME="DOC.2.37.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getIndentStep() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setIndentStep">
+<A NAME="DOC.2.37.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setIndentStep(int step)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getIndent">
+<A NAME="DOC.2.37.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getIndent() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setIndent">
+<A NAME="DOC.2.37.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setIndent(int <!1><A HREF="Output.html#DOC.2.37.3">indent</A>)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getNumIndicesPerLine">
+<A NAME="DOC.2.37.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumIndicesPerLine() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNumIndicesPerLine">
+<A NAME="DOC.2.37.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNumIndicesPerLine(int num)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="moveIn">
+<A NAME="DOC.2.37.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void moveIn()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="moveOut">
+<A NAME="DOC.2.37.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void moveOut()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getUniqueIDForObject">
+<A NAME="DOC.2.37.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getUniqueIDForObject(<!1><A HREF="Object.html">Object</A>* obj, std::string&amp; uniqueID)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="createUniqueIDForObject">
+<A NAME="DOC.2.37.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool createUniqueIDForObject(<!1><A HREF="Object.html">Object</A>* obj, std::string&amp; uniqueID)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="registerUniqueIDForObject">
+<A NAME="DOC.2.37.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool registerUniqueIDForObject(<!1><A HREF="Object.html">Object</A>* obj, std::string&amp; uniqueID)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Output">
+<A NAME="DOC.2.37.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Output(const <!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.37.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp; operator = (const <!1><A HREF="Output.html#DOC.2.37.1">Output</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_init">
+<A NAME="DOC.2.37.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void _init()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_free">
+<A NAME="DOC.2.37.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void _free()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_indent">
+<A NAME="DOC.2.37.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _indent</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_indentStep">
+<A NAME="DOC.2.37.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _indentStep</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_numIndicesPerLine">
+<A NAME="DOC.2.37.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _numIndicesPerLine</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="UniqueIDToLabelMapping">
+<A NAME="DOC.2.37.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::map&lt;<!1><A HREF="Object.html">Object</A>*,std::string&gt;  UniqueIDToLabelMapping</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_objectToUniqueIDMap">
+<A NAME="DOC.2.37.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Output.html#DOC.2.37.22">UniqueIDToLabelMapping</A> _objectToUniqueIDMap</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/NodePath.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/NodePath.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/NodePath.html (revision 2)
@@ -0,0 +1,20 @@
+<HTML>
+<HEAD>
+   <TITLE>typedef  std::vector<Node*>  osg::NodePath</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>typedef  std::vector&lt;<!1><A HREF="Node.html">Node</A>*&gt;  <A HREF="#DOC.DOCU">osg::NodePath</A></H2>
+<BLOCKQUOTE>A vector of Nodes pointers which is used to describe the path from a root node to a descendant</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>A vector of Nodes pointers which is used to describe the path from a root node to a descendant</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/NotifySeverity.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/NotifySeverity.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/NotifySeverity.html (revision 2)
@@ -0,0 +1,72 @@
+<HTML>
+<HEAD>
+   <TITLE>enum  osg::NotifySeverity</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>enum  <A HREF="#DOC.DOCU">osg::NotifySeverity</A></H2>
+
+<HR>
+<P><DL>
+ <DT>
+<A HREF="#DOC.2.34.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>ALWAYS</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.34.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>FATAL</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.34.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>WARN</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.34.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>NOTICE</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.34.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>INFO</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.34.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>DEBUG</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.34.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>FP_DEBUG</B>
+<DD><I></I>
+</DL></P>
+
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="ALWAYS">
+<A NAME="DOC.2.34.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALWAYS</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FATAL">
+<A NAME="DOC.2.34.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FATAL</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="WARN">
+<A NAME="DOC.2.34.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> WARN</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="NOTICE">
+<A NAME="DOC.2.34.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NOTICE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="INFO">
+<A NAME="DOC.2.34.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> INFO</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="DEBUG">
+<A NAME="DOC.2.34.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DEBUG</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FP_DEBUG">
+<A NAME="DOC.2.34.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FP_DEBUG</B></TT>
+<DL><DT><DD></DL><P></DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/RegisterReaderWriterProxy.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/RegisterReaderWriterProxy.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/RegisterReaderWriterProxy.html (revision 2)
@@ -0,0 +1,55 @@
+<HTML>
+<HEAD>
+   <TITLE>template<class T> class  osg::RegisterReaderWriterProxy</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>template&lt;class T&gt; class  <A HREF="#DOC.DOCU">osg::RegisterReaderWriterProxy</A></H2>
+<BLOCKQUOTE>Proxy class for automatic registration of reader/writers with the Registry</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.47.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>RegisterReaderWriterProxy</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.47.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~RegisterReaderWriterProxy</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.47.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>T* <B>_rw</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Proxy class for automatic registration of reader/writers with the
+Registry</BLOCKQUOTE>
+<DL>
+
+<A NAME="RegisterReaderWriterProxy">
+<A NAME="DOC.2.47.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RegisterReaderWriterProxy()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~RegisterReaderWriterProxy">
+<A NAME="DOC.2.47.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~RegisterReaderWriterProxy()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_rw">
+<A NAME="DOC.2.47.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>T* _rw</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Registry.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Registry.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Registry.html (revision 2)
@@ -0,0 +1,175 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Registry</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Registry</A></H2>
+<BLOCKQUOTE> Registry is a singleton factory which stores the Objects types available at runtime for loading, and any Object reader or writers which are linked in at runtime for reading non-native file formats.</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.45.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~Registry</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Registry.html#DOC.2.45.5">Registry</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>addPrototype</B>(<!1><A HREF="Object.html">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>removePrototype</B>(<!1><A HREF="Object.html">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>addReaderWriter</B>(<!1><A HREF="ReaderWriter.html">ReaderWriter</A>* rw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>removeReaderWriter</B>(<!1><A HREF="ReaderWriter.html">ReaderWriter</A>* rw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>std::string <B>createLibraryNameForFile</B>(const std::string&amp; fileName)
+<DD><I>create the platform specific library name associated with file</I>
+<DT>
+<A HREF="#DOC.2.45.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>std::string <B>createLibraryNameForExt</B>(const std::string&amp; ext)
+<DD><I>create the platform specific library name associated with file extension</I>
+<DT>
+<A HREF="#DOC.2.45.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>loadLibrary</B>(const std::string&amp; fileName)
+<DD><I>find the library in the SG_LIBRARY_PATH and load it</I>
+<DT>
+<A HREF="#DOC.2.45.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>closeLibrary</B>(const std::string&amp; fileName)
+<DD><I>close the attached library with specified name</I>
+<DT>
+<A HREF="#DOC.2.45.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Object.html">Object</A>* <B>readObject</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Object.html">Object</A>* <B>readObject</B>(const std::string&amp; fileName)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>writeObject</B>(<!1><A HREF="Object.html">Object</A>&amp; obj, const std::string&amp; fileName)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Image.html">Image</A>* <B>readImage</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Image.html">Image</A>* <B>readImage</B>(const std::string&amp; fileName)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>writeImage</B>(<!1><A HREF="Image.html">Image</A>&amp; obj, const std::string&amp; fileName)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html">Node</A>* <B>readNode</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html">Node</A>* <B>readNode</B>(const std::string&amp; fileName)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.45.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>writeNode</B>(<!1><A HREF="Node.html">Node</A>&amp; node, const std::string&amp; fileName)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+Registry is a singleton factory which stores
+the Objects types available at runtime for loading,
+and any Object reader or writers which are linked in
+at runtime for reading non-native file formats.<P>The RegisterObjectProxy defined in Object.h can be
+used to automatically register at runtime a Object
+with the Registry.<P>The RegisterReaderWriterProxy defined in ReaderWriter.h can
+be used to automatically register at runtime a reader/writer
+with the Registry.</BLOCKQUOTE>
+<DL>
+
+<A NAME="~Registry">
+<A NAME="DOC.2.45.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~Registry()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.45.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Registry.html#DOC.2.45.5">Registry</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="addPrototype">
+<A NAME="DOC.2.45.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addPrototype(<!1><A HREF="Object.html">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="removePrototype">
+<A NAME="DOC.2.45.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void removePrototype(<!1><A HREF="Object.html">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="addReaderWriter">
+<A NAME="DOC.2.45.11">
+<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 NAME="DOC.2.45.12">
+<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 NAME="DOC.2.45.1">
+<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="createLibraryNameForExt">
+<A NAME="DOC.2.45.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string createLibraryNameForExt(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="loadLibrary">
+<A NAME="DOC.2.45.3">
+<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 NAME="DOC.2.45.4">
+<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="readObject">
+<A NAME="DOC.2.45.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Object.html">Object</A>* readObject(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readObject">
+<A NAME="DOC.2.45.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Object.html">Object</A>* readObject(const std::string&amp; fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeObject">
+<A NAME="DOC.2.45.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool writeObject(<!1><A HREF="Object.html">Object</A>&amp; obj, const std::string&amp; fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readImage">
+<A NAME="DOC.2.45.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html">Image</A>* readImage(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readImage">
+<A NAME="DOC.2.45.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Image.html">Image</A>* readImage(const std::string&amp; fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeImage">
+<A NAME="DOC.2.45.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool writeImage(<!1><A HREF="Image.html">Image</A>&amp; obj, const std::string&amp; fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readNode">
+<A NAME="DOC.2.45.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html">Node</A>* readNode(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readNode">
+<A NAME="DOC.2.45.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html">Node</A>* readNode(const std::string&amp; fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeNode">
+<A NAME="DOC.2.45.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool writeNode(<!1><A HREF="Node.html">Node</A>&amp; node, const std::string&amp; fileName)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/MemoryAdapter.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/MemoryAdapter.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/MemoryAdapter.html (revision 2)
@@ -0,0 +1,122 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::MemoryAdapter</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::MemoryAdapter</A>: public <!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A></H2>
+<BLOCKQUOTE>Class for adapting the memory management of external data.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CReferenced,MReferenced.html,CMemoryAdapter,MMemoryAdapter.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 Methods</H3><DD><DT>
+<A HREF="#DOC.2.29.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>MemoryAdapter</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.29.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>incrementReference</B>(void* )
+<DD><I>Increment the reference count of the userData</I>
+<DT>
+<A HREF="#DOC.2.29.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>decrementReference</B>(void* )
+<DD><I>Decrement the reference count of the userData.</I>
+<DT>
+<A HREF="#DOC.2.29.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void* <B>clone</B>(void* )
+<DD><I>not current used, but will be used in future</I>
+<DT>
+<A HREF="#DOC.2.29.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; , void* )
+<DD><I>not current used, but will be used in future</I>
+<DT>
+<A HREF="#DOC.2.29.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>read</B>(<!1><A HREF="Input.html">Input</A>&amp; , void* )
+<DD><I>not current used, but will be used in future</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.29.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~MemoryAdapter</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Class for adapting the memory management of external data.
+Typically used to specify the memory management of user data
+which can be attached to osg::Node.</BLOCKQUOTE>
+<DL>
+
+<A NAME="MemoryAdapter">
+<A NAME="DOC.2.29.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MemoryAdapter()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="incrementReference">
+<A NAME="DOC.2.29.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void incrementReference(void* )</B></TT>
+<DD>Increment the reference count of the userData
+<DL><DT><DD></DL><P>
+<A NAME="decrementReference">
+<A NAME="DOC.2.29.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void decrementReference(void* )</B></TT>
+<DD>Decrement the reference count of the userData.
+Is usually implemented such that if reference count 
+is decremented to zero the userData should be
+deleted.  However, this is entirely up to the
+discression of the user who is extending this base class.
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.29.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void* clone(void* )</B></TT>
+<DD>not current used, but will be used in future
+<DL><DT><DD></DL><P>
+<A NAME="write">
+<A NAME="DOC.2.29.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool write(<!1><A HREF="Output.html">Output</A>&amp; , void* )</B></TT>
+<DD>not current used, but will be used in future
+<DL><DT><DD></DL><P>
+<A NAME="read">
+<A NAME="DOC.2.29.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool read(<!1><A HREF="Input.html">Input</A>&amp; , void* )</B></TT>
+<DD>not current used, but will be used in future
+<DL><DT><DD></DL><P>
+<A NAME="~MemoryAdapter">
+<A NAME="DOC.2.29.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~MemoryAdapter()</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Quat.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Quat.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Quat.html (revision 2)
@@ -0,0 +1,286 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Quat</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Quat</A></H2>
+<BLOCKQUOTE>A quaternion class.</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<A HREF="#DOC.2.40.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_fv</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.40.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Quat</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Quat</B>( float x, float y, float z, float w )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Quat</B>( const <!1><A HREF="Vec4.html">Vec4</A>&amp; vec )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec4.html">Vec4</A> <B>asVec4</B>( void ) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html">Vec3</A> <B>asVec3</B>( void ) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>operator * </B>(const float&amp; rhs) const 
+<DD><I>Multiply by scalar </I>
+<DT>
+<A HREF="#DOC.2.40.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; <B>operator *= </B>(const float&amp; rhs)
+<DD><I>Unary multiply by scalar </I>
+<DT>
+<A HREF="#DOC.2.40.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>operator*</B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs) const 
+<DD><I>Binary multiply </I>
+<DT>
+<A HREF="#DOC.2.40.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; <B>operator*=</B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs)
+<DD><I>Unary multiply </I>
+<DT>
+<A HREF="#DOC.2.40.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>operator / </B>(const float&amp; rhs) const 
+<DD><I>Divide by scalar </I>
+<DT>
+<A HREF="#DOC.2.40.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; <B>operator /= </B>(const float&amp; rhs)
+<DD><I>Unary divide by scalar </I>
+<DT>
+<A HREF="#DOC.2.40.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>operator/</B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; denom) const 
+<DD><I>Binary divide </I>
+<DT>
+<A HREF="#DOC.2.40.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; <B>operator/=</B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; denom)
+<DD><I>Unary divide </I>
+<DT>
+<A HREF="#DOC.2.40.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>operator + </B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs) const 
+<DD><I>Binary addition </I>
+<DT>
+<A HREF="#DOC.2.40.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; <B>operator += </B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs)
+<DD><I>Unary addition</I>
+<DT>
+<A HREF="#DOC.2.40.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>operator - </B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs) const 
+<DD><I>Binary subtraction </I>
+<DT>
+<A HREF="#DOC.2.40.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; <B>operator -= </B>(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs)
+<DD><I>Unary subtraction </I>
+<DT>
+<A HREF="#DOC.2.40.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>operator - </B>() const 
+<DD><I>Negation operator - returns the negative of the quaternion.</I>
+<DT>
+<A HREF="#DOC.2.40.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>length</B>( void ) const 
+<DD><I>Length of the quaternion = sqrt( vec . vec )</I>
+<DT>
+<A HREF="#DOC.2.40.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>length2</B>( void ) const 
+<DD><I>Length of the quaternion = vec . vec</I>
+<DT>
+<A HREF="#DOC.2.40.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>conj</B>( void ) const 
+<DD><I>Conjugate </I>
+<DT>
+<A HREF="#DOC.2.40.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> <B>inverse</B>( void ) const 
+<DD><I>Multiplicative inverse method: q^(-1) = q^*/(q.q^*)</I>
+<DT>
+<A HREF="#DOC.2.40.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>makeRot</B>( const float angle, const float x, const float y, const float z )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>makeRot</B>( const float angle, const <!1><A HREF="Vec3.html">Vec3</A>&amp; vec )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>makeRot</B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; vec1, const <!1><A HREF="Vec3.html">Vec3</A>&amp; vec2 )
+<DD><I>Make a rotation Quat which will rotate vec1 to vec2.</I>
+<DT>
+<A HREF="#DOC.2.40.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>getRot</B>( float&amp; angle, float&amp; x, float&amp; y, float&amp; z ) const 
+<DD><I>Return the angle and vector components represented by the quaternion</I>
+<DT>
+<A HREF="#DOC.2.40.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>getRot</B>( float&amp; angle, <!1><A HREF="Vec3.html">Vec3</A>&amp; vec ) const 
+<DD><I>Return the angle and vector represented by the quaternion</I>
+<DT>
+<A HREF="#DOC.2.40.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>slerp</B>( const float t, const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; from, const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; to)
+<DD><I>Spherical Linear Interpolation.</I>
+<DT>
+<A HREF="#DOC.2.40.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>set</B>( const <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; m )
+<DD><I>Set quaternion to be equivalent to specified matrix</I>
+<DT>
+<A HREF="#DOC.2.40.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>get</B>( <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; m ) const 
+<DD><I>Get the equivalent matrix for this quaternion</I>
+<DT>
+<A HREF="#DOC.2.40.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline  friend ostream&amp; <B>operator << </B>(ostream&amp; output, const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; vec)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>A quaternion class. It can be used to represent an orientation in 3D space.</BLOCKQUOTE>
+<DL>
+
+<A NAME="_fv">
+<A NAME="DOC.2.40.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _fv</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Quat">
+<A NAME="DOC.2.40.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Quat( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Quat">
+<A NAME="DOC.2.40.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Quat( float x, float y, float z, float w )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Quat">
+<A NAME="DOC.2.40.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Quat( const <!1><A HREF="Vec4.html">Vec4</A>&amp; vec )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="asVec4">
+<A NAME="DOC.2.40.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec4.html">Vec4</A> asVec4( void ) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="asVec3">
+<A NAME="DOC.2.40.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html">Vec3</A> asVec3( void ) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.40.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> operator * (const float&amp; rhs) const </B></TT>
+<DD>Multiply by scalar 
+<DL><DT><DD></DL><P>
+<A NAME="operator *= ">
+<A NAME="DOC.2.40.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; operator *= (const float&amp; rhs)</B></TT>
+<DD>Unary multiply by scalar 
+<DL><DT><DD></DL><P>
+<A NAME="operator*">
+<A NAME="DOC.2.40.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> operator*(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs) const </B></TT>
+<DD>Binary multiply 
+<DL><DT><DD></DL><P>
+<A NAME="operator*=">
+<A NAME="DOC.2.40.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; operator*=(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs)</B></TT>
+<DD>Unary multiply 
+<DL><DT><DD></DL><P>
+<A NAME="operator / ">
+<A NAME="DOC.2.40.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> operator / (const float&amp; rhs) const </B></TT>
+<DD>Divide by scalar 
+<DL><DT><DD></DL><P>
+<A NAME="operator /= ">
+<A NAME="DOC.2.40.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; operator /= (const float&amp; rhs)</B></TT>
+<DD>Unary divide by scalar 
+<DL><DT><DD></DL><P>
+<A NAME="operator/">
+<A NAME="DOC.2.40.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> operator/(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; denom) const </B></TT>
+<DD>Binary divide 
+<DL><DT><DD></DL><P>
+<A NAME="operator/=">
+<A NAME="DOC.2.40.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; operator/=(const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; denom)</B></TT>
+<DD>Unary divide 
+<DL><DT><DD></DL><P>
+<A NAME="operator + ">
+<A NAME="DOC.2.40.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> operator + (const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs) const </B></TT>
+<DD>Binary addition 
+<DL><DT><DD></DL><P>
+<A NAME="operator += ">
+<A NAME="DOC.2.40.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; operator += (const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs)</B></TT>
+<DD>Unary addition
+<DL><DT><DD></DL><P>
+<A NAME="operator - ">
+<A NAME="DOC.2.40.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> operator - (const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs) const </B></TT>
+<DD>Binary subtraction 
+<DL><DT><DD></DL><P>
+<A NAME="operator -= ">
+<A NAME="DOC.2.40.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; operator -= (const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; rhs)</B></TT>
+<DD>Unary subtraction 
+<DL><DT><DD></DL><P>
+<A NAME="operator - ">
+<A NAME="DOC.2.40.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> operator - () const </B></TT>
+<DD>Negation operator - returns the negative of the quaternion.
+Basically just calls operator - () on the Vec4 
+<DL><DT><DD></DL><P>
+<A NAME="length">
+<A NAME="DOC.2.40.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float length( void ) const </B></TT>
+<DD>Length of the quaternion = sqrt( vec . vec )
+<DL><DT><DD></DL><P>
+<A NAME="length2">
+<A NAME="DOC.2.40.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float length2( void ) const </B></TT>
+<DD>Length of the quaternion = vec . vec
+<DL><DT><DD></DL><P>
+<A NAME="conj">
+<A NAME="DOC.2.40.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> conj( void ) const </B></TT>
+<DD>Conjugate 
+<DL><DT><DD></DL><P>
+<A NAME="inverse">
+<A NAME="DOC.2.40.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A> inverse( void ) const </B></TT>
+<DD>Multiplicative inverse method: q^(-1) = q^*/(q.q^*)
+<DL><DT><DD></DL><P>
+<A NAME="makeRot">
+<A NAME="DOC.2.40.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( const float angle, const float x, const float y, const float z )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="makeRot">
+<A NAME="DOC.2.40.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( const float angle, const <!1><A HREF="Vec3.html">Vec3</A>&amp; vec )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="makeRot">
+<A NAME="DOC.2.40.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( const <!1><A HREF="Vec3.html">Vec3</A>&amp; vec1, const <!1><A HREF="Vec3.html">Vec3</A>&amp; vec2 )</B></TT>
+<DD>Make a rotation Quat which will rotate vec1 to vec2.
+Generally take adot product to get the angle between these
+and then use a cross product to get the rotation axis
+Watch out for the two special cases of when the vectors
+are co-incident or opposite in direction.
+<DL><DT><DD></DL><P>
+<A NAME="getRot">
+<A NAME="DOC.2.40.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void getRot( float&amp; angle, float&amp; x, float&amp; y, float&amp; z ) const </B></TT>
+<DD>Return the angle and vector components represented by the quaternion
+<DL><DT><DD></DL><P>
+<A NAME="getRot">
+<A NAME="DOC.2.40.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void getRot( float&amp; angle, <!1><A HREF="Vec3.html">Vec3</A>&amp; vec ) const </B></TT>
+<DD>Return the angle and vector represented by the quaternion
+<DL><DT><DD></DL><P>
+<A NAME="slerp">
+<A NAME="DOC.2.40.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void slerp( const float t, const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; from, const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; to)</B></TT>
+<DD>Spherical Linear Interpolation.
+As t goes from 0 to 1, the Quat object goes from "from" to "to". 
+<DL><DT><DD></DL><P>
+<A NAME="set">
+<A NAME="DOC.2.40.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set( const <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; m )</B></TT>
+<DD>Set quaternion to be equivalent to specified matrix
+<DL><DT><DD></DL><P>
+<A NAME="get">
+<A NAME="DOC.2.40.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void get( <!1><A HREF="Matrix.html">osg::Matrix</A>&amp; m ) const </B></TT>
+<DD>Get the equivalent matrix for this quaternion
+<DL><DT><DD></DL><P>
+<A NAME="operator << ">
+<A NAME="DOC.2.40.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline  friend ostream&amp; operator << (ostream&amp; output, const <!1><A HREF="Quat.html#DOC.2.40.9">Quat</A>&amp; vec)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/BoundingSphere.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/BoundingSphere.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/BoundingSphere.html (revision 2)
@@ -0,0 +1,169 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::BoundingSphere</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::BoundingSphere</A></H2>
+<BLOCKQUOTE>General purpose bounding sphere class for enclosing nodes/objects/vertices.</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<A HREF="#DOC.2.4.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_center</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.4.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_radius</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.4.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>BoundingSphere</B>()
+<DD><I>construct to invalid values to represent an unset bounding sphere</I>
+<DT>
+<A HREF="#DOC.2.4.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>init</B>()
+<DD><I>initialize to invalid values to represent an unset bounding sphere</I>
+<DT>
+<A HREF="#DOC.2.4.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isValid</B>() const 
+<DD><I>return true if the bounding sphere contains valid values, false if the bounding sphere is effectively unset</I>
+<DT>
+<A HREF="#DOC.2.4.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>center</B>() const 
+<DD><I>return the const center of the bounding sphere</I>
+<DT>
+<A HREF="#DOC.2.4.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A>&amp; <B>center</B>()
+<DD><I>return the center of the bounding sphere</I>
+<DT>
+<A HREF="#DOC.2.4.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>radius</B>() const 
+<DD><I>return the const radius of the bounding sphere</I>
+<DT>
+<A HREF="#DOC.2.4.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float&amp; <B>radius</B>()
+<DD><I>return the radius of the bounding sphere</I>
+<DT>
+<A HREF="#DOC.2.4.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>radius2</B>() const 
+<DD><I>return the radius squared.</I>
+<DT>
+<A HREF="#DOC.2.4.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>expandBy</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
+<DD><I>If the vertex is outwith the sphere expand to ecompass vertex.</I>
+<DT>
+<A HREF="#DOC.2.4.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>expandRadiusBy</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
+<DD><I>If the vertex is outwith the sphere expand radius to ecompass vertex.</I>
+<DT>
+<A HREF="#DOC.2.4.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>expandBy</B>(const <!1><A HREF="BoundingSphere.html#DOC.2.4.1">BoundingSphere</A>&amp; sh)
+<DD><I>If incomming sphere is outwith the sphere expand to ecompass incomming sphere.</I>
+<DT>
+<A HREF="#DOC.2.4.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>expandRadiusBy</B>(const <!1><A HREF="BoundingSphere.html#DOC.2.4.1">BoundingSphere</A>&amp; sh)
+<DD><I>If incomming sphere is outwith the sphere expand radius to ecompass incomming sphere.</I>
+<DT>
+<A HREF="#DOC.2.4.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>contains</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)
+<DD><I>return true is vertex v is within the sphere</I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>General purpose bounding sphere class for enclosing nodes/objects/vertices.
+Used to bound internal osg::Node's in the scene,
+to assist in view frustrum culling etc.  Similar in function to BoundingBox
+but is quicker for evaluating culling, but generally encloses a greater volume
+than a BoundingBox so will not cull so aggressively.</BLOCKQUOTE>
+<DL>
+
+<A NAME="_center">
+<A NAME="DOC.2.4.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _center</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_radius">
+<A NAME="DOC.2.4.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _radius</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="BoundingSphere">
+<A NAME="DOC.2.4.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> BoundingSphere()</B></TT>
+<DD>construct to invalid values to represent an unset bounding sphere
+<DL><DT><DD></DL><P>
+<A NAME="init">
+<A NAME="DOC.2.4.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void init()</B></TT>
+<DD>initialize to invalid values to represent an unset bounding sphere
+<DL><DT><DD></DL><P>
+<A NAME="isValid">
+<A NAME="DOC.2.4.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isValid() const </B></TT>
+<DD>return true if the bounding sphere contains valid values,
+false if the bounding sphere is effectively unset
+<DL><DT><DD></DL><P>
+<A NAME="center">
+<A NAME="DOC.2.4.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; center() const </B></TT>
+<DD>return the const center of the bounding sphere
+<DL><DT><DD></DL><P>
+<A NAME="center">
+<A NAME="DOC.2.4.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A>&amp; center()</B></TT>
+<DD>return the center of the bounding sphere
+<DL><DT><DD></DL><P>
+<A NAME="radius">
+<A NAME="DOC.2.4.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float radius() const </B></TT>
+<DD>return the const radius of the bounding sphere
+<DL><DT><DD></DL><P>
+<A NAME="radius">
+<A NAME="DOC.2.4.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float&amp; radius()</B></TT>
+<DD>return the radius of the bounding sphere
+<DL><DT><DD></DL><P>
+<A NAME="radius2">
+<A NAME="DOC.2.4.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float radius2() const </B></TT>
+<DD>return the radius squared. 
+Note, for performance reasons, assumes the calling method has ensured 
+that the sphere is valid before calling radius2(), i.e. has _radius>=0.0,
+as it does not check th validity of sphere and will eroneously return a positive value.
+<DL><DT><DD></DL><P>
+<A NAME="expandBy">
+<A NAME="DOC.2.4.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void expandBy(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
+<DD>If the vertex is outwith the sphere expand to ecompass vertex.
+Calculates the combination of movement of center and radius which
+minimizes the radius increase. If this sphere is empty then
+move the centrer to v and set radius to 0.
+<DL><DT><DD></DL><P>
+<A NAME="expandRadiusBy">
+<A NAME="DOC.2.4.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void expandRadiusBy(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
+<DD>If the vertex is outwith the sphere expand radius to ecompass vertex.
+Unlike update, does not move the center, just increasing the radius.
+If this sphere is empty then move the centrer to v and set radius to 0 
+<DL><DT><DD></DL><P>
+<A NAME="expandBy">
+<A NAME="DOC.2.4.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void expandBy(const <!1><A HREF="BoundingSphere.html#DOC.2.4.1">BoundingSphere</A>&amp; sh)</B></TT>
+<DD>If incomming sphere is outwith the sphere expand to ecompass incomming sphere.
+calculates the combination of movement of center and radius which
+minimizes the radius increase. If this sphere is empty then
+move the centrer to v and set radius to 0.
+<DL><DT><DD></DL><P>
+<A NAME="expandRadiusBy">
+<A NAME="DOC.2.4.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void expandRadiusBy(const <!1><A HREF="BoundingSphere.html#DOC.2.4.1">BoundingSphere</A>&amp; sh)</B></TT>
+<DD>If incomming sphere is outwith the sphere expand radius to ecompass incomming sphere.
+Unlike update, does not move the center, just increasing the radius.
+If this sphere is empty then move the centrer to v and set radius to 0. 
+<DL><DT><DD></DL><P>
+<A NAME="contains">
+<A NAME="DOC.2.4.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool contains(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v)</B></TT>
+<DD>return true is vertex v is within the sphere
+<DL><DT><DD></DL><P></DL>
+
+<HR><DL><DT><B>This class has no child classes.</B></DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/FieldReaderIterator.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/FieldReaderIterator.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/FieldReaderIterator.html (revision 2)
@@ -0,0 +1,184 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::FieldReaderIterator</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::FieldReaderIterator</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CFieldReaderIterator,MFieldReaderIterator.html,CInput,MInput.html">
+<param name=before value="M,M^_">
+<param name=after value="M,M">
+<param name=indent value="0,0">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.12.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum <B></B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.12.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>FieldReaderIterator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>FieldReaderIterator</B>(const <!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; ic)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~FieldReaderIterator</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; <B>operator = </B>(const <!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; ic)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>attach</B>(istream* input)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>detach</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>eof</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="FieldReader.html">FieldReader</A>&amp; <B>getFieldReader</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>insert</B>(int pos, <!1><A HREF="Field.html">Field</A>* <!1><A HREF="FieldReaderIterator.html#DOC.2.12.14">field</A>)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>insert</B>(int pos, const char* str)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Field.html">Field</A>&amp; <B>operator [] </B>(int pos)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Field.html">Field</A>&amp; <B>field</B>(int pos)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; <B>operator ++ </B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; <B>operator += </B>(int no)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>advanceOverCurrentFieldOrBlock</B>()
+<DD><I>increments the itetor of the next simple field or whole block if the current field[0] is an open bracket </I>
+<DT>
+<A HREF="#DOC.2.12.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>advanceToEndOfCurrentBlock</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>advanceToEndOfBlock</B>(int noNestBrackets)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.12.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchSequence</B>(const char* str)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="">
+<A NAME="DOC.2.12.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum </B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="MINIMUM_FIELD_READER_QUEUE_SIZE">
+<A NAME="DOC.2.12.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> MINIMUM_FIELD_READER_QUEUE_SIZE</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="FieldReaderIterator">
+<A NAME="DOC.2.12.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FieldReaderIterator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FieldReaderIterator">
+<A NAME="DOC.2.12.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FieldReaderIterator(const <!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; ic)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~FieldReaderIterator">
+<A NAME="DOC.2.12.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~FieldReaderIterator()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.12.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; operator = (const <!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; ic)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="attach">
+<A NAME="DOC.2.12.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void attach(istream* input)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="detach">
+<A NAME="DOC.2.12.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void detach()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="eof">
+<A NAME="DOC.2.12.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool eof() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getFieldReader">
+<A NAME="DOC.2.12.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FieldReader.html">FieldReader</A>&amp; getFieldReader()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="insert">
+<A NAME="DOC.2.12.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void insert(int pos, <!1><A HREF="Field.html">Field</A>* <!1><A HREF="FieldReaderIterator.html#DOC.2.12.14">field</A>)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="insert">
+<A NAME="DOC.2.12.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void insert(int pos, const char* str)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator [] ">
+<A NAME="DOC.2.12.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Field.html">Field</A>&amp; operator [] (int pos)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="field">
+<A NAME="DOC.2.12.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Field.html">Field</A>&amp; field(int pos)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator ++ ">
+<A NAME="DOC.2.12.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; operator ++ ()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator += ">
+<A NAME="DOC.2.12.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="FieldReaderIterator.html#DOC.2.12.3">FieldReaderIterator</A>&amp; operator += (int no)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="advanceOverCurrentFieldOrBlock">
+<A NAME="DOC.2.12.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void advanceOverCurrentFieldOrBlock()</B></TT>
+<DD>increments the itetor of the next simple field or
+whole block if the current field[0] is an open bracket 
+<DL><DT><DD></DL><P>
+<A NAME="advanceToEndOfCurrentBlock">
+<A NAME="DOC.2.12.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void advanceToEndOfCurrentBlock()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="advanceToEndOfBlock">
+<A NAME="DOC.2.12.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void advanceToEndOfBlock(int noNestBrackets)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchSequence">
+<A NAME="DOC.2.12.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchSequence(const char* str)</B></TT>
+<DL><DT><DD></DL><P></DL>
+<HR>
+<DL><DT><B>Direct child classes:
+</B><DD><A HREF="Input.html">Input</A><BR>
+</DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Image.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Image.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Image.html (revision 2)
@@ -0,0 +1,272 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Image</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Image</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE>Image class for encapsulating the storage texture image data</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CImage,MImage.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.19.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Image</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>getFileName</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setFileName</B>(const char* fileName)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setImage</B>(int <!1><A HREF="Image.html#DOC.2.19.1">s</A>, int <!1><A HREF="Image.html#DOC.2.19.2">t</A>, int <!1><A HREF="Image.html#DOC.2.19.3">r</A>, int <!1><A HREF="Image.html#DOC.2.19.14">internalFormat</A>, unsigned int <!1><A HREF="Image.html#DOC.2.19.15">pixelFormat</A>, unsigned int <!1><A HREF="Image.html#DOC.2.19.16">dataType</A>, unsigned char *<!1><A HREF="Image.html#DOC.2.19.4">data</A>)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>s</B>()
+<DD><I>Width of image</I>
+<DT>
+<A HREF="#DOC.2.19.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>t</B>()
+<DD><I>Height of image</I>
+<DT>
+<A HREF="#DOC.2.19.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>r</B>()
+<DD><I>Depth of image</I>
+<DT>
+<A HREF="#DOC.2.19.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>internalFormat</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned int <B>pixelFormat</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned int <B>dataType</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned char* <B>data</B>()
+<DD><I>raw image data</I>
+<DT>
+<A HREF="#DOC.2.19.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>scaleImage</B>(int <!1><A HREF="Image.html#DOC.2.19.1">s</A>, int <!1><A HREF="Image.html#DOC.2.19.2">t</A>, int <!1><A HREF="Image.html#DOC.2.19.3">r</A>)
+<DD><I>Scale image to specified size.</I>
+<DT>
+<A HREF="#DOC.2.19.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>ensureDimensionsArePowerOfTwo</B>()
+<DD><I>Ensure image dimensions are a power of two.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.19.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>char* <B>_fileName</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_s</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int  <B>_t</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int   <B>_r</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_internalFormat</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned int <B>_pixelFormat</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned int <B>_dataType</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>unsigned char* <B>_data</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.19.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Image</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Image class for encapsulating the storage texture image data</BLOCKQUOTE>
+<DL>
+
+<A NAME="Image">
+<A NAME="DOC.2.19.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Image()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.19.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.19.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.19.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getFileName">
+<A NAME="DOC.2.19.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* getFileName()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setFileName">
+<A NAME="DOC.2.19.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFileName(const char* fileName)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setImage">
+<A NAME="DOC.2.19.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setImage(int <!1><A HREF="Image.html#DOC.2.19.1">s</A>, int <!1><A HREF="Image.html#DOC.2.19.2">t</A>, int <!1><A HREF="Image.html#DOC.2.19.3">r</A>, int <!1><A HREF="Image.html#DOC.2.19.14">internalFormat</A>, unsigned int <!1><A HREF="Image.html#DOC.2.19.15">pixelFormat</A>, unsigned int <!1><A HREF="Image.html#DOC.2.19.16">dataType</A>, unsigned char *<!1><A HREF="Image.html#DOC.2.19.4">data</A>)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="s">
+<A NAME="DOC.2.19.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int s()</B></TT>
+<DD>Width of image
+<DL><DT><DD></DL><P>
+<A NAME="t">
+<A NAME="DOC.2.19.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int t()</B></TT>
+<DD>Height of image
+<DL><DT><DD></DL><P>
+<A NAME="r">
+<A NAME="DOC.2.19.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int r()</B></TT>
+<DD>Depth of image
+<DL><DT><DD></DL><P>
+<A NAME="internalFormat">
+<A NAME="DOC.2.19.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int internalFormat()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="pixelFormat">
+<A NAME="DOC.2.19.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int pixelFormat()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="dataType">
+<A NAME="DOC.2.19.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int dataType()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="data">
+<A NAME="DOC.2.19.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned char* data()</B></TT>
+<DD>raw image data
+<DL><DT><DD></DL><P>
+<A NAME="scaleImage">
+<A NAME="DOC.2.19.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void scaleImage(int <!1><A HREF="Image.html#DOC.2.19.1">s</A>, int <!1><A HREF="Image.html#DOC.2.19.2">t</A>, int <!1><A HREF="Image.html#DOC.2.19.3">r</A>)</B></TT>
+<DD>Scale image to specified size. 
+<DL><DT><DD></DL><P>
+<A NAME="ensureDimensionsArePowerOfTwo">
+<A NAME="DOC.2.19.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void ensureDimensionsArePowerOfTwo()</B></TT>
+<DD>Ensure image dimensions are a power of two.
+Mip Mapped texture require the image dimensions to be
+power of two.
+<DL><DT><DD></DL><P>
+<A NAME="~Image">
+<A NAME="DOC.2.19.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Image()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.19.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.19.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fileName">
+<A NAME="DOC.2.19.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>char* _fileName</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s">
+<A NAME="DOC.2.19.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _s</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_t">
+<A NAME="DOC.2.19.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int  _t</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_r">
+<A NAME="DOC.2.19.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int   _r</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_internalFormat">
+<A NAME="DOC.2.19.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _internalFormat</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_pixelFormat">
+<A NAME="DOC.2.19.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _pixelFormat</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_dataType">
+<A NAME="DOC.2.19.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _dataType</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_data">
+<A NAME="DOC.2.19.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned char* _data</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Node.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Node.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Node.html (revision 2)
@@ -0,0 +1,444 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Node</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Node</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE>Base class for all internal nodes in the scene graph.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=185>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CLightSource,MLightSource.html,CGroup,MGroup.html,CGeode,MGeode.html">
+<param name=before value="M,M,M,M|_,MR_,Mr_">
+<param name=after value="Md_SP,Md_,M,M,M,M">
+<param name=indent value="0,1,2,2,2,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.30.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Node</B>()
+<DD><I>Construct a node.</I>
+<DT>
+<A HREF="#DOC.2.30.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I>return a shallow copy of a node, with Object* return type</I>
+<DT>
+<A HREF="#DOC.2.30.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DD><I>return a shallow copy of a node, with Node* return type</I>
+<DT>
+<A HREF="#DOC.2.30.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I>return true if this and obj are of the same kind of object</I>
+<DT>
+<A HREF="#DOC.2.30.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I>return the name of the node's class type</I>
+<DT>
+<A HREF="#DOC.2.30.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I>Visitor Pattern : calls the apply method of a NodeVisitor with this node's type</I>
+<DT>
+<A HREF="#DOC.2.30.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I>Traverse upwards : calls parents' accept method with NodeVisitor</I>
+<DT>
+<A HREF="#DOC.2.30.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; )
+<DD><I>Traverse downwards : calls children's accept method with NodeVisitor</I>
+<DT>
+<A HREF="#DOC.2.30.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setName</B>( const std::string&amp; name )
+<DD><I>Set the name of node using C++ style string</I>
+<DT>
+<A HREF="#DOC.2.30.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setName</B>( const char* name )
+<DD><I>Set the name of node using a C style string</I>
+<DT>
+<A HREF="#DOC.2.30.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const std::string&amp; <B>getName</B>( void )
+<DD><I>Get the name of node</I>
+<DT>
+<A HREF="#DOC.2.30.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DD><I>Get the parent list of node.</I>
+<DT>
+<A HREF="#DOC.2.30.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DD><I> Get a single parent of node.</I>
+<DT>
+<A HREF="#DOC.2.30.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumParents</B>() const 
+<DD><I> Get the number of parents of node.</I>
+<DT>
+<A HREF="#DOC.2.30.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DD><I> Set user data.</I>
+<DT>
+<A HREF="#DOC.2.30.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void* <B>getUserData</B>() const 
+<DD><I>Get user data</I>
+<DT>
+<A HREF="#DOC.2.30.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DD><I>Get the memory adapter associated with _userData</I>
+<DT>
+<A HREF="#DOC.2.30.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DD><I>Set the node mask.</I>
+<DT>
+<A HREF="#DOC.2.30.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DD><I>Get the node Mask.</I>
+<DT>
+<A HREF="#DOC.2.30.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DD><I>Get the description list of the const node</I>
+<DT>
+<A HREF="#DOC.2.30.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DD><I>Get the description list of the const node</I>
+<DT>
+<A HREF="#DOC.2.30.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const std::string&amp; <B>getDescription</B>(int i) const 
+<DD><I>Get a single const description of the const node</I>
+<DT>
+<A HREF="#DOC.2.30.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>std::string&amp; <B>getDescription</B>(int i)
+<DD><I>Get a single description of the node</I>
+<DT>
+<A HREF="#DOC.2.30.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumDescriptions</B>() const 
+<DD><I>Get the number of descriptions of the node</I>
+<DT>
+<A HREF="#DOC.2.30.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>addDescription</B>(const std::string&amp; desc)
+<DD><I>Add a description string to the node</I>
+<DT>
+<A HREF="#DOC.2.30.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DD><I>get the bounding sphere of node.</I>
+<DT>
+<A HREF="#DOC.2.30.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>dirtyBound</B>()
+<DD><I>Mark this node's bounding sphere dirty.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.30.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DD><I>A vector of osg::Group pointers which is used to store the parent(s) of node</I>
+<DT>
+<A HREF="#DOC.2.30.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  unsigned int <B>NodeMask</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+<DD><I>A vector of std::string's which are used to describe the object</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.30.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_bsphere_computed</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>std::string <B>_name</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>friend <B>Group</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void* <B>_userData</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.30.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.30.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Node</B>()
+<DD><I>Node destructor.</I>
+<DT>
+<A HREF="#DOC.2.30.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I> Template Method Pattern : read local data from osg file.</I>
+<DT>
+<A HREF="#DOC.2.30.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I> Template Method Pattern : read local data from osg file.</I>
+<DT>
+<A HREF="#DOC.2.30.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>computeBound</B>( void )
+<DD><I>Compute the bounding sphere around Node's geometry or children.</I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Base class for all internal nodes in the scene graph.
+Provides interface for most common node operations (Composite Pattern).</BLOCKQUOTE>
+<DL>
+
+<A NAME="Node">
+<A NAME="DOC.2.30.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Node()</B></TT>
+<DD>Construct a node.
+Initialize the parent list to empty, node name to "" and 
+bounding sphere dirty flag to true.
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.30.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DD>return a shallow copy of a node, with Object* return type
+<DL><DT><DD></DL><P>
+<A NAME="cloneNode">
+<A NAME="DOC.2.30.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* cloneNode() const </B></TT>
+<DD>return a shallow copy of a node, with Node* return type
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.30.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DD>return true if this and obj are of the same kind of object
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.30.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DD>return the name of the node's class type
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.30.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DD>Visitor Pattern : calls the apply method of a NodeVisitor with this node's type
+<DL><DT><DD></DL><P>
+<A NAME="ascend">
+<A NAME="DOC.2.30.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void ascend(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DD>Traverse upwards : calls parents' accept method with NodeVisitor
+<DL><DT><DD></DL><P>
+<A NAME="traverse">
+<A NAME="DOC.2.30.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void traverse(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; )</B></TT>
+<DD>Traverse downwards : calls children's accept method with NodeVisitor
+<DL><DT><DD></DL><P>
+<A NAME="setName">
+<A NAME="DOC.2.30.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setName( const std::string&amp; name )</B></TT>
+<DD>Set the name of node using C++ style string
+<DL><DT><DD></DL><P>
+<A NAME="setName">
+<A NAME="DOC.2.30.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setName( const char* name )</B></TT>
+<DD>Set the name of node using a C style string
+<DL><DT><DD></DL><P>
+<A NAME="getName">
+<A NAME="DOC.2.30.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const std::string&amp; getName( void )</B></TT>
+<DD>Get the name of node
+<DL><DT><DD></DL><P>
+<A NAME="ParentList">
+<A NAME="DOC.2.30.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  ParentList</B></TT>
+<DD>A vector of osg::Group pointers which is used to store the parent(s) of node
+<DL><DT><DD></DL><P>
+<A NAME="getParents">
+<A NAME="DOC.2.30.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; getParents() const </B></TT>
+<DD>Get the parent list of node. 
+<DL><DT><DD></DL><P>
+<A NAME="getParent">
+<A NAME="DOC.2.30.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* getParent(int i) const </B></TT>
+<DD>
+Get a single parent of node.
+
+<DL><DT><DT><B>Parameters:</B><DD><B>i</B> -  index of the parent to get.
+<BR><DT><B>Returns:</B><DD>  the parent i.<BR><DD></DL><P>
+<A NAME="getNumParents">
+<A NAME="DOC.2.30.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumParents() const </B></TT>
+<DD>
+Get the number of parents of node.
+
+<DL><DT><DT><B>Returns:</B><DD>  the number of parents of this node.<BR><DD></DL><P>
+<A NAME="setUserData">
+<A NAME="DOC.2.30.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setUserData(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)</B></TT>
+<DD>
+Set user data. See MemoryAdapter documention for details
+of how to specify memory managament of _userData.
+<DL><DT><DD></DL><P>
+<A NAME="getUserData">
+<A NAME="DOC.2.30.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void* getUserData() const </B></TT>
+<DD>Get user data
+<DL><DT><DD></DL><P>
+<A NAME="getMemoryAdapter">
+<A NAME="DOC.2.30.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* getMemoryAdapter() const </B></TT>
+<DD>Get the memory adapter associated with _userData
+<DL><DT><DD></DL><P>
+<A NAME="NodeMask">
+<A NAME="DOC.2.30.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  unsigned int NodeMask</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setNodeMask">
+<A NAME="DOC.2.30.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setNodeMask(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)</B></TT>
+<DD>Set the node mask. Note, node mask is will be replaced by TraversalMask.
+<DL><DT><DD></DL><P>
+<A NAME="getNodeMask">
+<A NAME="DOC.2.30.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> getNodeMask()</B></TT>
+<DD>Get the node Mask. Note, node mask is will be replaced by TraversalMask.
+<DL><DT><DD></DL><P>
+<A NAME="DescriptionList">
+<A NAME="DOC.2.30.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;std::string&gt;  DescriptionList</B></TT>
+<DD>A vector of std::string's which are used to describe the object
+<DL><DT><DD></DL><P>
+<A NAME="getDescriptions">
+<A NAME="DOC.2.30.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; getDescriptions() const </B></TT>
+<DD>Get the description list of the const node
+<DL><DT><DD></DL><P>
+<A NAME="getDescriptions">
+<A NAME="DOC.2.30.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; getDescriptions()</B></TT>
+<DD>Get the description list of the const node
+<DL><DT><DD></DL><P>
+<A NAME="getDescription">
+<A NAME="DOC.2.30.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const std::string&amp; getDescription(int i) const </B></TT>
+<DD>Get a single const description of the const node
+<DL><DT><DD></DL><P>
+<A NAME="getDescription">
+<A NAME="DOC.2.30.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string&amp; getDescription(int i)</B></TT>
+<DD>Get a single description of the node
+<DL><DT><DD></DL><P>
+<A NAME="getNumDescriptions">
+<A NAME="DOC.2.30.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumDescriptions() const </B></TT>
+<DD>Get the number of descriptions of the node
+<DL><DT><DD></DL><P>
+<A NAME="addDescription">
+<A NAME="DOC.2.30.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addDescription(const std::string&amp; desc)</B></TT>
+<DD>Add a description string to the node
+<DL><DT><DD></DL><P>
+<A NAME="getBound">
+<A NAME="DOC.2.30.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; getBound()</B></TT>
+<DD>get the bounding sphere of node.
+Using lazy evaluation computes the bounding sphere if it is 'dirty'.
+<DL><DT><DD></DL><P>
+<A NAME="dirtyBound">
+<A NAME="DOC.2.30.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void dirtyBound()</B></TT>
+<DD>Mark this node's bounding sphere dirty.
+Forcing it to be computed on the next call to getBound().
+<DL><DT><DD></DL><P>
+<A NAME="~Node">
+<A NAME="DOC.2.30.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Node()</B></TT>
+<DD>Node destructor. Note, is protected so that Nodes cannot
+be deleted other than by being dereferenced and the reference
+count being zero (see osg::Referenced), preventing the deletion
+of nodes which are still in use. This also means that
+Node's cannot be created on stack i.e Node node will not compile,
+forcing all nodes to be created on the heap i.e Node* node
+= new Node().
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.30.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DD>
+Template Method Pattern : read local data from osg file.
+Note should be implemented in derived classes, which
+call their parent class's readLocalData.
+
+<DL><DT><DT><B>Returns:</B><DD>  true if the input iterator has been advanced, otherwise false.<BR><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.30.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DD>
+Template Method Pattern : read local data from osg file.
+Note should be implemented in derivied classes, which
+call their parent class's writeLocalData.
+
+<DL><DT><DT><B>Returns:</B><DD>  true if data has been written out, otherwise false.<BR><DD></DL><P>
+<A NAME="computeBound">
+<A NAME="DOC.2.30.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool computeBound( void )</B></TT>
+<DD>Compute the bounding sphere around Node's geometry or children.
+This method is automatically called by getBound() when the bounding
+sphere has been marked dirty via dirtyBound().
+<DL><DT><DD></DL><P>
+<A NAME="_bsphere">
+<A NAME="DOC.2.30.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="BoundingSphere.html">BoundingSphere</A> _bsphere</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_bsphere_computed">
+<A NAME="DOC.2.30.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _bsphere_computed</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_name">
+<A NAME="DOC.2.30.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>std::string _name</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_parents">
+<A NAME="DOC.2.30.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> _parents</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Group">
+<A NAME="DOC.2.30.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>friend Group</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_userData">
+<A NAME="DOC.2.30.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void* _userData</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_memoryAdapter">
+<A NAME="DOC.2.30.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  _memoryAdapter</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_nodeMask">
+<A NAME="DOC.2.30.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> _nodeMask</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_descriptions">
+<A NAME="DOC.2.30.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> _descriptions</B></TT>
+<DL><DT><DD></DL><P></DL>
+<HR>
+<DL><DT><B>Direct child classes:
+</B><DD><A HREF="LightSource.html">LightSource</A><BR>
+<A HREF="Group.html">Group</A><BR>
+<A HREF="Geode.html">Geode</A><BR>
+</DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/LightSource.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/LightSource.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/LightSource.html (revision 2)
@@ -0,0 +1,241 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::LightSource</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::LightSource</A>: public <!1><A HREF="Node.html#DOC.2.30.1">Node</A></H2>
+<BLOCKQUOTE>Leaf Node for defining a light in the scene</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CLightSource,MLightSource.html">
+<param name=before value="M,M,M,M">
+<param name=after value="Md_SPSP,Md_SP,Md_,M">
+<param name=indent value="0,1,2,3">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.25.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>LightSource</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLight</B>(<!1><A HREF="Light.html">Light</A>* light)
+<DD><I>Set the attached light</I>
+<DT>
+<A HREF="#DOC.2.25.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Light.html">Light</A>* <B>getLight</B>()
+<DD><I>Get the attached light</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.25.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Light.html">Light</A>&gt;  <B>_light</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.25.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~LightSource</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.25.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>computeBound</B>( void )
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const std::string&amp; name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const char* name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getName</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>getUserData</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getDescription</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string&amp; <B>getDescription</B>(int i)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>NodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>_bsphere_computed</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>friend <B>Group</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Leaf Node for defining a light in the scene</BLOCKQUOTE>
+<DL>
+
+<A NAME="LightSource">
+<A NAME="DOC.2.25.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LightSource()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.25.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.25.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.25.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.25.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLight">
+<A NAME="DOC.2.25.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLight(<!1><A HREF="Light.html">Light</A>* light)</B></TT>
+<DD>Set the attached light
+<DL><DT><DD></DL><P>
+<A NAME="getLight">
+<A NAME="DOC.2.25.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Light.html">Light</A>* getLight()</B></TT>
+<DD>Get the attached light
+<DL><DT><DD></DL><P>
+<A NAME="~LightSource">
+<A NAME="DOC.2.25.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~LightSource()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.25.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.25.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="computeBound">
+<A NAME="DOC.2.25.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool computeBound( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_light">
+<A NAME="DOC.2.25.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Light.html">Light</A>&gt;  _light</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Group.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Group.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Group.html (revision 2)
@@ -0,0 +1,318 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Group</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Group</A>: public <!1><A HREF="Node.html#DOC.2.30.1">Node</A></H2>
+<BLOCKQUOTE>General group node which maintains a list of children.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=275>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,CSwitch,MSwitch.html,CSequence,MSequence.html,CScene,MScene.html,CLOD,MLOD.html,CDCS,MDCS.html">
+<param name=before value="M,M,M,M,M|_,MR_,MR_,MR_,Mr_">
+<param name=after value="Md_SPSP,Md_SP,Md_,M,M,M,M,M,M">
+<param name=indent value="0,1,2,3,3,3,3,3,3">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.18.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Group</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>addChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DD><I>Add Node to Group.</I>
+<DT>
+<A HREF="#DOC.2.18.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>removeChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DD><I>Remove Node from Group.</I>
+<DT>
+<A HREF="#DOC.2.18.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>replaceChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *origChild, <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* newChild )
+<DD><I>Replace specified Node with another Node.</I>
+<DT>
+<A HREF="#DOC.2.18.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getNumChildren</B>( void )
+<DD><I>return the number of chilren nodes</I>
+<DT>
+<A HREF="#DOC.2.18.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>getChild</B>( int i )
+<DD><I>return child node at position i</I>
+<DT>
+<A HREF="#DOC.2.18.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>containsNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+<DD><I>return true is node is contained within Group</I>
+<DT>
+<A HREF="#DOC.2.18.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>ChildList::iterator <B>findNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+<DD><I>return the iterator postion for specified Node.</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.18.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html#DOC.2.30.1">Node</A>&gt; &gt;  <B>ChildList</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.18.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Group.html#DOC.2.18.8">ChildList</A> <B>_children</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.18.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Group</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.18.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>computeBound</B>( void )
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const std::string&amp; name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const char* name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getName</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>getUserData</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getDescription</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string&amp; <B>getDescription</B>(int i)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>NodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>_bsphere_computed</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>General group node which maintains a list of children.
+Children are reference counted to allow children to be shared
+with memory management handled automatically via osg::Referenced.</BLOCKQUOTE>
+<DL>
+
+<A NAME="ChildList">
+<A NAME="DOC.2.18.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html#DOC.2.30.1">Node</A>&gt; &gt;  ChildList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Group">
+<A NAME="DOC.2.18.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Group()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.18.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.18.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.18.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.18.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="traverse">
+<A NAME="DOC.2.18.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void traverse(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="addChild">
+<A NAME="DOC.2.18.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool addChild( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )</B></TT>
+<DD>Add Node to Group.
+If node is not NULL and is not contained in Group then increment its  
+reference count, add it to the child list and dirty the bounding 
+sphere to force it to recompute on next getBound() and return true for success.
+Otherwise return false.
+<DL><DT><DD></DL><P>
+<A NAME="removeChild">
+<A NAME="DOC.2.18.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool removeChild( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )</B></TT>
+<DD>Remove Node from Group.
+If Node is contained in Group then remove it from the child
+list, decrement its reference count, and dirty the 
+bounding sphere to force it to recompute on next getBound() and
+return true for success.  If Node is not found then return false
+and do not change the reference count of the Node.
+<DL><DT><DD></DL><P>
+<A NAME="replaceChild">
+<A NAME="DOC.2.18.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool replaceChild( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *origChild, <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* newChild )</B></TT>
+<DD>Replace specified Node with another Node.
+Decrement the reference count origNode and increments the
+reference count of newNode, and dirty the bounding sphere
+to force it to recompute on next getBound() and returns true.
+If origNode is not found then return false and do not 
+add newNode.  If newNode is NULL then return false and do
+not remove origNode.
+<DL><DT><DD></DL><P>
+<A NAME="getNumChildren">
+<A NAME="DOC.2.18.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getNumChildren( void )</B></TT>
+<DD>return the number of chilren nodes
+<DL><DT><DD></DL><P>
+<A NAME="getChild">
+<A NAME="DOC.2.18.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* getChild( int i )</B></TT>
+<DD>return child node at position i
+<DL><DT><DD></DL><P>
+<A NAME="containsNode">
+<A NAME="DOC.2.18.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool containsNode( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )</B></TT>
+<DD>return true is node is contained within Group
+<DL><DT><DD></DL><P>
+<A NAME="findNode">
+<A NAME="DOC.2.18.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ChildList::iterator findNode( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )</B></TT>
+<DD>return the iterator postion for specified Node.
+return _chilren.end() if node is not contained in Group.
+<DL><DT><DD></DL><P>
+<A NAME="~Group">
+<A NAME="DOC.2.18.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Group()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.18.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.18.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_children">
+<A NAME="DOC.2.18.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Group.html#DOC.2.18.8">ChildList</A> _children</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="computeBound">
+<A NAME="DOC.2.18.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool computeBound( void )</B></TT>
+<DL><DT><DD></DL><P></DL>
+<HR>
+<DL><DT><B>Direct child classes:
+</B><DD><A HREF="Switch.html">Switch</A><BR>
+<A HREF="Sequence.html">Sequence</A><BR>
+<A HREF="Scene.html">Scene</A><BR>
+<A HREF="LOD.html">LOD</A><BR>
+<A HREF="DCS.html">DCS</A><BR>
+</DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Scene.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Scene.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Scene.html (revision 2)
@@ -0,0 +1,269 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Scene</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Scene</A>: public <!1><A HREF="Group.html#DOC.2.18.9">Group</A></H2>
+<BLOCKQUOTE>The top level group node in a scene graph.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,CScene,MScene.html">
+<param name=before value="M,M,M,M,M">
+<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M">
+<param name=indent value="0,1,2,3,4">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.48.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Scene</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.48.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.48.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.48.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.48.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.48.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setGState</B>(<!1><A HREF="GeoState.html">osg::GeoState</A>* gstate)
+<DD><I>set the scene's GeoState</I>
+<DT>
+<A HREF="#DOC.2.48.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html">osg::GeoState</A>* <B>getGState</B>()
+<DD><I>return the scene's GeoState</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.48.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html">osg::GeoState</A>* <B>_gstate</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.48.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Scene</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.48.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.48.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Group.html">Group</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>addChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>removeChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>replaceChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *origChild, <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* newChild )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumChildren</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>getChild</B>( int i )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>containsNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>ChildList::iterator <B>findNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html#DOC.2.30.1">Node</A>&gt; &gt;  <B>ChildList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Group.html#DOC.2.18.8">ChildList</A> <B>_children</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>computeBound</B>( void )
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const std::string&amp; name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const char* name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getName</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>getUserData</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getDescription</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string&amp; <B>getDescription</B>(int i)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>NodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>_bsphere_computed</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>friend <B>Group</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>The top level group node in a scene graph. </BLOCKQUOTE>
+<DL>
+
+<A NAME="Scene">
+<A NAME="DOC.2.48.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Scene()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.48.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.48.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.48.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.48.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setGState">
+<A NAME="DOC.2.48.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setGState(<!1><A HREF="GeoState.html">osg::GeoState</A>* gstate)</B></TT>
+<DD>set the scene's GeoState
+<DL><DT><DD></DL><P>
+<A NAME="getGState">
+<A NAME="DOC.2.48.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html">osg::GeoState</A>* getGState()</B></TT>
+<DD>return the scene's GeoState
+<DL><DT><DD></DL><P>
+<A NAME="~Scene">
+<A NAME="DOC.2.48.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Scene()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.48.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.48.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_gstate">
+<A NAME="DOC.2.48.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html">osg::GeoState</A>* _gstate</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/osgGetVersion.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/osgGetVersion.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/osgGetVersion.html (revision 2)
@@ -0,0 +1,30 @@
+<HTML>
+<HEAD>
+   <TITLE>extern SG_EXPORT const char* osgGetVersion</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>extern SG_EXPORT const char* <A HREF="#DOC.DOCU">osgGetVersion</A>()</H2>
+<BLOCKQUOTE> getVersion_osg() returns the library version number.</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+getVersion_osg() returns the library version number.
+Numbering conventon : osg_src-0.8-31 will return 0.8.31 from getVersion_osg.<P>This C function can be also used to check for the existance of the OpenSceneGraph
+library using autoconf and its m4 macro AC_CHECK_LIB.<P>Here is the code to add to your configure.in:
+\verbatim
+#
+# Check for the OpenSceneGraph (OSG) library
+#
+AC_CHECK_LIB(osg, osgGetVersion, ,
+[AC_MSG_ERROR(OpenSceneGraph library not found. See http://www.openscenegraph.org)],)
+\endverbatim</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Material.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Material.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Material.html (revision 2)
@@ -0,0 +1,424 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Material</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Material</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CMaterial,MMaterial.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.27.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>MaterialFace</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>ColorMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.27.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Material</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Material.html#DOC.2.27.3">Material</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setColorMode</B>(<!1><A HREF="Material.html#DOC.2.27.2">ColorMode</A> mode)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setAmbient</B>( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; ambient )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getAmbient</B>(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getAmbientFrontAndBack</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setDiffuse</B>( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; diffuse )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getDiffuse</B>(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getDiffuseFrontAndBack</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setSpecular</B>( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; specular )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getSpecular</B>(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getSpecularFrontAndBack</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setEmission</B>( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; emission )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec4.html">Vec4</A>&amp; <B>getEmission</B>(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getEmissionFrontAndBack</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setShininess</B>( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, float shininess )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getShininess</B>(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getShininessFrontAndBack</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.27.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Material.html#DOC.2.27.2">ColorMode</A> <B>_colorMode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_ambientFrontAndBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_ambientFront</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_ambientBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_diffuseFrontAndBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_diffuseFront</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_diffuseBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_specularFrontAndBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_specularFront</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_specularBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_emissionFrontAndBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_emissionFront</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec4.html">Vec4</A> <B>_emissionBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_shininessFrontAndBack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_shininessFront</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_shininessBack</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.27.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Material</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.27.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>matchFaceAndColor</B>(<!1><A HREF="Input.html">Input</A>&amp; fr, const char* name, <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A>&amp; mf, <!1><A HREF="Vec4.html">Vec4</A>&amp; color)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="MaterialFace">
+<A NAME="DOC.2.27.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  MaterialFace</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="FACE_FRONT">
+<A NAME="DOC.2.27.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FACE_FRONT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FACE_BACK">
+<A NAME="DOC.2.27.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FACE_BACK</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="FACE_FRONT_AND_BACK">
+<A NAME="DOC.2.27.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> FACE_FRONT_AND_BACK</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="ColorMode">
+<A NAME="DOC.2.27.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  ColorMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="AMBIENT">
+<A NAME="DOC.2.27.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AMBIENT</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="DIFFUSE">
+<A NAME="DOC.2.27.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DIFFUSE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SPECULAR">
+<A NAME="DOC.2.27.2.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SPECULAR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="EMISSION">
+<A NAME="DOC.2.27.2.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> EMISSION</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="AMBIENT_AND_DIFFUSE">
+<A NAME="DOC.2.27.2.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> AMBIENT_AND_DIFFUSE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OFF">
+<A NAME="DOC.2.27.2.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OFF</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="Material">
+<A NAME="DOC.2.27.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Material( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.27.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Material.html#DOC.2.27.3">Material</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.27.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.27.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.27.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.27.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setColorMode">
+<A NAME="DOC.2.27.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setColorMode(<!1><A HREF="Material.html#DOC.2.27.2">ColorMode</A> mode)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setAmbient">
+<A NAME="DOC.2.27.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setAmbient( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; ambient )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getAmbient">
+<A NAME="DOC.2.27.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getAmbient(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getAmbientFrontAndBack">
+<A NAME="DOC.2.27.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getAmbientFrontAndBack()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setDiffuse">
+<A NAME="DOC.2.27.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setDiffuse( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; diffuse )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getDiffuse">
+<A NAME="DOC.2.27.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getDiffuse(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getDiffuseFrontAndBack">
+<A NAME="DOC.2.27.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getDiffuseFrontAndBack()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setSpecular">
+<A NAME="DOC.2.27.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setSpecular( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; specular )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getSpecular">
+<A NAME="DOC.2.27.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getSpecular(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getSpecularFrontAndBack">
+<A NAME="DOC.2.27.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getSpecularFrontAndBack()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setEmission">
+<A NAME="DOC.2.27.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setEmission( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, const <!1><A HREF="Vec4.html">Vec4</A>&amp; emission )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getEmission">
+<A NAME="DOC.2.27.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec4.html">Vec4</A>&amp; getEmission(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getEmissionFrontAndBack">
+<A NAME="DOC.2.27.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getEmissionFrontAndBack()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setShininess">
+<A NAME="DOC.2.27.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setShininess( <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face, float shininess )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getShininess">
+<A NAME="DOC.2.27.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getShininess(<!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A> face) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getShininessFrontAndBack">
+<A NAME="DOC.2.27.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getShininessFrontAndBack()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Material">
+<A NAME="DOC.2.27.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Material( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.27.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.27.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="matchFaceAndColor">
+<A NAME="DOC.2.27.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool matchFaceAndColor(<!1><A HREF="Input.html">Input</A>&amp; fr, const char* name, <!1><A HREF="Material.html#DOC.2.27.1">MaterialFace</A>&amp; mf, <!1><A HREF="Vec4.html">Vec4</A>&amp; color)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_colorMode">
+<A NAME="DOC.2.27.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Material.html#DOC.2.27.2">ColorMode</A> _colorMode</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ambientFrontAndBack">
+<A NAME="DOC.2.27.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _ambientFrontAndBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ambientFront">
+<A NAME="DOC.2.27.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _ambientFront</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ambientBack">
+<A NAME="DOC.2.27.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _ambientBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_diffuseFrontAndBack">
+<A NAME="DOC.2.27.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _diffuseFrontAndBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_diffuseFront">
+<A NAME="DOC.2.27.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _diffuseFront</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_diffuseBack">
+<A NAME="DOC.2.27.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _diffuseBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_specularFrontAndBack">
+<A NAME="DOC.2.27.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _specularFrontAndBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_specularFront">
+<A NAME="DOC.2.27.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _specularFront</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_specularBack">
+<A NAME="DOC.2.27.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _specularBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_emissionFrontAndBack">
+<A NAME="DOC.2.27.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _emissionFrontAndBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_emissionFront">
+<A NAME="DOC.2.27.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _emissionFront</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_emissionBack">
+<A NAME="DOC.2.27.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _emissionBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_shininessFrontAndBack">
+<A NAME="DOC.2.27.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _shininessFrontAndBack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_shininessFront">
+<A NAME="DOC.2.27.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _shininessFront</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_shininessBack">
+<A NAME="DOC.2.27.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _shininessBack</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/RenderVisitor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/RenderVisitor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/RenderVisitor.html (revision 2)
@@ -0,0 +1,497 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::RenderVisitor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::RenderVisitor</A>: public <!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A></H2>
+<BLOCKQUOTE>Basic visitor for rendering a scene.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CNodeVisitor,MNodeVisitor.html,CRenderVisitor,MRenderVisitor.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>
+<A HREF="#DOC.2.41.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>TransparencySortMode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>CullingType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.41.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>RenderVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~RenderVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>reset</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Node.html">Node</A>&amp;)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Geode.html">Geode</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Group.html">Group</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="DCS.html">DCS</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Switch.html">Switch</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="LOD.html">LOD</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Scene.html">Scene</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setGlobalState</B>(<!1><A HREF="GeoState.html">GeoState</A>* global)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setPerspective</B>(float fovy, float aspect, float znear, float zfar)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLookAt</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; eye, const <!1><A HREF="Vec3.html">Vec3</A>&amp; center, const <!1><A HREF="Vec3.html">Vec3</A>&amp; upVector)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLookAt</B>(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setLODBias</B>(float bias)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>getLODBias</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTransparencySortMode</B>(<!1><A HREF="RenderVisitor.html#DOC.2.41.1">TransparencySortMode</A> tsm)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setCullingActive</B>(<!1><A HREF="RenderVisitor.html#DOC.2.41.2">CullingType</A> ct, bool active)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>getCullingActive</B>(<!1><A HREF="RenderVisitor.html#DOC.2.41.2">CullingType</A> ct)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>calcNearFar</B>(double&amp; near_plane, double&amp; far_plane)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>render</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.41.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_viewFrustumCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_smallFeatureCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.41.37">ViewStateStack</A> <B>_viewStateStack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ViewState.html">ViewState</A>* <B>_tvs</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="ViewState.html">ViewState</A>* <B>_cvs</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.43"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.41.41">OpaqueList</A> <B>_opaqueGeoSets</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.44"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.41.42">TransparentList</A> <B>_transparentGeoSets</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.45"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoState.html">GeoState</A>* <B>_globalState</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.46"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_LODBias</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.47"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_fovy</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.48"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_aspect</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.49"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_znear</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.50"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_zfar</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.52"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumTop</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.53"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumBottom</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.54"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumLeft</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.55"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumRight</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.56"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="RenderVisitor.html#DOC.2.41.1">TransparencySortMode</A> <B>_tsm</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.41.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>pushMatrix</B>(const <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>popMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Matrix.html">Matrix</A>* <B>getCurrentMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Matrix.html">Matrix</A>* <B>getInverseCurrentMatrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getEyeLocal</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getCenterLocal</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>getLookVectorLocal</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; sp)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.51"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>calculateClippingPlanes</B>()
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected</H3><DD><DT>
+<A HREF="#DOC.2.41.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::pair&lt;<!1><A HREF="Matrix.html">Matrix</A>*,<!1><A HREF="GeoSet.html">GeoSet</A>*&gt;  <B>MatrixGeoSet</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;<!1><A HREF="ViewState.html">ViewState</A>*&gt;  <B>ViewStateStack</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.41"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::multimap&lt;<!1><A HREF="GeoState.html">GeoState</A>*,<!1><A HREF="RenderVisitor.html#DOC.2.41.36">MatrixGeoSet</A>&gt;  <B>OpaqueList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.41.42"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::multimap&lt;float,<!1><A HREF="RenderVisitor.html#DOC.2.41.36">MatrixGeoSet</A>&gt;  <B>TransparentList</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="NodeVisitor.html">NodeVisitor</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>enum  <B>TraversalMode</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setTraverseMode</B>(<!1><A HREF="NodeVisitor.html#DOC.2.28.1">TraversalMode</A> mode)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.1">TraversalMode</A> <B>getTraverseMode</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setTraverseVisitor</B>(<!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A>* nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A>* <B>getTraverseVisitor</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>traverse</B>(<!1><A HREF="Node.html">Node</A>&amp; node)
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.7">NodeVisitor</A>* <B>_traverseVisitor</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="NodeVisitor.html#DOC.2.28.1">TraversalMode</A> <B>_traverseMode</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Basic visitor for rendering a scene.
+The visitor traverses the scene graph, collecting transparent
+and opaque osg::GeoSet's into a depth sorted transparent bin
+and a state sorted opaque bin.  The opaque bin is rendered first,
+and then the transparent bin in rendered in order from the furthest
+osg::GeoSet from the eye to the one nearest the eye.</BLOCKQUOTE>
+<DL>
+
+<A NAME="RenderVisitor">
+<A NAME="DOC.2.41.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> RenderVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~RenderVisitor">
+<A NAME="DOC.2.41.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~RenderVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="reset">
+<A NAME="DOC.2.41.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void reset()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Node.html">Node</A>&amp;)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Geode.html">Geode</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Group.html">Group</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="DCS.html">DCS</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Switch.html">Switch</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="LOD.html">LOD</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.41.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Scene.html">Scene</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setGlobalState">
+<A NAME="DOC.2.41.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setGlobalState(<!1><A HREF="GeoState.html">GeoState</A>* global)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setPerspective">
+<A NAME="DOC.2.41.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setPerspective(float fovy, float aspect, float znear, float zfar)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLookAt">
+<A NAME="DOC.2.41.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLookAt(const <!1><A HREF="Vec3.html">Vec3</A>&amp; eye, const <!1><A HREF="Vec3.html">Vec3</A>&amp; center, const <!1><A HREF="Vec3.html">Vec3</A>&amp; upVector)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLookAt">
+<A NAME="DOC.2.41.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLookAt(double eyeX, double eyeY, double eyeZ, double centerX, double centerY, double centerZ, double upX, double upY, double upZ)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setLODBias">
+<A NAME="DOC.2.41.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setLODBias(float bias)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLODBias">
+<A NAME="DOC.2.41.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getLODBias()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TransparencySortMode">
+<A NAME="DOC.2.41.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  TransparencySortMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="LOOK_VECTOR_DISTANCE">
+<A NAME="DOC.2.41.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> LOOK_VECTOR_DISTANCE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OBJECT_EYE_POINT_DISTANCE">
+<A NAME="DOC.2.41.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> OBJECT_EYE_POINT_DISTANCE</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setTransparencySortMode">
+<A NAME="DOC.2.41.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTransparencySortMode(<!1><A HREF="RenderVisitor.html#DOC.2.41.1">TransparencySortMode</A> tsm)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="CullingType">
+<A NAME="DOC.2.41.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  CullingType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="VIEW_FRUSTUM_CULLING">
+<A NAME="DOC.2.41.2.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> VIEW_FRUSTUM_CULLING</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SMALL_FEATURE_CULLING">
+<A NAME="DOC.2.41.2.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SMALL_FEATURE_CULLING</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="setCullingActive">
+<A NAME="DOC.2.41.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setCullingActive(<!1><A HREF="RenderVisitor.html#DOC.2.41.2">CullingType</A> ct, bool active)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCullingActive">
+<A NAME="DOC.2.41.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool getCullingActive(<!1><A HREF="RenderVisitor.html#DOC.2.41.2">CullingType</A> ct)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="calcNearFar">
+<A NAME="DOC.2.41.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool calcNearFar(double&amp; near_plane, double&amp; far_plane)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="render">
+<A NAME="DOC.2.41.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void render()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="pushMatrix">
+<A NAME="DOC.2.41.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void pushMatrix(const <!1><A HREF="Matrix.html">Matrix</A>&amp; matrix)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="popMatrix">
+<A NAME="DOC.2.41.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void popMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCurrentMatrix">
+<A NAME="DOC.2.41.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Matrix.html">Matrix</A>* getCurrentMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getInverseCurrentMatrix">
+<A NAME="DOC.2.41.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Matrix.html">Matrix</A>* getInverseCurrentMatrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getEyeLocal">
+<A NAME="DOC.2.41.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getEyeLocal()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getCenterLocal">
+<A NAME="DOC.2.41.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getCenterLocal()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getLookVectorLocal">
+<A NAME="DOC.2.41.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; getLookVectorLocal()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_viewFrustumCullingActive">
+<A NAME="DOC.2.41.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _viewFrustumCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_smallFeatureCullingActive">
+<A NAME="DOC.2.41.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _smallFeatureCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.41.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; sp)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.41.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="MatrixGeoSet">
+<A NAME="DOC.2.41.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::pair&lt;<!1><A HREF="Matrix.html">Matrix</A>*,<!1><A HREF="GeoSet.html">GeoSet</A>*&gt;  MatrixGeoSet</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ViewStateStack">
+<A NAME="DOC.2.41.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;<!1><A HREF="ViewState.html">ViewState</A>*&gt;  ViewStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_viewStateStack">
+<A NAME="DOC.2.41.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.41.37">ViewStateStack</A> _viewStateStack</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_tvs">
+<A NAME="DOC.2.41.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ViewState.html">ViewState</A>* _tvs</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_cvs">
+<A NAME="DOC.2.41.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="ViewState.html">ViewState</A>* _cvs</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="OpaqueList">
+<A NAME="DOC.2.41.41">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::multimap&lt;<!1><A HREF="GeoState.html">GeoState</A>*,<!1><A HREF="RenderVisitor.html#DOC.2.41.36">MatrixGeoSet</A>&gt;  OpaqueList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TransparentList">
+<A NAME="DOC.2.41.42">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::multimap&lt;float,<!1><A HREF="RenderVisitor.html#DOC.2.41.36">MatrixGeoSet</A>&gt;  TransparentList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_opaqueGeoSets">
+<A NAME="DOC.2.41.43">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.41.41">OpaqueList</A> _opaqueGeoSets</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_transparentGeoSets">
+<A NAME="DOC.2.41.44">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.41.42">TransparentList</A> _transparentGeoSets</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_globalState">
+<A NAME="DOC.2.41.45">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoState.html">GeoState</A>* _globalState</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_LODBias">
+<A NAME="DOC.2.41.46">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _LODBias</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_fovy">
+<A NAME="DOC.2.41.47">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _fovy</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_aspect">
+<A NAME="DOC.2.41.48">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _aspect</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_znear">
+<A NAME="DOC.2.41.49">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _znear</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_zfar">
+<A NAME="DOC.2.41.50">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _zfar</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="calculateClippingPlanes">
+<A NAME="DOC.2.41.51">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void calculateClippingPlanes()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumTop">
+<A NAME="DOC.2.41.52">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumTop</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumBottom">
+<A NAME="DOC.2.41.53">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumBottom</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumLeft">
+<A NAME="DOC.2.41.54">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumLeft</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumRight">
+<A NAME="DOC.2.41.55">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumRight</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_tsm">
+<A NAME="DOC.2.41.56">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="RenderVisitor.html#DOC.2.41.1">TransparencySortMode</A> _tsm</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Vec3.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Vec3.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Vec3.html (revision 2)
@@ -0,0 +1,263 @@
+<HTML>
+<HEAD>
+   <TITLE>class  osg::Vec3</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  <A HREF="#DOC.DOCU">osg::Vec3</A></H2>
+<BLOCKQUOTE>General purpose float triple for use as vertices, vectors and normals.</BLOCKQUOTE>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<A HREF="#DOC.2.60.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_v</B>[3]
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.60.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Vec3</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Vec3</B>(float <!1><A HREF="Vec3.html#DOC.2.60.15">x</A>, float <!1><A HREF="Vec3.html#DOC.2.60.16">y</A>, float <!1><A HREF="Vec3.html#DOC.2.60.17">z</A>)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>operator == </B>(const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; v) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float* <B>ptr</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   const float* <B>ptr</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   void <B>set</B>( float <!1><A HREF="Vec3.html#DOC.2.60.15">x</A>, float <!1><A HREF="Vec3.html#DOC.2.60.16">y</A>, float <!1><A HREF="Vec3.html#DOC.2.60.17">z</A>)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float&amp; <B>operator [] </B>(int i)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>operator [] </B>(int i) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float&amp; <B>x</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float&amp; <B>y</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float&amp; <B>z</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>x</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>y</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>z</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.60.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>operator * </B>(const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const 
+<DD><I>dot product</I>
+<DT>
+<A HREF="#DOC.2.60.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> <B>operator ^ </B>(const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const 
+<DD><I>cross product</I>
+<DT>
+<A HREF="#DOC.2.60.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> <B>operator * </B>(const float&amp; rhs) const 
+<DD><I>multiply by scalar</I>
+<DT>
+<A HREF="#DOC.2.60.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; <B>operator *= </B>(const float&amp; rhs)
+<DD><I>unary multiply by scalar</I>
+<DT>
+<A HREF="#DOC.2.60.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> <B>operator / </B>(const float&amp; rhs) const 
+<DD><I>divide by scalar</I>
+<DT>
+<A HREF="#DOC.2.60.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; <B>operator /= </B>(const float&amp; rhs)
+<DD><I>unary divide by scalar</I>
+<DT>
+<A HREF="#DOC.2.60.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> <B>operator + </B>(const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const 
+<DD><I>binary vector add</I>
+<DT>
+<A HREF="#DOC.2.60.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; <B>operator += </B>(const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs)
+<DD><I>unary vector add.</I>
+<DT>
+<A HREF="#DOC.2.60.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> <B>operator - </B>(const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const 
+<DD><I>binary vector subract</I>
+<DT>
+<A HREF="#DOC.2.60.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; <B>operator -= </B>(const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs)
+<DD><I>unary vector subract</I>
+<DT>
+<A HREF="#DOC.2.60.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> <B>operator - </B>() const 
+<DD><I>negation operator.  Returns the negative of the Vec3</I>
+<DT>
+<A HREF="#DOC.2.60.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>length</B>( void ) const 
+<DD><I>Length of the vector = sqrt( vec . vec )</I>
+<DT>
+<A HREF="#DOC.2.60.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>length2</B>( void ) const 
+<DD><I>Length squared of the vector = vec . vec</I>
+<DT>
+<A HREF="#DOC.2.60.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   float <B>normalize</B>()
+<DD><I>normalize the vector so that it has length unity returns the previous length of the vector</I>
+<DT>
+<A HREF="#DOC.2.60.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline  friend ostream&amp; <B>operator << </B>(ostream&amp; output, const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; vec)
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>General purpose float triple for use as vertices, vectors and normals.
+Provides general maths operations from addition through to cross products.
+No support yet added for float * Vec3 - is it necessary?
+Need to define a non-member non-friend operator*  etc.
+Vec3 * float is okay</BLOCKQUOTE>
+<DL>
+
+<A NAME="Vec3">
+<A NAME="DOC.2.60.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Vec3()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Vec3">
+<A NAME="DOC.2.60.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Vec3(float <!1><A HREF="Vec3.html#DOC.2.60.15">x</A>, float <!1><A HREF="Vec3.html#DOC.2.60.16">y</A>, float <!1><A HREF="Vec3.html#DOC.2.60.17">z</A>)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_v">
+<A NAME="DOC.2.60.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _v[3]</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator == ">
+<A NAME="DOC.2.60.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator == (const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; v) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ptr">
+<A NAME="DOC.2.60.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float* ptr()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ptr">
+<A NAME="DOC.2.60.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const float* ptr() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="set">
+<A NAME="DOC.2.60.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void set( float <!1><A HREF="Vec3.html#DOC.2.60.15">x</A>, float <!1><A HREF="Vec3.html#DOC.2.60.16">y</A>, float <!1><A HREF="Vec3.html#DOC.2.60.17">z</A>)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator [] ">
+<A NAME="DOC.2.60.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; operator [] (int i)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator [] ">
+<A NAME="DOC.2.60.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float operator [] (int i) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="x">
+<A NAME="DOC.2.60.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; x()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="y">
+<A NAME="DOC.2.60.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; y()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="z">
+<A NAME="DOC.2.60.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float&amp; z()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="x">
+<A NAME="DOC.2.60.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float x() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="y">
+<A NAME="DOC.2.60.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float y() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="z">
+<A NAME="DOC.2.60.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float z() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.60.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float operator * (const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const </B></TT>
+<DD>dot product
+<DL><DT><DD></DL><P>
+<A NAME="operator ^ ">
+<A NAME="DOC.2.60.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> operator ^ (const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const </B></TT>
+<DD>cross product
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.60.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> operator * (const float&amp; rhs) const </B></TT>
+<DD>multiply by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator *= ">
+<A NAME="DOC.2.60.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; operator *= (const float&amp; rhs)</B></TT>
+<DD>unary multiply by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator / ">
+<A NAME="DOC.2.60.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> operator / (const float&amp; rhs) const </B></TT>
+<DD>divide by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator /= ">
+<A NAME="DOC.2.60.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; operator /= (const float&amp; rhs)</B></TT>
+<DD>unary divide by scalar
+<DL><DT><DD></DL><P>
+<A NAME="operator + ">
+<A NAME="DOC.2.60.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> operator + (const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const </B></TT>
+<DD>binary vector add
+<DL><DT><DD></DL><P>
+<A NAME="operator += ">
+<A NAME="DOC.2.60.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; operator += (const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs)</B></TT>
+<DD>unary vector add.  Slightly more efficient because no temporary
+intermediate object
+<DL><DT><DD></DL><P>
+<A NAME="operator - ">
+<A NAME="DOC.2.60.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> operator - (const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs) const </B></TT>
+<DD>binary vector subract
+<DL><DT><DD></DL><P>
+<A NAME="operator -= ">
+<A NAME="DOC.2.60.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; operator -= (const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; rhs)</B></TT>
+<DD>unary vector subract
+<DL><DT><DD></DL><P>
+<A NAME="operator - ">
+<A NAME="DOC.2.60.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A> operator - () const </B></TT>
+<DD>negation operator.  Returns the negative of the Vec3
+<DL><DT><DD></DL><P>
+<A NAME="length">
+<A NAME="DOC.2.60.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float length( void ) const </B></TT>
+<DD>Length of the vector = sqrt( vec . vec )
+<DL><DT><DD></DL><P>
+<A NAME="length2">
+<A NAME="DOC.2.60.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float length2( void ) const </B></TT>
+<DD>Length squared of the vector = vec . vec
+<DL><DT><DD></DL><P>
+<A NAME="normalize">
+<A NAME="DOC.2.60.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   float normalize()</B></TT>
+<DD>normalize the vector so that it has length unity
+returns the previous length of the vector
+<DL><DT><DD></DL><P>
+<A NAME="operator << ">
+<A NAME="DOC.2.60.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline  friend ostream&amp; operator << (ostream&amp; output, const <!1><A HREF="Vec3.html#DOC.2.60.3">Vec3</A>&amp; vec)</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Switch.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Switch.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Switch.html (revision 2)
@@ -0,0 +1,295 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Switch</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Switch</A>: public <!1><A HREF="Group.html#DOC.2.18.9">Group</A></H2>
+<BLOCKQUOTE>Switch - Group node which allows switching between children.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=155>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CNode,MNode.html,CGroup,MGroup.html,CSwitch,MSwitch.html">
+<param name=before value="M,M,M,M,M">
+<param name=after value="Md_SPSPSP,Md_SPSP,Md_SP,Md_,M">
+<param name=indent value="0,1,2,3,4">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.52.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>SwitchType</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.52.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Switch</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>accept</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>traverse</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setVal</B>(int val)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>getVal</B>() const 
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.52.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_value</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.52.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Switch</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.52.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Group.html">Group</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>addChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>removeChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *child )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>replaceChild</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A> *origChild, <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* newChild )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumChildren</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>getChild</B>( int i )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>containsNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>ChildList::iterator <B>findNode</B>( <!1><A HREF="Node.html#DOC.2.30.1">Node</A>* node )
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="Node.html#DOC.2.30.1">Node</A>&gt; &gt;  <B>ChildList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Group.html#DOC.2.18.8">ChildList</A> <B>_children</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>computeBound</B>( void )
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Node.html">Node</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.1">Node</A>* <B>cloneNode</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   void <B>ascend</B>(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const std::string&amp; name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setName</B>( const char* name )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getName</B>( void )
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.12">ParentList</A>&amp; <B>getParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.39">Group</A>* <B>getParent</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumParents</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setUserData</B>(void* data, <!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* ma=0L)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>getUserData</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>* <B>getMemoryAdapter</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>setNodeMask</B>(<!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> nm)
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>getNodeMask</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A>&amp; <B>getDescriptions</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const std::string&amp; <B>getDescription</B>(int i) const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string&amp; <B>getDescription</B>(int i)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>getNumDescriptions</B>() const 
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>addDescription</B>(const std::string&amp; desc)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; <B>getBound</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>dirtyBound</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;<!1><A HREF="Node.html#DOC.2.30.39">Group</A>*&gt;  <B>ParentList</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  unsigned int <B>NodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>typedef  std::vector&lt;std::string&gt;  <B>DescriptionList</B>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="BoundingSphere.html">BoundingSphere</A> <B>_bsphere</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>bool <B>_bsphere_computed</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>std::string <B>_name</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.12">ParentList</A> <B>_parents</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>friend <B>Group</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void* <B>_userData</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="ref_ptr.html">ref_ptr</A>&lt;<!1><A HREF="MemoryAdapter.html">MemoryAdapter</A>&gt;  <B>_memoryAdapter</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.34">NodeMask</A> <B>_nodeMask</B>
+<DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Node.html#DOC.2.30.21">DescriptionList</A> <B>_descriptions</B>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Switch - Group node which allows switching between children.
+Typical uses would be for objects which might need to be rendered
+differently at different times, for instance a switch could be used 
+to represent the different states of a traffic light.</BLOCKQUOTE>
+<DL>
+
+<A NAME="SwitchType">
+<A NAME="DOC.2.52.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  SwitchType</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="ALL_CHILDREN_ON">
+<A NAME="DOC.2.52.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALL_CHILDREN_ON</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ALL_CHILDREN_OFF">
+<A NAME="DOC.2.52.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ALL_CHILDREN_OFF</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="Switch">
+<A NAME="DOC.2.52.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Switch()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.52.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.52.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.52.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="accept">
+<A NAME="DOC.2.52.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void accept(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="traverse">
+<A NAME="DOC.2.52.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void traverse(<!1><A HREF="NodeVisitor.html">NodeVisitor</A>&amp; nv)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setVal">
+<A NAME="DOC.2.52.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setVal(int val)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getVal">
+<A NAME="DOC.2.52.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int getVal() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Switch">
+<A NAME="DOC.2.52.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Switch()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.52.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.52.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_value">
+<A NAME="DOC.2.52.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _value</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Matrix.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Matrix.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Matrix.html (revision 2)
@@ -0,0 +1,356 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Matrix</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Matrix</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<BLOCKQUOTE>4x4 Matrix for storage & manipulation of transformations in scene graph.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CMatrix,MMatrix.html,CTexMat,MTexMat.html">
+<param name=before value="M,M,M,M^_">
+<param name=after value="Md_SP,Md_,M,M">
+<param name=indent value="0,1,2,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Fields</H3><DD><DT>
+<A HREF="#DOC.2.28.38"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_mat</B>[4][4]
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.28.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Matrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Matrix</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Matrix</B>( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; <B>operator = </B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Matrix</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>makeIdent</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>set</B>(const float* m)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>copy</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>makeScale</B>(float sx, float sy, float sz)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>preScale</B>( float sx, float sy, float sz, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>postScale</B>( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float sx, float sy, float sz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>preScale</B>( float sx, float sy, float sz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>postScale</B>( float sx, float sy, float sz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>makeTrans</B>( float tx, float ty, float tz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>preTrans</B>( float tx, float ty, float tz, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>postTrans</B>( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float tx, float ty, float tz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.21"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>preTrans</B>( float tx, float ty, float tz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.22"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>postTrans</B>( float tx, float ty, float tz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.23"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>makeRot</B>( float deg, float x, float y, float z )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.24"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>preRot</B>( float deg, float x, float y, float z, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.25"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>postRot</B>( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float deg, float x, float y, float z )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.26"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>preRot</B>( float deg, float x, float y, float z )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.27"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>postRot</B>( float deg, float x, float y, float z )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.28"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTrans</B>( float tx, float ty, float tz )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.29"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTrans</B>( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.30"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>getTrans</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.31"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>preMult</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.32"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>postMult</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.33"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>mult</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; lhs, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; rhs)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.34"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A> <B>operator * </B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.35"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="Vec3.html">Vec3</A> <B>operator * </B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.36"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   friend <!1><A HREF="Vec3.html">Vec3</A> <B>operator * </B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.37"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>invert</B>(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.28.39"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.28.40"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>4x4 Matrix for storage & manipulation of transformations in scene graph. 
+Provides basic maths operations, IO and via osg::Object reference counting.</BLOCKQUOTE>
+<DL>
+
+<A NAME="Matrix">
+<A NAME="DOC.2.28.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Matrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Matrix">
+<A NAME="DOC.2.28.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Matrix(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Matrix">
+<A NAME="DOC.2.28.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Matrix( float a00, float a01, float a02, float a03, float a10, float a11, float a12, float a13, float a20, float a21, float a22, float a23, float a30, float a31, float a32, float a33)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.28.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; operator = (const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Matrix">
+<A NAME="DOC.2.28.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Matrix()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.28.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.28.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.28.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.28.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="makeIdent">
+<A NAME="DOC.2.28.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeIdent()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="set">
+<A NAME="DOC.2.28.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const float* m)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="copy">
+<A NAME="DOC.2.28.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void copy(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; matrix)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="makeScale">
+<A NAME="DOC.2.28.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeScale(float sx, float sy, float sz)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="preScale">
+<A NAME="DOC.2.28.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preScale( float sx, float sy, float sz, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="postScale">
+<A NAME="DOC.2.28.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postScale( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float sx, float sy, float sz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="preScale">
+<A NAME="DOC.2.28.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preScale( float sx, float sy, float sz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="postScale">
+<A NAME="DOC.2.28.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postScale( float sx, float sy, float sz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="makeTrans">
+<A NAME="DOC.2.28.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeTrans( float tx, float ty, float tz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="preTrans">
+<A NAME="DOC.2.28.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preTrans( float tx, float ty, float tz, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="postTrans">
+<A NAME="DOC.2.28.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postTrans( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float tx, float ty, float tz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="preTrans">
+<A NAME="DOC.2.28.21">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preTrans( float tx, float ty, float tz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="postTrans">
+<A NAME="DOC.2.28.22">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postTrans( float tx, float ty, float tz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="makeRot">
+<A NAME="DOC.2.28.23">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void makeRot( float deg, float x, float y, float z )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="preRot">
+<A NAME="DOC.2.28.24">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preRot( float deg, float x, float y, float z, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="postRot">
+<A NAME="DOC.2.28.25">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postRot( const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m, float deg, float x, float y, float z )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="preRot">
+<A NAME="DOC.2.28.26">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preRot( float deg, float x, float y, float z )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="postRot">
+<A NAME="DOC.2.28.27">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postRot( float deg, float x, float y, float z )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setTrans">
+<A NAME="DOC.2.28.28">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTrans( float tx, float ty, float tz )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setTrans">
+<A NAME="DOC.2.28.29">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTrans( const <!1><A HREF="Vec3.html">Vec3</A>&amp; v )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="getTrans">
+<A NAME="DOC.2.28.30">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> getTrans() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="preMult">
+<A NAME="DOC.2.28.31">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void preMult(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="postMult">
+<A NAME="DOC.2.28.32">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void postMult(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="mult">
+<A NAME="DOC.2.28.33">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void mult(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; lhs, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; rhs)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.28.34">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A> operator * (const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.28.35">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Vec3.html">Vec3</A> operator * (const <!1><A HREF="Vec3.html">Vec3</A>&amp; v) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator * ">
+<A NAME="DOC.2.28.36">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   friend <!1><A HREF="Vec3.html">Vec3</A> operator * (const <!1><A HREF="Vec3.html">Vec3</A>&amp; v, const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="invert">
+<A NAME="DOC.2.28.37">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool invert(const <!1><A HREF="Matrix.html#DOC.2.28.1">Matrix</A>&amp; m)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_mat">
+<A NAME="DOC.2.28.38">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _mat[4][4]</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="readLocalData">
+<A NAME="DOC.2.28.39">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool readLocalData(<!1><A HREF="Input.html">Input</A>&amp; fr)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="writeLocalData">
+<A NAME="DOC.2.28.40">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool writeLocalData(<!1><A HREF="Output.html">Output</A>&amp; fw)</B></TT>
+<DL><DT><DD></DL><P></DL>
+<HR>
+<DL><DT><B>Direct child classes:
+</B><DD><A HREF="TexMat.html">TexMat</A><BR>
+</DL>
+
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/NodeVisitor.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/NodeVisitor.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/NodeVisitor.html (revision 2)
@@ -0,0 +1,241 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::NodeVisitor</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::NodeVisitor</A>: public <!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A></H2>
+<BLOCKQUOTE>Visitor for type safe operations on osg::Node's.</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CReferenced,MReferenced.html,CNodeVisitor,MNodeVisitor.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>
+<A HREF="#DOC.2.32.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>TraversalMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.32.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>NodeVisitor</B>(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> tm=TRAVERSE_NONE)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~NodeVisitor</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTraverseMode</B>(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> mode)
+<DD><I>Set the traversal mode for Node::traverse() to use when  deciding which children of a node to traverse.</I>
+<DT>
+<A HREF="#DOC.2.32.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> <B>getTraverseMode</B>()
+<DD><I>Get the traversal mode</I>
+<DT>
+<A HREF="#DOC.2.32.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setTraverseVisitor</B>(<!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* nv)
+<DD><I>Set a visitor to handle traversal.</I>
+<DT>
+<A HREF="#DOC.2.32.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* <B>getTraverseVisitor</B>()
+<DD><I>Get the traverse visitor, returns NULL if none is attached</I>
+<DT>
+<A HREF="#DOC.2.32.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>traverse</B>(<!1><A HREF="Node.html">Node</A>&amp; node)
+<DD><I>Inline method for passing handling traversal of a nodes.</I>
+<DT>
+<A HREF="#DOC.2.32.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Node.html">Node</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Geode.html">Geode</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="LightSource.html">LightSource</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Group.html">Group</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="DCS.html">DCS</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Switch.html">Switch</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Sequence.html">Sequence</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="LOD.html">LOD</A>&amp; node)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   void <B>apply</B>(<!1><A HREF="Scene.html">Scene</A>&amp; node)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.32.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* <B>_traverseVisitor</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.32.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> <B>_traverseMode</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Visitor for type safe operations on osg::Node's.
+Based on GOF's Visitor pattern.</BLOCKQUOTE>
+<DL>
+
+<A NAME="TraversalMode">
+<A NAME="DOC.2.32.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  TraversalMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="TRAVERSE_NONE">
+<A NAME="DOC.2.32.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_NONE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRAVERSE_PARENTS">
+<A NAME="DOC.2.32.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_PARENTS</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRAVERSE_ALL_CHILDREN">
+<A NAME="DOC.2.32.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_ALL_CHILDREN</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRAVERSE_ACTIVE_CHILDREN">
+<A NAME="DOC.2.32.1.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_ACTIVE_CHILDREN</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="TRAVERSE_VISITOR">
+<A NAME="DOC.2.32.1.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TRAVERSE_VISITOR</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="NodeVisitor">
+<A NAME="DOC.2.32.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> NodeVisitor(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> tm=TRAVERSE_NONE)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~NodeVisitor">
+<A NAME="DOC.2.32.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~NodeVisitor()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setTraverseMode">
+<A NAME="DOC.2.32.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTraverseMode(<!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> mode)</B></TT>
+<DD>Set the traversal mode for Node::traverse() to use when 
+deciding which children of a node to traverse. If a
+NodeVisitor has been attached via setTraverseVisitor()
+and the new mode is not TRAVERSE_VISITOR then the attached
+visitor is detached. Default mode is TRAVERSE_NONE.
+<DL><DT><DD></DL><P>
+<A NAME="getTraverseMode">
+<A NAME="DOC.2.32.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> getTraverseMode()</B></TT>
+<DD>Get the traversal mode
+<DL><DT><DD></DL><P>
+<A NAME="setTraverseVisitor">
+<A NAME="DOC.2.32.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setTraverseVisitor(<!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* nv)</B></TT>
+<DD>Set a visitor to handle traversal.
+Overides the traverse mode setting it to TRAVERSE_VISITOR.
+<DL><DT><DD></DL><P>
+<A NAME="getTraverseVisitor">
+<A NAME="DOC.2.32.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* getTraverseVisitor()</B></TT>
+<DD>Get the traverse visitor, returns NULL if none is attached
+<DL><DT><DD></DL><P>
+<A NAME="traverse">
+<A NAME="DOC.2.32.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void traverse(<!1><A HREF="Node.html">Node</A>&amp; node)</B></TT>
+<DD>Inline method for passing handling traversal of a nodes.
+If you intend to use the visitor for actively traversing 
+the scene graph then make sure the accept() methods call
+this method unless they handle traversal directly.
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Node.html">Node</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Geode.html">Geode</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Billboard.html">Billboard</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="LightSource.html">LightSource</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Group.html">Group</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="DCS.html">DCS</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Switch.html">Switch</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Sequence.html">Sequence</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="LOD.html">LOD</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.32.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void apply(<!1><A HREF="Scene.html">Scene</A>&amp; node)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_traverseVisitor">
+<A NAME="DOC.2.32.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.7">NodeVisitor</A>* _traverseVisitor</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_traverseMode">
+<A NAME="DOC.2.32.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodeVisitor.html#DOC.2.32.1">TraversalMode</A> _traverseMode</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Transparency.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Transparency.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Transparency.html (revision 2)
@@ -0,0 +1,220 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Transparency</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Transparency</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CTransparency,MTransparency.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
+</APPLET>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Classes</H3><DD><DT>
+<A HREF="#DOC.2.58.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>enum  <B>TransparencyMode</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.58.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Transparency</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   <!1><A HREF="Transparency.html#DOC.2.58.2">Transparency</A>* <B>instance</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>clone</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   bool <B>isSameKindAs</B>(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   const char* <B>className</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>setFunction</B>( int source, int destination )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>enable</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   void <B>disable</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>apply</B>( void )
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.58.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_source_factor</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.58.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_destination_factor</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.58.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Transparency</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Object.html">Object</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* <B>readClone</B>(<!1><A HREF="Input.html">Input</A>&amp; fr)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>write</B>(<!1><A HREF="Output.html">Output</A>&amp; fw)
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>readLocalData</B>(<!1><A HREF="Input.html">Input</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>virtual   bool <B>writeLocalData</B>(<!1><A HREF="Output.html">Output</A>&amp;)
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="TransparencyMode">
+<A NAME="DOC.2.58.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>enum  TransparencyMode</B></TT>
+<DL><DT><DD></DL><P><DL>
+
+<A NAME="DST_ALPHA">
+<A NAME="DOC.2.58.1.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DST_ALPHA</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="DST_COLOR">
+<A NAME="DOC.2.58.1.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> DST_COLOR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ONE">
+<A NAME="DOC.2.58.1.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ONE_MINUS_DST_ALPHA">
+<A NAME="DOC.2.58.1.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_DST_ALPHA</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ONE_MINUS_DST_COLOR">
+<A NAME="DOC.2.58.1.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_DST_COLOR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ONE_MINUS_SRC_ALPHA">
+<A NAME="DOC.2.58.1.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_SRC_ALPHA</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ONE_MINUS_SRC_COLOR">
+<A NAME="DOC.2.58.1.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ONE_MINUS_SRC_COLOR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SRC_ALPHA">
+<A NAME="DOC.2.58.1.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SRC_ALPHA</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SRC_ALPHA_SATURATE">
+<A NAME="DOC.2.58.1.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SRC_ALPHA_SATURATE</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="SRC_COLOR">
+<A NAME="DOC.2.58.1.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> SRC_COLOR</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="ZERO">
+<A NAME="DOC.2.58.1.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ZERO</B></TT>
+<DL><DT><DD></DL><P></DL>
+
+<A NAME="Transparency">
+<A NAME="DOC.2.58.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Transparency()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="instance">
+<A NAME="DOC.2.58.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   <!1><A HREF="Transparency.html#DOC.2.58.2">Transparency</A>* instance()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="clone">
+<A NAME="DOC.2.58.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   <!1><A HREF="Object.html#DOC.2.36.1">Object</A>* clone() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isSameKindAs">
+<A NAME="DOC.2.58.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   bool isSameKindAs(<!1><A HREF="Object.html#DOC.2.36.1">Object</A>* obj)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="className">
+<A NAME="DOC.2.58.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   const char* className() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="setFunction">
+<A NAME="DOC.2.58.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setFunction( int source, int destination )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="enable">
+<A NAME="DOC.2.58.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void enable( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="disable">
+<A NAME="DOC.2.58.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   void disable( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="apply">
+<A NAME="DOC.2.58.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void apply( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Transparency">
+<A NAME="DOC.2.58.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Transparency()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_source_factor">
+<A NAME="DOC.2.58.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _source_factor</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_destination_factor">
+<A NAME="DOC.2.58.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _destination_factor</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/ViewState.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/ViewState.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/ViewState.html (revision 2)
@@ -0,0 +1,185 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::ViewState</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::ViewState</A>: public <!1><A HREF="Referenced.html#DOC.2.35.4">Referenced</A></H2>
+<BLOCKQUOTE>Container class for encapsulating the viewing state in local coordinates, during the cull traversal</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CReferenced,MReferenced.html,CViewState,MViewState.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 Fields</H3><DD><DT>
+<A HREF="#DOC.2.40.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Matrix.html">Matrix</A>* <B>_matrix</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Matrix.html">Matrix</A>* <B>_inverse</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_eyePoint</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_centerPoint</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_lookVector</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_upVector</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumTopNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumBottomNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumLeftNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_frustumRightNormal</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_ratio</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_viewFrustumCullingActive</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>_smallFeatureCullingActive</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.40.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>ViewState</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; sp)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.40.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>isCulled</B>(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb)
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.40.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~ViewState</B>()
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif><!1><A HREF="Referenced.html#DOC.2.35.4">Referenced</A>&amp; <B>operator = </B>(<!1><A HREF="Referenced.html#DOC.2.35.4">Referenced</A>&amp;)
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_reference</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Container class for encapsulating the viewing state in local
+coordinates, during the cull traversal</BLOCKQUOTE>
+<DL>
+
+<A NAME="ViewState">
+<A NAME="DOC.2.40.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ViewState()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_matrix">
+<A NAME="DOC.2.40.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Matrix.html">Matrix</A>* _matrix</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_inverse">
+<A NAME="DOC.2.40.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Matrix.html">Matrix</A>* _inverse</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_eyePoint">
+<A NAME="DOC.2.40.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _eyePoint</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_centerPoint">
+<A NAME="DOC.2.40.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _centerPoint</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_lookVector">
+<A NAME="DOC.2.40.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _lookVector</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_upVector">
+<A NAME="DOC.2.40.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _upVector</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumTopNormal">
+<A NAME="DOC.2.40.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumTopNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumBottomNormal">
+<A NAME="DOC.2.40.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumBottomNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumLeftNormal">
+<A NAME="DOC.2.40.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumLeftNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_frustumRightNormal">
+<A NAME="DOC.2.40.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _frustumRightNormal</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ratio">
+<A NAME="DOC.2.40.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _ratio</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_viewFrustumCullingActive">
+<A NAME="DOC.2.40.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _viewFrustumCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_smallFeatureCullingActive">
+<A NAME="DOC.2.40.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _smallFeatureCullingActive</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.40.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; sp)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="isCulled">
+<A NAME="DOC.2.40.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isCulled(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~ViewState">
+<A NAME="DOC.2.40.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~ViewState()</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/General.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/General.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/General.html (revision 2)
@@ -0,0 +1,489 @@
+<HTML>
+<HEAD>
+   <TITLE>General Bits</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<DL>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_ALPHAFUNC"></A>
+<B>OSG_ALPHAFUNC</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_BILLBOARD"></A>
+<B>OSG_BILLBOARD</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_BOUNDINGBOX"></A>
+<B>OSG_BOUNDINGBOX</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_BOUNDINGSPHERE"></A>
+<B>OSG_BOUNDINGSPHERE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_CAMERA"></A>
+<B>OSG_CAMERA</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_CULLFACE"></A>
+<B>OSG_CULLFACE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_DCS"></A>
+<B>OSG_DCS</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_DYNAMICLIBRARY"></A>
+<B>OSG_DYNAMICLIBRARY</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_EXPORT"></A>
+<B>OSG_EXPORT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="NULL"></A>
+<B>NULL</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="NULL"></A>
+<B>NULL</B>((void *)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="SG_EXPORT"></A>
+<B>SG_EXPORT</B>(dllexport)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="SG_EXPORT"></A>
+<B>SG_EXPORT</B>(dllimport)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_EXTENSIONSUPPORTED"></A>
+<B>OSG_EXTENSIONSUPPORTED</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_FIELD"></A>
+<B>OSG_FIELD</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_FIELDREADER"></A>
+<B>OSG_FIELDREADER</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_FIELDREADERITERATOR"></A>
+<B>OSG_FIELDREADERITERATOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_FILENAMEUTILS"></A>
+<B>OSG_FILENAMEUTILS</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_FOG"></A>
+<B>OSG_FOG</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_GL"></A>
+<B>OSG_GL</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="WIN32_LEAN_AND_MEAN"></A>
+<B>WIN32_LEAN_AND_MEAN</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="GLUT_APIENTRY_DEFINED"></A>
+<B>GLUT_APIENTRY_DEFINED</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="APIENTRY"></A>
+<B>APIENTRY</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="APIENTRY"></A>
+<B>APIENTRY</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="CALLBACK"></A>
+<B>CALLBACK</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="CALLBACK"></A>
+<B>CALLBACK</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="GLUT_WINGDIAPI_DEFINED"></A>
+<B>GLUT_WINGDIAPI_DEFINED</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="WINGDIAPI"></A>
+<B>WINGDIAPI</B>(dllimport)<DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>typedef  unsigned short<A NAME="wchar_t"></A>
+<B>wchar_t</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="_WCHAR_T_DEFINED"></A>
+<B>_WCHAR_T_DEFINED</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="GL_GLEXT_LEGACY"></A>
+<B>GL_GLEXT_LEGACY</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_GEOSET"></A>
+<B>OSG_GEOSET</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_GEOSTATE"></A>
+<B>OSG_GEOSTATE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_GEODE"></A>
+<B>OSG_GEODE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_GROUP"></A>
+<B>OSG_GROUP</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_IMAGE"></A>
+<B>OSG_IMAGE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_INPUT"></A>
+<B>OSG_INPUT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_LOD"></A>
+<B>OSG_LOD</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_LIGHT"></A>
+<B>OSG_LIGHT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_LIGHTSOURCE"></A>
+<B>OSG_LIGHTSOURCE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_LIGHTING"></A>
+<B>OSG_LIGHTING</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_MATERIAL"></A>
+<B>OSG_MATERIAL</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_MATRIX"></A>
+<B>OSG_MATRIX</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_NODE"></A>
+<B>OSG_NODE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_NODEVISITOR"></A>
+<B>OSG_NODEVISITOR</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_NOTIFY"></A>
+<B>OSG_NOTIFY</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_OSG"></A>
+<B>OSG_OSG</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_OBJECT"></A>
+<B>OSG_OBJECT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_OUTPUT"></A>
+<B>OSG_OUTPUT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_POINT"></A>
+<B>OSG_POINT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_POLYGONOFFSET"></A>
+<B>OSG_POLYGONOFFSET</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_QUAT"></A>
+<B>OSG_QUAT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_REFERENCED"></A>
+<B>OSG_REFERENCED</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_REGISTRY"></A>
+<B>OSG_REGISTRY</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_SCENE"></A>
+<B>OSG_SCENE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_SEG"></A>
+<B>OSG_SEG</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_SEQUENCE"></A>
+<B>OSG_SEQUENCE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_STATE"></A>
+<B>OSG_STATE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_SWITCH"></A>
+<B>OSG_SWITCH</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_TEXENV"></A>
+<B>OSG_TEXENV</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_TEXGEN"></A>
+<B>OSG_TEXGEN</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_TEXMAT"></A>
+<B>OSG_TEXMAT</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_TEXTURE"></A>
+<B>OSG_TEXTURE</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_TIMER"></A>
+<B>OSG_TIMER</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_TRANSPARENCY"></A>
+<B>OSG_TRANSPARENCY</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_TYPES"></A>
+<B>OSG_TYPES</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_VEC2"></A>
+<B>OSG_VEC2</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_VEC3"></A>
+<B>OSG_VEC3</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_VEC4"></A>
+<B>OSG_VEC4</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif>#define<A NAME="OSG_VERSION"></A>
+<B>OSG_VERSION</B><DD><I></I>
+<DT>
+
+<IMG ALT="o" BORDER=0 SRC=icon1.gif><A NAME=""></A>
+<B></B><DD><I></I>
+</DL>
+<I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">Hierarchy of classes</A></I></P><HR>
+<BR>
+This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
+</BODY>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/osgGetLibraryName.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/osgGetLibraryName.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/osgGetLibraryName.html (revision 2)
@@ -0,0 +1,21 @@
+<HTML>
+<HEAD>
+   <TITLE>extern SG_EXPORT const char* osgGetLibraryName</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>extern SG_EXPORT const char* <A HREF="#DOC.DOCU">osgGetLibraryName</A>()</H2>
+<BLOCKQUOTE> getLibraryName_osg() returns the library name in human friendly form</BLOCKQUOTE>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>
+getLibraryName_osg() returns the library name in human friendly form</BLOCKQUOTE>
+<DL>
+</DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/UnrefOp.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/UnrefOp.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/UnrefOp.html (revision 2)
@@ -0,0 +1,32 @@
+<HTML>
+<HEAD>
+   <TITLE>template<class T> struct  osg::UnrefOp</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>template&lt;class T&gt; struct  <A HREF="#DOC.DOCU">osg::UnrefOp</A></H2>
+<BLOCKQUOTE>Convience functor for unreferencing objects</BLOCKQUOTE>
+
+<HR>
+<P><DL>
+ <DT>
+<A HREF="#DOC.2.41.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>operator () </B>(T* node)
+<DD><I></I>
+</DL></P>
+
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Convience functor for unreferencing objects</BLOCKQUOTE>
+<DL>
+
+<A NAME="operator () ">
+<A NAME="DOC.2.41.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void operator () (T* node)</B></TT>
+<DL><DT><DD></DL><P></DL>
+<DL><DT><DD></DL><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Seg.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Seg.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Seg.html (revision 2)
@@ -0,0 +1,210 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Seg</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Seg</A>: public <!1><A HREF="Referenced.html#DOC.2.43.4">Referenced</A></H2>
+<BLOCKQUOTE>Segment class for representing a line segment</BLOCKQUOTE>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CReferenced,MReferenced.html,CSeg,MSeg.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 Methods</H3><DD><DT>
+<A HREF="#DOC.2.49.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Seg</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Seg</B>(const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Seg</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; s, const <!1><A HREF="Vec3.html">Vec3</A>&amp; e)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>virtual   <B>~Seg</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; <B>operator = </B>(const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>set</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; s, const <!1><A HREF="Vec3.html">Vec3</A>&amp; e)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>start</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A>&amp; <B>start</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>const <!1><A HREF="Vec3.html">Vec3</A>&amp; <B>end</B>() const 
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.17"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A>&amp; <B>end</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>intersect</B>(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb) const 
+<DD><I>return true if segment intersects BoundingBox</I>
+<DT>
+<A HREF="#DOC.2.49.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>intersect</B>(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb, float&amp; r1, float&amp; r2) const 
+<DD><I>return true if segment intersects BoundingSphere and return the intersection ratio's</I>
+<DT>
+<A HREF="#DOC.2.49.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>intersect</B>(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; bs) const 
+<DD><I>return true if segment intersects BoundingSphere</I>
+<DT>
+<A HREF="#DOC.2.49.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>intersect</B>(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; bs, float&amp; r1, float&amp; r2) const 
+<DD><I>return true if segment intersects BoundingSphere and return the intersection ratio's</I>
+<DT>
+<A HREF="#DOC.2.49.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>intersect</B>(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v1, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v2, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v3, float&amp; r)
+<DD><I>return true if segment intersects triangle and set ratio long segment.</I>
+<DT>
+<A HREF="#DOC.2.49.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>mult</B>(const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg, const <!1><A HREF="Matrix.html">Matrix</A>&amp; m)
+<DD><I>post multiply a segment by matrix</I>
+<DT>
+<A HREF="#DOC.2.49.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>void <B>mult</B>(const <!1><A HREF="Matrix.html">Matrix</A>&amp; m, const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg)
+<DD><I>pre multiply a segment by matrix</I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<A HREF="#DOC.2.49.19"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_s</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.49.20"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_e</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Methods</H3><DD><DT>
+<A HREF="#DOC.2.49.18"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>static   bool <B>intersectAndClip</B>(<!1><A HREF="Vec3.html">Vec3</A>&amp; s, <!1><A HREF="Vec3.html">Vec3</A>&amp; e, const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb)
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_refCount</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<BLOCKQUOTE>Segment class for representing a line segment</BLOCKQUOTE>
+<DL>
+
+<A NAME="Seg">
+<A NAME="DOC.2.49.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Seg()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Seg">
+<A NAME="DOC.2.49.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Seg(const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Seg">
+<A NAME="DOC.2.49.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Seg(const <!1><A HREF="Vec3.html">Vec3</A>&amp; s, const <!1><A HREF="Vec3.html">Vec3</A>&amp; e)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Seg">
+<A NAME="DOC.2.49.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Seg()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.49.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; operator = (const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="set">
+<A NAME="DOC.2.49.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void set(const <!1><A HREF="Vec3.html">Vec3</A>&amp; s, const <!1><A HREF="Vec3.html">Vec3</A>&amp; e)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="start">
+<A NAME="DOC.2.49.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; start() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="start">
+<A NAME="DOC.2.49.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A>&amp; start()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="end">
+<A NAME="DOC.2.49.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>const <!1><A HREF="Vec3.html">Vec3</A>&amp; end() const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="end">
+<A NAME="DOC.2.49.17">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A>&amp; end()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="intersect">
+<A NAME="DOC.2.49.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool intersect(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb) const </B></TT>
+<DD>return true if segment intersects BoundingBox
+<DL><DT><DD></DL><P>
+<A NAME="intersect">
+<A NAME="DOC.2.49.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool intersect(const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb, float&amp; r1, float&amp; r2) const </B></TT>
+<DD>return true if segment intersects BoundingSphere and return the intersection ratio's
+<DL><DT><DD></DL><P>
+<A NAME="intersect">
+<A NAME="DOC.2.49.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool intersect(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; bs) const </B></TT>
+<DD>return true if segment intersects BoundingSphere
+<DL><DT><DD></DL><P>
+<A NAME="intersect">
+<A NAME="DOC.2.49.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool intersect(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>&amp; bs, float&amp; r1, float&amp; r2) const </B></TT>
+<DD>return true if segment intersects BoundingSphere and return the intersection ratio's
+<DL><DT><DD></DL><P>
+<A NAME="intersect">
+<A NAME="DOC.2.49.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool intersect(const <!1><A HREF="Vec3.html">Vec3</A>&amp; v1, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v2, const <!1><A HREF="Vec3.html">Vec3</A>&amp; v3, float&amp; r)</B></TT>
+<DD>return true if segment intersects triangle and set ratio long segment. 
+<DL><DT><DD></DL><P>
+<A NAME="mult">
+<A NAME="DOC.2.49.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void mult(const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg, const <!1><A HREF="Matrix.html">Matrix</A>&amp; m)</B></TT>
+<DD>post multiply a segment by matrix
+<DL><DT><DD></DL><P>
+<A NAME="mult">
+<A NAME="DOC.2.49.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void mult(const <!1><A HREF="Matrix.html">Matrix</A>&amp; m, const <!1><A HREF="Seg.html#DOC.2.49.8">Seg</A>&amp; seg)</B></TT>
+<DD>pre multiply a segment by matrix
+<DL><DT><DD></DL><P>
+<A NAME="intersectAndClip">
+<A NAME="DOC.2.49.18">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>static   bool intersectAndClip(<!1><A HREF="Vec3.html">Vec3</A>&amp; s, <!1><A HREF="Vec3.html">Vec3</A>&amp; e, const <!1><A HREF="BoundingBox.html">BoundingBox</A>&amp; bb)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_s">
+<A NAME="DOC.2.49.19">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _s</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_e">
+<A NAME="DOC.2.49.20">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _e</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/State.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/State.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/State.html (revision 2)
@@ -0,0 +1,42 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::State</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::State</A></H2>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.51.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>State</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.51.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~State</B>( void )
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="State">
+<A NAME="DOC.2.51.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> State( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~State">
+<A NAME="DOC.2.51.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~State( void )</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Timer.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Timer.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Timer.html (revision 2)
@@ -0,0 +1,91 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Timer</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Timer</A></H2>
+<HR>
+
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.57.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Timer</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~Timer</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>inline   <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> <B>tick</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>pragmaoptimize("", on)(x) <B>(".byte 0x0f, 0x31" : "=A" (x))</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>ifdefinline  __sgi <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> <B>tick</B>( void )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>delta_s</B>( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>double <B>delta_m</B>( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="osg.html#DOC.2.87">Timer_t</A> <B>delta_u</B>( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.57.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="osg.html#DOC.2.87">Timer_t</A> <B>delta_n</B>( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )
+<DD><I></I>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="Timer">
+<A NAME="DOC.2.57.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Timer( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Timer">
+<A NAME="DOC.2.57.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~Timer( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="tick">
+<A NAME="DOC.2.57.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> tick( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="(".byte 0x0f, 0x31" : "=A" (x))">
+<A NAME="DOC.2.57.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>pragmaoptimize("", on)(x) (".byte 0x0f, 0x31" : "=A" (x))( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="tick">
+<A NAME="DOC.2.57.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>ifdefinline  __sgi <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> tick( void )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="delta_s">
+<A NAME="DOC.2.57.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double delta_s( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="delta_m">
+<A NAME="DOC.2.57.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double delta_m( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="delta_u">
+<A NAME="DOC.2.57.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.87">Timer_t</A> delta_u( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="delta_n">
+<A NAME="DOC.2.57.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="osg.html#DOC.2.87">Timer_t</A> delta_n( <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t1, <!1><A HREF="osg.html#DOC.2.87">Timer_t</A> t2 )</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Hit.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Hit.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Hit.html (revision 2)
@@ -0,0 +1,173 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Hit</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Hit</A>: public <!1><A HREF="Referenced.html#DOC.2.35.4">Referenced</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=65>
+<param name=classes value="CReferenced,MReferenced.html,CHit,MHit.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 Fields</H3><DD><DT>
+<A HREF="#DOC.2.19.7"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>float <B>_ratio</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.8"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Seg.html">Seg</A>* <B>_originalSeg</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.9"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Seg.html">Seg</A>* <B>_localSeg</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.10"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="NodePath.html">NodePath</A> <B>_nodePath</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.11"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Geode.html">Geode</A>* <B>_geode</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.12"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="GeoSet.html">GeoSet</A>* <B>_geoset</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.13"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Matrix.html">Matrix</A>* <B>_matrix</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.14"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Hit.html#DOC.2.19.5">VecIndexList</A> <B>_vecIndexList</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.15"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>int <B>_primitiveIndex</B>
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.16"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Vec3.html">Vec3</A> <B>_intersectPoint</B>
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<A HREF="#DOC.2.19.1"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Hit</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.2"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>Hit</B>(const <!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; hit)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.3"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A> <B>~Hit</B>()
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.4"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A><!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; <B>operator = </B>(const <!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; hit)
+<DD><I></I>
+<DT>
+<A HREF="#DOC.2.19.6"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>bool <B>operator < </B>(const <!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; hit) const 
+<DD><I></I>
+</DL></P>
+
+<P><DL>
+<DT><H3>Public</H3><DD><DT>
+<A HREF="#DOC.2.19.5"><IMG ALT="[more]" BORDER=0 SRC=icon1.gif></A>typedef  std::vector&lt;int&gt;  <B>VecIndexList</B>
+<DD><I></I>
+</DL></P>
+
+</DL>
+<HR><H3>Inherited from <A HREF="Referenced.html">Referenced</A>:</H3>
+<DL>
+<P><DL>
+<DT><H3>Public Methods</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>ref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>void <B>unref</B>()
+<DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>referenceCount</B>()
+</DL></P>
+
+<P><DL>
+<DT><H3>Protected Fields</H3><DD><DT>
+<IMG ALT="o" SRC=icon2.gif>int <B>_reference</B>
+</DL></P>
+
+</DL>
+
+<A NAME="DOC.DOCU">
+<HR>
+<H2>Documentation</H2>
+<DL>
+
+<A NAME="Hit">
+<A NAME="DOC.2.19.1">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Hit()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="Hit">
+<A NAME="DOC.2.19.2">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Hit(const <!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; hit)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="~Hit">
+<A NAME="DOC.2.19.3">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> ~Hit()</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator = ">
+<A NAME="DOC.2.19.4">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; operator = (const <!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; hit)</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="VecIndexList">
+<A NAME="DOC.2.19.5">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>typedef  std::vector&lt;int&gt;  VecIndexList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="operator < ">
+<A NAME="DOC.2.19.6">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool operator < (const <!1><A HREF="Hit.html#DOC.2.19.1">Hit</A>&amp; hit) const </B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_ratio">
+<A NAME="DOC.2.19.7">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _ratio</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_originalSeg">
+<A NAME="DOC.2.19.8">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Seg.html">Seg</A>* _originalSeg</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_localSeg">
+<A NAME="DOC.2.19.9">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Seg.html">Seg</A>* _localSeg</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_nodePath">
+<A NAME="DOC.2.19.10">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="NodePath.html">NodePath</A> _nodePath</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_geode">
+<A NAME="DOC.2.19.11">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Geode.html">Geode</A>* _geode</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_geoset">
+<A NAME="DOC.2.19.12">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="GeoSet.html">GeoSet</A>* _geoset</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_matrix">
+<A NAME="DOC.2.19.13">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Matrix.html">Matrix</A>* _matrix</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_vecIndexList">
+<A NAME="DOC.2.19.14">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Hit.html#DOC.2.19.5">VecIndexList</A> _vecIndexList</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_primitiveIndex">
+<A NAME="DOC.2.19.15">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>int _primitiveIndex</B></TT>
+<DL><DT><DD></DL><P>
+<A NAME="_intersectPoint">
+<A NAME="DOC.2.19.16">
+<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec3.html">Vec3</A> _intersectPoint</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><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>
Index: /OpenSceneGraph/tags/osg_8_34/doc/osg/Point.html
===================================================================
--- /OpenSceneGraph/tags/osg_8_34/doc/osg/Point.html (revision 2)
+++ /OpenSceneGraph/tags/osg_8_34/doc/osg/Point.html (revision 2)
@@ -0,0 +1,199 @@
+<HTML>
+<HEAD>
+   <TITLE>class  SG_EXPORT osg::Point</TITLE>
+   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.3">
+</HEAD>
+<BODY BGCOLOR="#ffffff">
+
+<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Point</A>: public <!1><A HREF="Object.html#DOC.2.36.1">Object</A></H2>
+<HR>
+
+<H2>Inheritance:</H2>
+<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=95>
+<param name=classes value="CReferenced,MReferenced.html,CObject,MObject.html,CPoint,MPoint.html">
+<param name=before value="M,M,M">
+<param name=after value="Md_SP,Md_,M">
+<param name=indent value="0,1,2">
+<param name=arrowdir value="down">
