Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/RigTransformSoftware.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/RigTransformSoftware.cpp (revision 10916)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/RigTransformSoftware.cpp (revision 10916)
@@ -0,0 +1,149 @@
+// ***************************************************************************
+//
+//   Generated automatically by genwrapper.
+//   Please DO NOT EDIT this file!
+//
+// ***************************************************************************
+
+#include <osgIntrospection/ReflectionMacros>
+#include <osgIntrospection/TypedMethodInfo>
+#include <osgIntrospection/StaticMethodInfo>
+#include <osgIntrospection/Attributes>
+
+#include <osg/Matrix>
+#include <osg/Vec3>
+#include <osgAnimation/Bone>
+#include <osgAnimation/RigGeometry>
+#include <osgAnimation/RigTransformSoftware>
+
+// Must undefine IN and OUT macros defined in Windows headers
+#ifdef IN
+#undef IN
+#endif
+#ifdef OUT
+#undef OUT
+#endif
+
+TYPE_NAME_ALIAS(std::vector< osgAnimation::RigTransformSoftware::BoneWeight >, osgAnimation::RigTransformSoftware::BoneWeightList)
+
+TYPE_NAME_ALIAS(std::vector< int >, osgAnimation::RigTransformSoftware::VertexList)
+
+BEGIN_OBJECT_REFLECTOR(osgAnimation::RigTransformSoftware)
+	I_DeclaringFile("osgAnimation/RigTransformSoftware");
+	I_BaseType(osgAnimation::RigTransform);
+	I_Constructor0(____RigTransformSoftware,
+	               "",
+	               "");
+	I_Method1(bool, init, IN, osgAnimation::RigGeometry &, x,
+	          Properties::VIRTUAL,
+	          __bool__init__RigGeometry_R1,
+	          "",
+	          "");
+	I_Method1(void, update, IN, osgAnimation::RigGeometry &, x,
+	          Properties::VIRTUAL,
+	          __void__update__RigGeometry_R1,
+	          "",
+	          "");
+	I_Method0(const std::vector< osg::Vec3 > &, getPositionSource,
+	          Properties::NON_VIRTUAL,
+	          __C5_std_vectorT1_osg_Vec3__R1__getPositionSource,
+	          "",
+	          "");
+	I_Method0(const std::vector< osg::Vec3 > &, getNormalSource,
+	          Properties::NON_VIRTUAL,
+	          __C5_std_vectorT1_osg_Vec3__R1__getNormalSource,
+	          "",
+	          "");
+	I_ProtectedMethod2(void, initVertexSetFromBones, IN, const osgAnimation::Bone::BoneMap &, map, IN, const osgAnimation::VertexInfluenceSet::UniqVertexSetToBoneSetList &, influence,
+	                   Properties::NON_VIRTUAL,
+	                   Properties::NON_CONST,
+	                   __void__initVertexSetFromBones__C5_Bone_BoneMap_R1__C5_VertexInfluenceSet_UniqVertexSetToBoneSetList_R1,
+	                   "",
+	                   "");
+	I_SimpleProperty(const std::vector< osg::Vec3 > &, NormalSource, 
+	                 __C5_std_vectorT1_osg_Vec3__R1__getNormalSource, 
+	                 0);
+	I_SimpleProperty(const std::vector< osg::Vec3 > &, PositionSource, 
+	                 __C5_std_vectorT1_osg_Vec3__R1__getPositionSource, 
+	                 0);
+END_REFLECTOR
+
+BEGIN_VALUE_REFLECTOR(osgAnimation::RigTransformSoftware::BoneWeight)
+	I_DeclaringFile("osgAnimation/RigTransformSoftware");
+	I_Constructor2(IN, osgAnimation::Bone *, bone, IN, float, weight,
+	               ____BoneWeight__Bone_P1__float,
+	               "",
+	               "");
+	I_Method0(const osgAnimation::Bone *, getBone,
+	          Properties::NON_VIRTUAL,
+	          __C5_Bone_P1__getBone,
+	          "",
+	          "");
+	I_Method0(float, getWeight,
+	          Properties::NON_VIRTUAL,
+	          __float__getWeight,
+	          "",
+	          "");
+	I_Method1(void, setWeight, IN, float, w,
+	          Properties::NON_VIRTUAL,
+	          __void__setWeight__float,
+	          "",
+	          "");
+	I_SimpleProperty(const osgAnimation::Bone *, Bone, 
+	                 __C5_Bone_P1__getBone, 
+	                 0);
+	I_SimpleProperty(float, Weight, 
+	                 __float__getWeight, 
+	                 __void__setWeight__float);
+END_REFLECTOR
+
+BEGIN_VALUE_REFLECTOR(osgAnimation::RigTransformSoftware::UniqBoneSetVertexSet)
+	I_DeclaringFile("osgAnimation/RigTransformSoftware");
+	I_Constructor0(____UniqBoneSetVertexSet,
+	               "",
+	               "");
+	I_Method0(osgAnimation::RigTransformSoftware::BoneWeightList &, getBones,
+	          Properties::NON_VIRTUAL,
+	          __BoneWeightList_R1__getBones,
+	          "",
+	          "");
+	I_Method0(osgAnimation::RigTransformSoftware::VertexList &, getVertexes,
+	          Properties::NON_VIRTUAL,
+	          __VertexList_R1__getVertexes,
+	          "",
+	          "");
+	I_Method0(void, resetMatrix,
+	          Properties::NON_VIRTUAL,
+	          __void__resetMatrix,
+	          "",
+	          "");
+	I_Method3(void, accummulateMatrix, IN, const osg::Matrix &, invBindMatrix, IN, const osg::Matrix &, matrix, IN, osg::Matrix::value_type, weight,
+	          Properties::NON_VIRTUAL,
+	          __void__accummulateMatrix__C5_osg_Matrix_R1__C5_osg_Matrix_R1__osg_Matrix_value_type,
+	          "",
+	          "");
+	I_Method0(void, computeMatrixForVertexSet,
+	          Properties::NON_VIRTUAL,
+	          __void__computeMatrixForVertexSet,
+	          "",
+	          "");
+	I_Method0(const osg::Matrix &, getMatrix,
+	          Properties::NON_VIRTUAL,
+	          __C5_osg_Matrix_R1__getMatrix,
+	          "",
+	          "");
+	I_SimpleProperty(osgAnimation::RigTransformSoftware::BoneWeightList &, Bones, 
+	                 __BoneWeightList_R1__getBones, 
+	                 0);
+	I_SimpleProperty(const osg::Matrix &, Matrix, 
+	                 __C5_osg_Matrix_R1__getMatrix, 
+	                 0);
+	I_SimpleProperty(osgAnimation::RigTransformSoftware::VertexList &, Vertexes, 
+	                 __VertexList_R1__getVertexes, 
+	                 0);
+END_REFLECTOR
+
+STD_VECTOR_REFLECTOR(std::vector< int >)
+
+STD_VECTOR_REFLECTOR(std::vector< osgAnimation::RigTransformSoftware::BoneWeight >)
+
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/RigTransformHardware.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/RigTransformHardware.cpp (revision 10916)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/RigTransformHardware.cpp (revision 10916)
@@ -0,0 +1,242 @@
+// ***************************************************************************
+//
+//   Generated automatically by genwrapper.
+//   Please DO NOT EDIT this file!
+//
+// ***************************************************************************
+
+#include <osgIntrospection/ReflectionMacros>
+#include <osgIntrospection/TypedMethodInfo>
+#include <osgIntrospection/StaticMethodInfo>
+#include <osgIntrospection/Attributes>
+
+#include <osg/Array>
+#include <osg/Matrix>
+#include <osg/Shader>
+#include <osg/Uniform>
+#include <osgAnimation/RigGeometry>
+#include <osgAnimation/RigTransformHardware>
+#include <osgAnimation/VertexInfluence>
+
+// Must undefine IN and OUT macros defined in Windows headers
+#ifdef IN
+#undef IN
+#endif
+#ifdef OUT
+#undef OUT
+#endif
+
+TYPE_NAME_ALIAS(osg::Matrix, osgAnimation::RigTransformHardware::MatrixType)
+
+TYPE_NAME_ALIAS(osgAnimation::Bone, osgAnimation::RigTransformHardware::BoneType)
+
+TYPE_NAME_ALIAS(osgAnimation::Bone::BoneMap, osgAnimation::RigTransformHardware::BoneMap)
+
+TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osg::Vec4Array > >, osgAnimation::RigTransformHardware::BoneWeightAttribList)
+
+TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osgAnimation::RigTransformHardware::BoneType > >, osgAnimation::RigTransformHardware::BonePalette)
+
+TYPE_NAME_ALIAS(std::vector< osg::Matrix >, osgAnimation::RigTransformHardware::MatrixPalette)
+
+TYPE_NAME_ALIAS(std::vector< std::vector< osgAnimation::RigTransformHardware::IndexWeightEntry > >, osgAnimation::RigTransformHardware::VertexIndexWeightList)
+
+BEGIN_OBJECT_REFLECTOR(osgAnimation::RigTransformHardware)
+	I_DeclaringFile("osgAnimation/RigTransformHardware");
+	I_BaseType(osgAnimation::RigTransform);
+	I_Constructor0(____RigTransformHardware,
+	               "",
+	               "");
+	I_Method1(osg::Vec4Array *, getVertexAttrib, IN, int, index,
+	          Properties::NON_VIRTUAL,
+	          __osg_Vec4Array_P1__getVertexAttrib__int,
+	          "",
+	          "");
+	I_Method0(int, getNumVertexAttrib,
+	          Properties::NON_VIRTUAL,
+	          __int__getNumVertexAttrib,
+	          "",
+	          "");
+	I_Method0(osg::Uniform *, getMatrixPaletteUniform,
+	          Properties::NON_VIRTUAL,
+	          __osg_Uniform_P1__getMatrixPaletteUniform,
+	          "",
+	          "");
+	I_Method2(void, computeMatrixPaletteUniform, IN, const osg::Matrix &, transformFromSkeletonToGeometry, IN, const osg::Matrix &, invTransformFromSkeletonToGeometry,
+	          Properties::NON_VIRTUAL,
+	          __void__computeMatrixPaletteUniform__C5_osg_Matrix_R1__C5_osg_Matrix_R1,
+	          "",
+	          "");
+	I_Method0(int, getNumBonesPerVertex,
+	          Properties::NON_VIRTUAL,
+	          __int__getNumBonesPerVertex,
+	          "",
+	          "");
+	I_Method0(int, getNumVertexes,
+	          Properties::NON_VIRTUAL,
+	          __int__getNumVertexes,
+	          "",
+	          "");
+	I_Method3(bool, createPalette, IN, int, nbVertexes, IN, osgAnimation::RigTransformHardware::BoneMap, boneMap, IN, const osgAnimation::VertexInfluenceSet::VertexIndexToBoneWeightMap &, vertexIndexToBoneWeightMap,
+	          Properties::NON_VIRTUAL,
+	          __bool__createPalette__int__BoneMap__C5_VertexInfluenceSet_VertexIndexToBoneWeightMap_R1,
+	          "",
+	          "");
+	I_Method1(bool, init, IN, osgAnimation::RigGeometry &, x,
+	          Properties::VIRTUAL,
+	          __bool__init__RigGeometry_R1,
+	          "",
+	          "");
+	I_Method1(void, update, IN, osgAnimation::RigGeometry &, x,
+	          Properties::VIRTUAL,
+	          __void__update__RigGeometry_R1,
+	          "",
+	          "");
+	I_Method1(void, setShader, IN, osg::Shader *, x,
+	          Properties::NON_VIRTUAL,
+	          __void__setShader__osg_Shader_P1,
+	          "",
+	          "");
+	I_ProtectedMethod0(osgAnimation::RigTransformHardware::BoneWeightAttribList, createVertexAttribList,
+	                   Properties::NON_VIRTUAL,
+	                   Properties::NON_CONST,
+	                   __BoneWeightAttribList__createVertexAttribList,
+	                   "",
+	                   "");
+	I_ProtectedMethod0(osg::Uniform *, createVertexUniform,
+	                   Properties::NON_VIRTUAL,
+	                   Properties::NON_CONST,
+	                   __osg_Uniform_P1__createVertexUniform,
+	                   "",
+	                   "");
+	I_SimpleProperty(osg::Uniform *, MatrixPaletteUniform, 
+	                 __osg_Uniform_P1__getMatrixPaletteUniform, 
+	                 0);
+	I_SimpleProperty(osg::Shader *, Shader, 
+	                 0, 
+	                 __void__setShader__osg_Shader_P1);
+	I_ArrayProperty(osg::Vec4Array *, VertexAttrib, 
+	                __osg_Vec4Array_P1__getVertexAttrib__int, 
+	                0, 
+	                __int__getNumVertexAttrib, 
+	                0, 
+	                0, 
+	                0);
+END_REFLECTOR
+
+BEGIN_VALUE_REFLECTOR(osgAnimation::RigTransformHardware::IndexWeightEntry)
+	I_DeclaringFile("osgAnimation/RigTransformHardware");
+	I_Constructor0(____IndexWeightEntry,
+	               "",
+	               "");
+	I_Constructor2(IN, float, index, IN, float, weight,
+	               ____IndexWeightEntry__float__float,
+	               "",
+	               "");
+	I_Method0(int, getIndex,
+	          Properties::NON_VIRTUAL,
+	          __int__getIndex,
+	          "",
+	          "");
+	I_Method0(float, getWeight,
+	          Properties::NON_VIRTUAL,
+	          __float__getWeight,
+	          "",
+	          "");
+	I_SimpleProperty(int, Index, 
+	                 __int__getIndex, 
+	                 0);
+	I_SimpleProperty(float, Weight, 
+	                 __float__getWeight, 
+	                 0);
+	I_PublicMemberProperty(int, _boneIndex);
+	I_PublicMemberProperty(float, _boneWeight);
+END_REFLECTOR
+
+BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osg::Vec4Array >)
+	I_DeclaringFile("osg/ref_ptr");
+	I_Constructor0(____ref_ptr,
+	               "",
+	               "");
+	I_Constructor1(IN, osg::Vec4Array *, ptr,
+	               Properties::NON_EXPLICIT,
+	               ____ref_ptr__T_P1,
+	               "",
+	               "");
+	I_Constructor1(IN, const osg::ref_ptr< osg::Vec4Array > &, rp,
+	               Properties::NON_EXPLICIT,
+	               ____ref_ptr__C5_ref_ptr_R1,
+	               "",
+	               "");
+	I_Method0(osg::Vec4Array *, get,
+	          Properties::NON_VIRTUAL,
+	          __T_P1__get,
+	          "",
+	          "");
+	I_Method0(bool, valid,
+	          Properties::NON_VIRTUAL,
+	          __bool__valid,
+	          "",
+	          "");
+	I_Method0(osg::Vec4Array *, release,
+	          Properties::NON_VIRTUAL,
+	          __T_P1__release,
+	          "",
+	          "");
+	I_Method1(void, swap, IN, osg::ref_ptr< osg::Vec4Array > &, rp,
+	          Properties::NON_VIRTUAL,
+	          __void__swap__ref_ptr_R1,
+	          "",
+	          "");
+	I_SimpleProperty(osg::Vec4Array *, , 
+	                 __T_P1__get, 
+	                 0);
+END_REFLECTOR
+
+BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgAnimation::RigTransformHardware::BoneType >)
+	I_DeclaringFile("osg/ref_ptr");
+	I_Constructor0(____ref_ptr,
+	               "",
+	               "");
+	I_Constructor1(IN, osgAnimation::RigTransformHardware::BoneType *, ptr,
+	               Properties::NON_EXPLICIT,
+	               ____ref_ptr__T_P1,
+	               "",
+	               "");
+	I_Constructor1(IN, const osg::ref_ptr< osgAnimation::RigTransformHardware::BoneType > &, rp,
+	               Properties::NON_EXPLICIT,
+	               ____ref_ptr__C5_ref_ptr_R1,
+	               "",
+	               "");
+	I_Method0(osgAnimation::RigTransformHardware::BoneType *, get,
+	          Properties::NON_VIRTUAL,
+	          __T_P1__get,
+	          "",
+	          "");
+	I_Method0(bool, valid,
+	          Properties::NON_VIRTUAL,
+	          __bool__valid,
+	          "",
+	          "");
+	I_Method0(osgAnimation::RigTransformHardware::BoneType *, release,
+	          Properties::NON_VIRTUAL,
+	          __T_P1__release,
+	          "",
+	          "");
+	I_Method1(void, swap, IN, osg::ref_ptr< osgAnimation::RigTransformHardware::BoneType > &, rp,
+	          Properties::NON_VIRTUAL,
+	          __void__swap__ref_ptr_R1,
+	          "",
+	          "");
+	I_SimpleProperty(osgAnimation::RigTransformHardware::BoneType *, , 
+	                 __T_P1__get, 
+	                 0);
+END_REFLECTOR
+
+STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osg::Vec4Array > >)
+
+STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osgAnimation::RigTransformHardware::BoneType > >)
+
+STD_VECTOR_REFLECTOR(std::vector< osgAnimation::RigTransformHardware::IndexWeightEntry >)
+
+STD_VECTOR_REFLECTOR(std::vector< std::vector< osgAnimation::RigTransformHardware::IndexWeightEntry > >)
+
Index: /enSceneGraph/trunk/src/osgWrappers/osgAnimation/Skinning.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Skinning.cpp (revision 10767)
+++  (revision )
@@ -1,123 +1,0 @@
-// ***************************************************************************
-//
-//   Generated automatically by genwrapper.
-//   Please DO NOT EDIT this file!
-//
-// ***************************************************************************
-
-#include <osgIntrospection/ReflectionMacros>
-#include <osgIntrospection/TypedMethodInfo>
-#include <osgIntrospection/StaticMethodInfo>
-#include <osgIntrospection/Attributes>
-
-#include <osg/Matrix>
-#include <osgAnimation/Skinning>
-#include <osgAnimation/VertexInfluence>
-
-// Must undefine IN and OUT macros defined in Windows headers
-#ifdef IN
-#undef IN
-#endif
-#ifdef OUT
-#undef OUT
-#endif
-
-TYPE_NAME_ALIAS(osg::Matrix, osgAnimation::TransformVertexFunctor::MatrixType)
-
-TYPE_NAME_ALIAS(osgAnimation::Bone, osgAnimation::TransformVertexFunctor::BoneType)
-
-TYPE_NAME_ALIAS(osgAnimation::Bone::BoneMap, osgAnimation::TransformVertexFunctor::BoneMap)
-
-TYPE_NAME_ALIAS(std::vector< osgAnimation::TransformVertexFunctor::BoneWeight >, osgAnimation::TransformVertexFunctor::BoneWeightList)
-
-TYPE_NAME_ALIAS(std::vector< int >, osgAnimation::TransformVertexFunctor::VertexList)
-
-BEGIN_VALUE_REFLECTOR(osgAnimation::TransformVertexFunctor)
-	I_DeclaringFile("osgAnimation/Skinning");
-	I_Constructor0(____TransformVertexFunctor,
-	               "",
-	               "");
-	I_Method2(void, init, IN, const osgAnimation::TransformVertexFunctor::BoneMap &, map, IN, const osgAnimation::VertexInfluenceSet::UniqVertexSetToBoneSetList &, influence,
-	          Properties::NON_VIRTUAL,
-	          __void__init__C5_BoneMap_R1__C5_osgAnimation_VertexInfluenceSet_UniqVertexSetToBoneSetList_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_VALUE_REFLECTOR(osgAnimation::TransformVertexFunctor::BoneWeight)
-	I_DeclaringFile("osgAnimation/Skinning");
-	I_Constructor2(IN, osgAnimation::TransformVertexFunctor::BoneType *, bone, IN, float, weight,
-	               ____BoneWeight__BoneType_P1__float,
-	               "",
-	               "");
-	I_Method0(const osgAnimation::TransformVertexFunctor::BoneType *, getBone,
-	          Properties::NON_VIRTUAL,
-	          __C5_BoneType_P1__getBone,
-	          "",
-	          "");
-	I_Method0(float, getWeight,
-	          Properties::NON_VIRTUAL,
-	          __float__getWeight,
-	          "",
-	          "");
-	I_Method1(void, setWeight, IN, float, w,
-	          Properties::NON_VIRTUAL,
-	          __void__setWeight__float,
-	          "",
-	          "");
-	I_SimpleProperty(const osgAnimation::TransformVertexFunctor::BoneType *, Bone, 
-	                 __C5_BoneType_P1__getBone, 
-	                 0);
-	I_SimpleProperty(float, Weight, 
-	                 __float__getWeight, 
-	                 __void__setWeight__float);
-END_REFLECTOR
-
-BEGIN_VALUE_REFLECTOR(osgAnimation::TransformVertexFunctor::UniqBoneSetVertexSet)
-	I_DeclaringFile("osgAnimation/Skinning");
-	I_Constructor0(____UniqBoneSetVertexSet,
-	               "",
-	               "");
-	I_Method0(osgAnimation::TransformVertexFunctor::BoneWeightList &, getBones,
-	          Properties::NON_VIRTUAL,
-	          __BoneWeightList_R1__getBones,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TransformVertexFunctor::VertexList &, getVertexes,
-	          Properties::NON_VIRTUAL,
-	          __VertexList_R1__getVertexes,
-	          "",
-	          "");
-	I_Method0(void, resetMatrix,
-	          Properties::NON_VIRTUAL,
-	          __void__resetMatrix,
-	          "",
-	          "");
-	I_Method3(void, accummulateMatrix, IN, const osg::Matrix &, invBindMatrix, IN, const osg::Matrix &, matrix, IN, osg::Matrix::value_type, weight,
-	          Properties::NON_VIRTUAL,
-	          __void__accummulateMatrix__C5_osg_Matrix_R1__C5_osg_Matrix_R1__osg_Matrix_value_type,
-	          "",
-	          "");
-	I_Method0(void, computeMatrixForVertexSet,
-	          Properties::NON_VIRTUAL,
-	          __void__computeMatrixForVertexSet,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::TransformVertexFunctor::MatrixType &, getMatrix,
-	          Properties::NON_VIRTUAL,
-	          __C5_MatrixType_R1__getMatrix,
-	          "",
-	          "");
-	I_SimpleProperty(osgAnimation::TransformVertexFunctor::BoneWeightList &, Bones, 
-	                 __BoneWeightList_R1__getBones, 
-	                 0);
-	I_SimpleProperty(const osgAnimation::TransformVertexFunctor::MatrixType &, Matrix, 
-	                 __C5_MatrixType_R1__getMatrix, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TransformVertexFunctor::VertexList &, Vertexes, 
-	                 __VertexList_R1__getVertexes, 
-	                 0);
-END_REFLECTOR
-
-STD_VECTOR_REFLECTOR(std::vector< osgAnimation::TransformVertexFunctor::BoneWeight >)
-
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgDB/ReaderWriter.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgDB/ReaderWriter.cpp (revision 10201)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgDB/ReaderWriter.cpp (revision 10916)
@@ -234,26 +234,23 @@
 	                      "",
 	                      "");
+	I_Method2(void, supportsProtocol, IN, const std::string &, fmt, IN, const std::string &, description,
+	          Properties::NON_VIRTUAL,
+	          __void__supportsProtocol__C5_std_string_R1__C5_std_string_R1,
+	          "Specify fmt string as a supported protocol. ",
+	          "Please note, this method should usually only be used internally by subclasses of ReaderWriter, Only in special cases will a ReaderWriter implementation be able to handle a protocol format that is wasn't original designed for. To know whether it's safe to inject a new protocol format to an existing ReaderWriter you will need to review the source code and dependencies of that ReaderWriter. ");
+	I_Method2(void, supportsExtension, IN, const std::string &, ext, IN, const std::string &, description,
+	          Properties::NON_VIRTUAL,
+	          __void__supportsExtension__C5_std_string_R1__C5_std_string_R1,
+	          "Specify ext string as a supported file extension. ",
+	          "Please note, this method should usually only be used internally by subclasses of ReaderWriter. Only in special cases will a ReaderWriter implementation be able to handle a file extension that is wasn't original designed for. To know whether it's safe to inject a new file extension to an existing ReaderWriter you will need to review the the source code and dependencies of that ReaderWriter. ");
+	I_Method2(void, supportsOption, IN, const std::string &, opt, IN, const std::string &, description,
+	          Properties::NON_VIRTUAL,
+	          __void__supportsOption__C5_std_string_R1__C5_std_string_R1,
+	          "Specify option string as a supported option string. ",
+	          "Please note, this should usually only be used internally by subclasses of ReaderWriter. ");
 	I_StaticMethod1(osgDB::ReaderWriter::FeatureList, featureAsString, IN, osgDB::ReaderWriter::Features, feature,
 	                __FeatureList__featureAsString__Features_S,
 	                "return feature as string ",
 	                "");
-	I_ProtectedMethod2(void, supportsProtocol, IN, const std::string &, fmt, IN, const std::string &, description,
-	                   Properties::NON_VIRTUAL,
-	                   Properties::NON_CONST,
-	                   __void__supportsProtocol__C5_std_string_R1__C5_std_string_R1,
-	                   "",
-	                   "");
-	I_ProtectedMethod2(void, supportsExtension, IN, const std::string &, fmt, IN, const std::string &, description,
-	                   Properties::NON_VIRTUAL,
-	                   Properties::NON_CONST,
-	                   __void__supportsExtension__C5_std_string_R1__C5_std_string_R1,
-	                   "",
-	                   "");
-	I_ProtectedMethod2(void, supportsOption, IN, const std::string &, fmt, IN, const std::string &, description,
-	                   Properties::NON_VIRTUAL,
-	                   Properties::NON_CONST,
-	                   __void__supportsOption__C5_std_string_R1__C5_std_string_R1,
-	                   "",
-	                   "");
 END_REFLECTOR
 
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgGA/KeySwitchMatrixManipulator.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgGA/KeySwitchMatrixManipulator.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgGA/KeySwitchMatrixManipulator.cpp (revision 10916)
@@ -144,4 +144,14 @@
 	          "Get the FusionDistanceValue. ",
 	          "Used by SceneView for setting up stereo convergence. ");
+	I_Method1(void, setDistance, IN, double, distance,
+	          Properties::NON_VIRTUAL,
+	          __void__setDistance__double,
+	          "Set the distance property. ",
+	          "");
+	I_Method0(double, getDistance,
+	          Properties::VIRTUAL,
+	          __double__getDistance,
+	          "Get the distance property. ",
+	          "");
 	I_Method1(void, setNode, IN, osg::Node *, x,
 	          Properties::VIRTUAL,
@@ -209,4 +219,7 @@
 	                 __MatrixManipulator_P1__getCurrentMatrixManipulator, 
 	                 0);
+	I_SimpleProperty(double, Distance, 
+	                 __double__getDistance, 
+	                 __void__setDistance__double);
 	I_SimpleProperty(osgUtil::SceneView::FusionDistanceMode, FusionDistanceMode, 
 	                 __osgUtil_SceneView_FusionDistanceMode__getFusionDistanceMode, 
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgGA/TrackballManipulator.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgGA/TrackballManipulator.cpp (revision 10007)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgGA/TrackballManipulator.cpp (revision 10916)
@@ -156,5 +156,5 @@
 	          "");
 	I_Method0(double, getDistance,
-	          Properties::NON_VIRTUAL,
+	          Properties::VIRTUAL,
 	          __double__getDistance,
 	          "Get the distance of the trackball. ",
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgGA/MatrixManipulator.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgGA/MatrixManipulator.cpp (revision 7654)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgGA/MatrixManipulator.cpp (revision 10916)
@@ -111,4 +111,14 @@
 	          "Get the FusionDistanceValue. ",
 	          "Used by SceneView for setting up stereo convergence. ");
+	I_Method1(void, setDistance, IN, double, x,
+	          Properties::NON_VIRTUAL,
+	          __void__setDistance__double,
+	          "Set the distance parameter (used by TrackballManipulator etc. ",
+	          ") ");
+	I_Method0(double, getDistance,
+	          Properties::VIRTUAL,
+	          __double__getDistance,
+	          "Get the distance parameter. ",
+	          "");
 	I_Method1(void, setIntersectTraversalMask, IN, unsigned int, mask,
 	          Properties::NON_VIRTUAL,
@@ -196,4 +206,7 @@
 	                 __CoordinateFrameCallback_P1__getCoordinateFrameCallback, 
 	                 __void__setCoordinateFrameCallback__CoordinateFrameCallback_P1);
+	I_SimpleProperty(double, Distance, 
+	                 __double__getDistance, 
+	                 __void__setDistance__double);
 	I_SimpleProperty(osgUtil::SceneView::FusionDistanceMode, FusionDistanceMode, 
 	                 __osgUtil_SceneView_FusionDistanceMode__getFusionDistanceMode, 
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgGA/TerrainManipulator.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgGA/TerrainManipulator.cpp (revision 10256)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgGA/TerrainManipulator.cpp (revision 10916)
@@ -84,4 +84,14 @@
 	          "Get the FusionDistanceValue. ",
 	          "Used by SceneView for setting up stereo convergence. ");
+	I_Method1(void, setDistance, IN, double, distance,
+	          Properties::NON_VIRTUAL,
+	          __void__setDistance__double,
+	          "Set the distance of the trackball. ",
+	          "");
+	I_Method0(double, getDistance,
+	          Properties::VIRTUAL,
+	          __double__getDistance,
+	          "Get the distance of the trackball. ",
+	          "");
 	I_Method1(void, setNode, IN, osg::Node *, x,
 	          Properties::VIRTUAL,
@@ -179,4 +189,7 @@
 	                 0, 
 	                 __void__setByMatrix__C5_osg_Matrixd_R1);
+	I_SimpleProperty(double, Distance, 
+	                 __double__getDistance, 
+	                 __void__setDistance__double);
 	I_SimpleProperty(osgUtil::SceneView::FusionDistanceMode, FusionDistanceMode, 
 	                 __osgUtil_SceneView_FusionDistanceMode__getFusionDistanceMode, 
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgGA/SphericalManipulator.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgGA/SphericalManipulator.cpp (revision 10430)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgGA/SphericalManipulator.cpp (revision 10916)
@@ -138,13 +138,13 @@
 	          "",
 	          "");
-	I_Method1(bool, setDistance, IN, double, distance,
+	I_Method1(bool, setDistance, IN, double, x,
 	          Properties::NON_VIRTUAL,
 	          __bool__setDistance__double,
-	          "",
-	          "");
+	          "Set the distance parameter (used by TrackballManipulator etc. ",
+	          ") ");
 	I_Method0(double, getDistance,
-	          Properties::NON_VIRTUAL,
+	          Properties::VIRTUAL,
 	          __double__getDistance,
-	          "",
+	          "Get the distance parameter. ",
 	          "");
 	I_Method0(double, getHomeDistance,
