Index: /OpenSceneGraph/trunk/include/osgAnimation/Timeline
===================================================================
--- /OpenSceneGraph/trunk/include/osgAnimation/Timeline (revision 9737)
+++ /OpenSceneGraph/trunk/include/osgAnimation/Timeline (revision 9878)
@@ -153,5 +153,5 @@
         unsigned int _loop;
 
-        enum State
+        enum Status
         {
             Play,
@@ -159,5 +159,5 @@
         };
         
-        State _state;
+        Status _state;
     };
 
@@ -165,85 +165,23 @@
     class Timeline : public osg::Object
     {
-    protected:
+    public:
+
+        META_Object(osgAnimation, Timeline);
+
+        Timeline();
+        Timeline(const Timeline& nc,const osg::CopyOp& op = osg::CopyOp::SHALLOW_COPY);
+
+        enum Status
+        {
+            Play,
+            Stop
+        };
+
+        Status getStatus() const { return _state; }
+
         typedef std::pair<unsigned int, osg::ref_ptr<Action> > FrameAction;
         typedef std::vector<FrameAction> ActionList;
         typedef std::map<int, ActionList> ActionLayers;
-        enum State
-        {
-            Play,
-            Stop
-        };
-        
-
-        ActionLayers _actions;
-        double _lastUpdate;
-        double _speed;
-        unsigned int _currentFrame;
-        unsigned int _fps;
-        unsigned int _numberFrame;
-        unsigned int _previousFrameEvaluated;
-        bool _loop;
-        bool _initFirstFrame;
-
-        State _state;
-
-        // to manage pending operation
-        bool _evaluating;
-
-        struct Command
-        {
-            Command():_priority(0) {}
-            Command(int priority, const FrameAction& action) : _priority(priority), _action(action) {}
-            int _priority;
-            FrameAction _action;
-        };
-
-        typedef std::vector<Command> CommandList;
-        CommandList _addActionOperations;
-        ActionList _removeActionOperations;
-
-        void setEvaluating(bool state) { _evaluating = state;}
-        void processPendingOperation()
-        {
-            // process all pending add action operation
-            while( !_addActionOperations.empty())
-            {
-                internalAddAction(_addActionOperations.back()._priority, _addActionOperations.back()._action);
-                _addActionOperations.pop_back();
-            }
-
-            // process all pending remove action operation
-            while( !_removeActionOperations.empty())
-            {
-                internalRemoveAction(_removeActionOperations.back().second.get());
-                _removeActionOperations.pop_back();
-            }
-        }
-
-        void internalRemoveAction(Action* action)
-        {
-            for (ActionLayers::iterator it = _actions.begin(); it != _actions.end(); it++)
-            {
-                ActionList& fa = it->second;
-                for (unsigned int i = 0; i < fa.size(); i++)
-                    if (fa[i].second.get() == action)
-                    {
-                        fa.erase(fa.begin() + i);
-                        return;
-                    }
-            }
-        }
-        void internalAddAction(int priority, const FrameAction& ftl)
-        {
-            _actions[priority].push_back(ftl);
-        }
-        
-    public:
-
-        META_Object(osgAnimation, Timeline);
-
-        Timeline();
-        Timeline(const Timeline& nc,const osg::CopyOp& op = osg::CopyOp::SHALLOW_COPY);
-        State getStatus() const { return _state; }
+
         const ActionList& getActionLayer(int i)
         {
@@ -375,4 +313,71 @@
             }
         }
+
+    protected:
+
+
+        ActionLayers _actions;
+        double _lastUpdate;
+        double _speed;
+        unsigned int _currentFrame;
+        unsigned int _fps;
+        unsigned int _numberFrame;
+        unsigned int _previousFrameEvaluated;
+        bool _loop;
+        bool _initFirstFrame;
+
+        Status _state;
+
+        // to manage pending operation
+        bool _evaluating;
+
+        struct Command
+        {
+            Command():_priority(0) {}
+            Command(int priority, const FrameAction& action) : _priority(priority), _action(action) {}
+            int _priority;
+            FrameAction _action;
+        };
+
+        typedef std::vector<Command> CommandList;
+        CommandList _addActionOperations;
+        ActionList _removeActionOperations;
+
+        void setEvaluating(bool state) { _evaluating = state;}
+        void processPendingOperation()
+        {
+            // process all pending add action operation
+            while( !_addActionOperations.empty())
+            {
+                internalAddAction(_addActionOperations.back()._priority, _addActionOperations.back()._action);
+                _addActionOperations.pop_back();
+            }
+
+            // process all pending remove action operation
+            while( !_removeActionOperations.empty())
+            {
+                internalRemoveAction(_removeActionOperations.back().second.get());
+                _removeActionOperations.pop_back();
+            }
+        }
+
+        void internalRemoveAction(Action* action)
+        {
+            for (ActionLayers::iterator it = _actions.begin(); it != _actions.end(); it++)
+            {
+                ActionList& fa = it->second;
+                for (unsigned int i = 0; i < fa.size(); i++)
+                    if (fa[i].second.get() == action)
+                    {
+                        fa.erase(fa.begin() + i);
+                        return;
+                    }
+            }
+        }
+        void internalAddAction(int priority, const FrameAction& ftl)
+        {
+            _actions[priority].push_back(ftl);
+        }
+        
     };
 
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/MorphGeometry.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/MorphGeometry.cpp (revision 9878)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/MorphGeometry.cpp (revision 9878)
@@ -0,0 +1,251 @@
+// ***************************************************************************
+//
+//   Generated automatically by genwrapper.
+//   Please DO NOT EDIT this file!
+//
+// ***************************************************************************
+
+#include <osgIntrospection/ReflectionMacros>
+#include <osgIntrospection/TypedMethodInfo>
+#include <osgIntrospection/StaticMethodInfo>
+#include <osgIntrospection/Attributes>
+
+#include <osg/CopyOp>
+#include <osg/Drawable>
+#include <osg/Geometry>
+#include <osg/Node>
+#include <osg/NodeVisitor>
+#include <osg/Object>
+#include <osgAnimation/Channel>
+#include <osgAnimation/MorphGeometry>
+
+// Must undefine IN and OUT macros defined in Windows headers
+#ifdef IN
+#undef IN
+#endif
+#ifdef OUT
+#undef OUT
+#endif
+
+BEGIN_ENUM_REFLECTOR(osgAnimation::MorphGeometry::Method)
+	I_DeclaringFile("osgAnimation/MorphGeometry");
+	I_EnumLabel(osgAnimation::MorphGeometry::NORMALIZED);
+	I_EnumLabel(osgAnimation::MorphGeometry::RELATIVE);
+END_REFLECTOR
+
+TYPE_NAME_ALIAS(std::vector< osgAnimation::MorphGeometry::MorphTarget >, osgAnimation::MorphGeometry::MorphTargetList)
+
+BEGIN_OBJECT_REFLECTOR(osgAnimation::MorphGeometry)
+	I_DeclaringFile("osgAnimation/MorphGeometry");
+	I_BaseType(osg::Geometry);
+	I_Constructor0(____MorphGeometry,
+	               "",
+	               "");
+	I_Constructor1(IN, const osg::Geometry &, b,
+	               Properties::NON_EXPLICIT,
+	               ____MorphGeometry__C5_osg_Geometry_R1,
+	               "",
+	               "");
+	I_ConstructorWithDefaults2(IN, const osgAnimation::MorphGeometry &, b, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
+	                           ____MorphGeometry__C5_MorphGeometry_R1__C5_osg_CopyOp_R1,
+	                           "",
+	                           "");
+	I_Method0(osg::Object *, cloneType,
+	          Properties::VIRTUAL,
+	          __osg_Object_P1__cloneType,
+	          "Clone the type of an object, with Object* return type. ",
+	          "Must be defined by derived classes. ");
+	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
+	          Properties::VIRTUAL,
+	          __osg_Object_P1__clone__C5_osg_CopyOp_R1,
+	          "Clone an object, with Object* return type. ",
+	          "Must be defined by derived classes. ");
+	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
+	          Properties::VIRTUAL,
+	          __bool__isSameKindAs__C5_osg_Object_P1,
+	          "",
+	          "");
+	I_Method0(const char *, libraryName,
+	          Properties::VIRTUAL,
+	          __C5_char_P1__libraryName,
+	          "return the name of the object's library. ",
+	          "Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
+	I_Method0(const char *, className,
+	          Properties::VIRTUAL,
+	          __C5_char_P1__className,
+	          "return the name of the object's class type. ",
+	          "Must be defined by derived classes. ");
+	I_Method0(void, transformSoftwareMethod,
+	          Properties::VIRTUAL,
+	          __void__transformSoftwareMethod,
+	          "",
+	          "");
+	I_Method1(void, setMethod, IN, osgAnimation::MorphGeometry::Method, method,
+	          Properties::NON_VIRTUAL,
+	          __void__setMethod__Method,
+	          "Set the morphing method. ",
+	          "");
+	I_Method0(osgAnimation::MorphGeometry::Method, getMethod,
+	          Properties::NON_VIRTUAL,
+	          __Method__getMethod,
+	          "Get the morphing method. ",
+	          "");
+	I_Method1(void, setMorphNormals, IN, bool, morphNormals,
+	          Properties::NON_VIRTUAL,
+	          __void__setMorphNormals__bool,
+	          "Set flag for morphing normals. ",
+	          "");
+	I_Method0(bool, getMorphNormals,
+	          Properties::NON_VIRTUAL,
+	          __bool__getMorphNormals,
+	          "Get the flag for morphing normals. ",
+	          "");
+	I_MethodWithDefaults2(void, addMorphTarget, IN, osg::Geometry *, morphTarget, , IN, float, weight, 1.0,
+	                      Properties::VIRTUAL,
+	                      __void__addMorphTarget__osg_Geometry_P1__float,
+	                      "Add a MorphTarget to the MorphGeometry. ",
+	                      " param MorphTarget The MorphTarget to be added to the MorphGeometry.   return true for success; false otherwise. ");
+	I_Method2(void, setWeight, IN, unsigned int, index, IN, float, morphWeight,
+	          Properties::NON_VIRTUAL,
+	          __void__setWeight__unsigned_int__float,
+	          "",
+	          "");
+	I_Method0(void, dirty,
+	          Properties::NON_VIRTUAL,
+	          __void__dirty,
+	          "Set the MorphGeometry dirty. ",
+	          "");
+	I_Method0(const osgAnimation::MorphGeometry::MorphTargetList &, getMorphTargetList,
+	          Properties::NON_VIRTUAL,
+	          __C5_MorphTargetList_R1__getMorphTargetList,
+	          "Get the list of MorphTargets. ",
+	          "");
+	I_Method0(osgAnimation::MorphGeometry::MorphTargetList &, getMorphTargetList,
+	          Properties::NON_VIRTUAL,
+	          __MorphTargetList_R1__getMorphTargetList,
+	          "Get the list of MorphTargets. ",
+	          "Warning if you modify this array you will have to call dirty() ");
+	I_Method1(const osgAnimation::MorphGeometry::MorphTarget &, getMorphTarget, IN, unsigned int, i,
+	          Properties::NON_VIRTUAL,
+	          __C5_MorphTarget_R1__getMorphTarget__unsigned_int,
+	          "Return the MorphTarget at position i. ",
+	          "");
+	I_Method1(osgAnimation::MorphGeometry::MorphTarget &, getMorphTarget, IN, unsigned int, i,
+	          Properties::NON_VIRTUAL,
+	          __MorphTarget_R1__getMorphTarget__unsigned_int,
+	          "Return the MorphTarget at position i. ",
+	          "");
+	I_SimpleProperty(osgAnimation::MorphGeometry::Method, Method, 
+	                 __Method__getMethod, 
+	                 __void__setMethod__Method);
+	I_SimpleProperty(bool, MorphNormals, 
+	                 __bool__getMorphNormals, 
+	                 __void__setMorphNormals__bool);
+	I_SimpleProperty(osgAnimation::MorphGeometry::MorphTargetList &, MorphTargetList, 
+	                 __MorphTargetList_R1__getMorphTargetList, 
+	                 0);
+END_REFLECTOR
+
+BEGIN_VALUE_REFLECTOR(osgAnimation::MorphGeometry::MorphTarget)
+	I_DeclaringFile("osgAnimation/MorphGeometry");
+	I_ConstructorWithDefaults2(IN, osg::Geometry *, geom, , IN, float, w, 1.0,
+	                           ____MorphTarget__osg_Geometry_P1__float,
+	                           "",
+	                           "");
+	I_Method1(void, setWeight, IN, float, weight,
+	          Properties::NON_VIRTUAL,
+	          __void__setWeight__float,
+	          "",
+	          "");
+	I_Method0(const float, getWeight,
+	          Properties::NON_VIRTUAL,
+	          __C5_float__getWeight,
+	          "",
+	          "");
+	I_Method0(osg::Geometry *, getGeometry,
+	          Properties::NON_VIRTUAL,
+	          __osg_Geometry_P1__getGeometry,
+	          "",
+	          "");
+	I_Method0(const osg::Geometry *, getGeometry,
+	          Properties::NON_VIRTUAL,
+	          __C5_osg_Geometry_P1__getGeometry,
+	          "",
+	          "");
+	I_Method1(void, setGeometry, IN, osg::Geometry *, geom,
+	          Properties::NON_VIRTUAL,
+	          __void__setGeometry__osg_Geometry_P1,
+	          "",
+	          "");
+	I_SimpleProperty(osg::Geometry *, Geometry, 
+	                 __osg_Geometry_P1__getGeometry, 
+	                 __void__setGeometry__osg_Geometry_P1);
+	I_SimpleProperty(float, Weight, 
+	                 0, 
+	                 __void__setWeight__float);
+END_REFLECTOR
+
+BEGIN_OBJECT_REFLECTOR(osgAnimation::MorphGeometry::UpdateVertex)
+	I_DeclaringFile("osgAnimation/MorphGeometry");
+	I_BaseType(osg::Drawable::UpdateCallback);
+	I_Constructor0(____UpdateVertex,
+	               "",
+	               "");
+	I_Method2(void, update, IN, osg::NodeVisitor *, x, IN, osg::Drawable *, x,
+	          Properties::VIRTUAL,
+	          __void__update__osg_NodeVisitor_P1__osg_Drawable_P1,
+	          "do customized update code. ",
+	          "");
+END_REFLECTOR
+
+BEGIN_OBJECT_REFLECTOR(osgAnimation::UpdateMorph)
+	I_DeclaringFile("osgAnimation/MorphGeometry");
+	I_BaseType(osgAnimation::AnimationUpdateCallback);
+	I_Method0(osg::Object *, cloneType,
+	          Properties::VIRTUAL,
+	          __osg_Object_P1__cloneType,
+	          "Clone the type of an object, with Object* return type. ",
+	          "Must be defined by derived classes. ");
+	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
+	          Properties::VIRTUAL,
+	          __osg_Object_P1__clone__C5_osg_CopyOp_R1,
+	          "Clone an object, with Object* return type. ",
+	          "Must be defined by derived classes. ");
+	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
+	          Properties::VIRTUAL,
+	          __bool__isSameKindAs__C5_osg_Object_P1,
+	          "",
+	          "");
+	I_Method0(const char *, libraryName,
+	          Properties::VIRTUAL,
+	          __C5_char_P1__libraryName,
+	          "return the name of the object's library. ",
+	          "Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
+	I_Method0(const char *, className,
+	          Properties::VIRTUAL,
+	          __C5_char_P1__className,
+	          "return the name of the object's class type. ",
+	          "Must be defined by derived classes. ");
+	I_ConstructorWithDefaults1(IN, const std::string &, name, "",
+	                           Properties::NON_EXPLICIT,
+	                           ____UpdateMorph__C5_std_string_R1,
+	                           "",
+	                           "");
+	I_Constructor2(IN, const osgAnimation::UpdateMorph &, apc, IN, const osg::CopyOp &, copyop,
+	               ____UpdateMorph__C5_UpdateMorph_R1__C5_osg_CopyOp_R1,
+	               "",
+	               "");
+	I_Method0(bool, needLink,
+	          Properties::VIRTUAL,
+	          __bool__needLink,
+	          "",
+	          "");
+	I_Method1(bool, link, IN, osgAnimation::Channel *, channel,
+	          Properties::VIRTUAL,
+	          __bool__link__osgAnimation_Channel_P1,
+	          "",
+	          "");
+END_REFLECTOR
+
+STD_VECTOR_REFLECTOR(std::vector< osgAnimation::MorphGeometry::MorphTarget >)
+
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Keyframe.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Keyframe.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Keyframe.cpp (revision 9878)
@@ -58,4 +58,8 @@
 TYPE_NAME_ALIAS(osgAnimation::TemplateKeyframeContainer< float >, osgAnimation::FloatKeyframeContainer)
 
+TYPE_NAME_ALIAS(osgAnimation::TemplateKeyframe< double >, osgAnimation::DoubleKeyframe)
+
+TYPE_NAME_ALIAS(osgAnimation::TemplateKeyframeContainer< double >, osgAnimation::DoubleKeyframeContainer)
+
 TYPE_NAME_ALIAS(osgAnimation::TemplateKeyframe< osg::Vec2 >, osgAnimation::Vec2Keyframe)
 
@@ -98,420 +102,2 @@
 TYPE_NAME_ALIAS(osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec4CubicBezier >, osgAnimation::Vec4CubicBezierKeyframeContainer)
 
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< float >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osg::Quat >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osg::Vec2 >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osg::Vec3 >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osg::Vec4 >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osgAnimation::DoubleCubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osgAnimation::FloatCubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osgAnimation::Vec2CubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osgAnimation::Vec3CubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osgAnimation::Vec3Packed >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframe< osgAnimation::Vec4CubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::Keyframe);
-	I_Constructor0(____TemplateKeyframe,
-	               "",
-	               "");
-	I_Constructor2(IN, float, time, IN, const T &, value,
-	               ____TemplateKeyframe__float__C5_T_R1,
-	               "",
-	               "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< float >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osg::Quat >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osg::Vec2 >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osg::Vec3 >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osg::Vec4 >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osgAnimation::DoubleCubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osgAnimation::FloatCubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec2CubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec3CubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec3Packed >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec4CubicBezier >)
-	I_DeclaringFile("osgAnimation/Keyframe");
-	I_BaseType(osgAnimation::KeyframeContainer);
-	I_Constructor0(____TemplateKeyframeContainer,
-	               "",
-	               "");
-	I_Method0(unsigned int, size,
-	          Properties::VIRTUAL,
-	          __unsigned_int__size,
-	          "",
-	          "");
-END_REFLECTOR
-
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Timeline.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Timeline.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Timeline.cpp (revision 9878)
@@ -13,5 +13,4 @@
 #include <osg/CopyOp>
 #include <osg/Object>
-#include <osg/State>
 #include <osgAnimation/Animation>
 #include <osgAnimation/Timeline>
@@ -321,4 +320,16 @@
 END_REFLECTOR
 
+BEGIN_ENUM_REFLECTOR(osgAnimation::Timeline::Status)
+	I_DeclaringFile("osgAnimation/Timeline");
+	I_EnumLabel(osgAnimation::Timeline::Play);
+	I_EnumLabel(osgAnimation::Timeline::Stop);
+END_REFLECTOR
+
+TYPE_NAME_ALIAS(std::pair< unsigned int COMMA  osg::ref_ptr< osgAnimation::Action > >, osgAnimation::Timeline::FrameAction)
+
+TYPE_NAME_ALIAS(std::vector< osgAnimation::Timeline::FrameAction >, osgAnimation::Timeline::ActionList)
+
+TYPE_NAME_ALIAS(std::map< int COMMA  osgAnimation::Timeline::ActionList >, osgAnimation::Timeline::ActionLayers)
+
 BEGIN_OBJECT_REFLECTOR(osgAnimation::Timeline)
 	I_DeclaringFile("osgAnimation/Timeline");
@@ -356,10 +367,10 @@
 	                           "",
 	                           "");
-	I_Method0(osg::State, getStatus,
-	          Properties::NON_VIRTUAL,
-	          __State__getStatus,
-	          "",
-	          "");
-	I_Method1(const ActionList &, getActionLayer, IN, int, i,
+	I_Method0(osgAnimation::Timeline::Status, getStatus,
+	          Properties::NON_VIRTUAL,
+	          __Status__getStatus,
+	          "",
+	          "");
+	I_Method1(const osgAnimation::Timeline::ActionList &, getActionLayer, IN, int, i,
 	          Properties::NON_VIRTUAL,
 	          __C5_ActionList_R1__getActionLayer__int,
@@ -449,5 +460,5 @@
 	                   "",
 	                   "");
-	I_ProtectedMethod2(void, internalAddAction, IN, int, priority, IN, const FrameAction &, ftl,
+	I_ProtectedMethod2(void, internalAddAction, IN, int, priority, IN, const osgAnimation::Timeline::FrameAction &, ftl,
 	                   Properties::NON_VIRTUAL,
 	                   Properties::NON_CONST,
@@ -464,6 +475,46 @@
 	                 __bool__getEvaluating, 
 	                 0);
-	I_SimpleProperty(osg::State, Status, 
-	                 __State__getStatus, 
+	I_SimpleProperty(osgAnimation::Timeline::Status, Status, 
+	                 __Status__getStatus, 
+	                 0);
+END_REFLECTOR
+
+BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgAnimation::Action >)
+	I_DeclaringFile("osg/ref_ptr");
+	I_Constructor0(____ref_ptr,
+	               "",
+	               "");
+	I_Constructor1(IN, osgAnimation::Action *, ptr,
+	               Properties::NON_EXPLICIT,
+	               ____ref_ptr__T_P1,
+	               "",
+	               "");
+	I_Constructor1(IN, const osg::ref_ptr< osgAnimation::Action > &, rp,
+	               Properties::NON_EXPLICIT,
+	               ____ref_ptr__C5_ref_ptr_R1,
+	               "",
+	               "");
+	I_Method0(osgAnimation::Action *, get,
+	          Properties::NON_VIRTUAL,
+	          __T_P1__get,
+	          "",
+	          "");
+	I_Method0(bool, valid,
+	          Properties::NON_VIRTUAL,
+	          __bool__valid,
+	          "",
+	          "");
+	I_Method0(osgAnimation::Action *, release,
+	          Properties::NON_VIRTUAL,
+	          __T_P1__release,
+	          "",
+	          "");
+	I_Method1(void, swap, IN, osg::ref_ptr< osgAnimation::Action > &, rp,
+	          Properties::NON_VIRTUAL,
+	          __void__swap__ref_ptr_R1,
+	          "",
+	          "");
+	I_SimpleProperty(osgAnimation::Action *, , 
+	                 __T_P1__get, 
 	                 0);
 END_REFLECTOR
@@ -509,4 +560,10 @@
 END_REFLECTOR
 
+STD_MAP_REFLECTOR(std::map< int COMMA  osgAnimation::Timeline::ActionList >)
+
 STD_MAP_REFLECTOR(std::map< unsigned int COMMA  osg::ref_ptr< osgAnimation::Action::Callback > >)
 
+STD_PAIR_REFLECTOR(std::pair< unsigned int COMMA  osg::ref_ptr< osgAnimation::Action > >)
+
+STD_VECTOR_REFLECTOR(std::vector< osgAnimation::Timeline::FrameAction >)
+
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Channel.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Channel.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Channel.cpp (revision 9878)
@@ -181,1016 +181,4 @@
 END_REFLECTOR
 
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::DoubleCubicBezierSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::DoubleCubicBezierSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::DoubleCubicBezierSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::DoubleCubicBezierSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::DoubleCubicBezierSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::DoubleLinearSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::DoubleLinearSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::DoubleLinearSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::DoubleLinearSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::DoubleLinearSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::FloatCubicBezierSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::FloatCubicBezierSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::FloatCubicBezierSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::FloatCubicBezierSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::FloatCubicBezierSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::FloatLinearSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::FloatLinearSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::FloatLinearSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::FloatLinearSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::FloatLinearSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::QuatSphericalLinearSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::QuatSphericalLinearSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::QuatSphericalLinearSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::QuatSphericalLinearSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::QuatSphericalLinearSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::Vec2CubicBezierSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::Vec2CubicBezierSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::Vec2CubicBezierSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::Vec2CubicBezierSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::Vec2CubicBezierSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::Vec2LinearSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::Vec2LinearSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::Vec2LinearSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::Vec2LinearSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::Vec2LinearSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::Vec3CubicBezierSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::Vec3CubicBezierSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::Vec3CubicBezierSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::Vec3CubicBezierSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::Vec3CubicBezierSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::Vec3LinearSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::Vec3LinearSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::Vec3LinearSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::Vec3LinearSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::Vec3LinearSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::Vec4CubicBezierSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::Vec4CubicBezierSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::Vec4CubicBezierSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::Vec4CubicBezierSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::Vec4CubicBezierSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateChannel< osgAnimation::Vec4LinearSampler >)
-	I_DeclaringFile("osgAnimation/Channel");
-	I_BaseType(osgAnimation::Channel);
-	I_ConstructorWithDefaults2(IN, SamplerType *, s, 0, IN, osgAnimation::TemplateChannel< osgAnimation::Vec4LinearSampler >::TargetType *, target, 0,
-	                           ____TemplateChannel__SamplerType_P1__TargetType_P1,
-	                           "",
-	                           "");
-	I_Method1(void, update, IN, float, time,
-	          Properties::VIRTUAL,
-	          __void__update__float,
-	          "",
-	          "");
-	I_Method0(void, reset,
-	          Properties::VIRTUAL,
-	          __void__reset,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Target *, getTarget,
-	          Properties::VIRTUAL,
-	          __Target_P1__getTarget,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getOrCreateSampler,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getOrCreateSampler,
-	          "",
-	          "");
-	I_Method0(osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(const osgAnimation::Sampler *, getSampler,
-	          Properties::VIRTUAL,
-	          __C5_Sampler_P1__getSampler,
-	          "",
-	          "");
-	I_Method0(SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method0(const SamplerType *, getSamplerTyped,
-	          Properties::NON_VIRTUAL,
-	          __C5_SamplerType_P1__getSamplerTyped,
-	          "",
-	          "");
-	I_Method1(void, setSampler, IN, SamplerType *, sampler,
-	          Properties::NON_VIRTUAL,
-	          __void__setSampler__SamplerType_P1,
-	          "",
-	          "");
-	I_Method0(osgAnimation::TemplateChannel< osgAnimation::Vec4LinearSampler >::TargetType *, getTargetTyped,
-	          Properties::NON_VIRTUAL,
-	          __TargetType_P1__getTargetTyped,
-	          "",
-	          "");
-	I_Method1(void, setTarget, IN, osgAnimation::TemplateChannel< osgAnimation::Vec4LinearSampler >::TargetType *, target,
-	          Properties::NON_VIRTUAL,
-	          __void__setTarget__TargetType_P1,
-	          "",
-	          "");
-	I_Method0(float, getStartTime,
-	          Properties::VIRTUAL,
-	          __float__getStartTime,
-	          "",
-	          "");
-	I_Method0(float, getEndTime,
-	          Properties::VIRTUAL,
-	          __float__getEndTime,
-	          "",
-	          "");
-	I_SimpleProperty(float, EndTime, 
-	                 __float__getEndTime, 
-	                 0);
-	I_SimpleProperty(SamplerType *, Sampler, 
-	                 0, 
-	                 __void__setSampler__SamplerType_P1);
-	I_SimpleProperty(SamplerType *, SamplerTyped, 
-	                 __SamplerType_P1__getSamplerTyped, 
-	                 0);
-	I_SimpleProperty(float, StartTime, 
-	                 __float__getStartTime, 
-	                 0);
-	I_SimpleProperty(osgAnimation::Target *, Target, 
-	                 __Target_P1__getTarget, 
-	                 0);
-	I_SimpleProperty(osgAnimation::TemplateChannel< osgAnimation::Vec4LinearSampler >::TargetType *, TargetTyped, 
-	                 __TargetType_P1__getTargetTyped, 
-	                 0);
-END_REFLECTOR
-
 STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osgAnimation::Channel > >)
 
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Animation.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Animation.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Animation.cpp (revision 9878)
@@ -120,4 +120,9 @@
 	          Properties::NON_VIRTUAL,
 	          __void__setPlaymode__PlayMode,
+	          "",
+	          "");
+	I_Method0(osgAnimation::Animation::PlayMode, getPlayMode,
+	          Properties::NON_VIRTUAL,
+	          __PlayMode__getPlayMode,
 	          "",
 	          "");
@@ -144,4 +149,7 @@
 	                 0, 
 	                 __void__setDuration__double);
+	I_SimpleProperty(osgAnimation::Animation::PlayMode, PlayMode, 
+	                 __PlayMode__getPlayMode, 
+	                 0);
 	I_SimpleProperty(osgAnimation::Animation::PlayMode, Playmode, 
 	                 0, 
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Interpolator.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Interpolator.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Interpolator.cpp (revision 9878)
@@ -45,158 +45,2 @@
 TYPE_NAME_ALIAS(osgAnimation::TemplateCubicBezierInterpolator< osg::Vec4 COMMA  osgAnimation::Vec4CubicBezier >, osgAnimation::Vec4CubicBezierInterpolator)
 
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateCubicBezierInterpolator< double COMMA  osgAnimation::DoubleCubicBezier >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateCubicBezierInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateCubicBezierInterpolator< float COMMA  osgAnimation::FloatCubicBezier >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateCubicBezierInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateCubicBezierInterpolator< osg::Vec2 COMMA  osgAnimation::Vec2CubicBezier >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateCubicBezierInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateCubicBezierInterpolator< osg::Vec3 COMMA  osgAnimation::Vec3CubicBezier >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateCubicBezierInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateCubicBezierInterpolator< osg::Vec4 COMMA  osgAnimation::Vec4CubicBezier >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateCubicBezierInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateLinearInterpolator< double COMMA  double >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateLinearInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateLinearInterpolator< float COMMA  float >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateLinearInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateLinearInterpolator< osg::Vec2 COMMA  osg::Vec2 >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateLinearInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateLinearInterpolator< osg::Vec3 COMMA  osg::Vec3 >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateLinearInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateLinearInterpolator< osg::Vec3 COMMA  osgAnimation::Vec3Packed >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateLinearInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateLinearInterpolator< osg::Vec4 COMMA  osg::Vec4 >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateLinearInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateSphericalLinearInterpolator< osg::Quat COMMA  osg::Quat >)
-	I_DeclaringFile("osgAnimation/Interpolator");
-	I_BaseType(osgAnimation::TemplateInterpolatorBase);
-	I_Constructor0(____TemplateSphericalLinearInterpolator,
-	               "",
-	               "");
-	I_Method3(void, getValue, IN, const osgAnimation::TemplateKeyframeContainer< KEY > &, keyframes, IN, float, time, IN, TYPE &, result,
-	          Properties::NON_VIRTUAL,
-	          __void__getValue__C5_TemplateKeyframeContainerT1_KEY__R1__float__TYPE_R1,
-	          "",
-	          "");
-END_REFLECTOR
-
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/CubicBezier.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/CubicBezier.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/CubicBezier.cpp (revision 9878)
@@ -31,297 +31,2 @@
 TYPE_NAME_ALIAS(osgAnimation::TemplateCubicBezier< osg::Vec4 >, osgAnimation::Vec4CubicBezier)
 
-BEGIN_VALUE_REFLECTOR(osgAnimation::TemplateCubicBezier< double >)
-	I_DeclaringFile("osgAnimation/CubicBezier");
-	I_Method0(const T &, getP0,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP0,
-	          "",
-	          "");
-	I_Method0(const T &, getP1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP1,
-	          "",
-	          "");
-	I_Method0(const T &, getP2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP2,
-	          "",
-	          "");
-	I_Constructor3(IN, const T &, v0, IN, const T &, v1, IN, const T &, v2,
-	               ____TemplateCubicBezier__C5_T_R1__C5_T_R1__C5_T_R1,
-	               "",
-	               "");
-	I_Constructor0(____TemplateCubicBezier,
-	               "",
-	               "");
-	I_Method0(const T &, getPosition,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getPosition,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint1,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint2,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, P0, 
-	                 __C5_T_R1__getP0, 
-	                 0);
-	I_SimpleProperty(const T &, P1, 
-	                 __C5_T_R1__getP1, 
-	                 0);
-	I_SimpleProperty(const T &, P2, 
-	                 __C5_T_R1__getP2, 
-	                 0);
-	I_SimpleProperty(const T &, Position, 
-	                 __C5_T_R1__getPosition, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint1, 
-	                 __C5_T_R1__getTangentPoint1, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint2, 
-	                 __C5_T_R1__getTangentPoint2, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_VALUE_REFLECTOR(osgAnimation::TemplateCubicBezier< float >)
-	I_DeclaringFile("osgAnimation/CubicBezier");
-	I_Method0(const T &, getP0,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP0,
-	          "",
-	          "");
-	I_Method0(const T &, getP1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP1,
-	          "",
-	          "");
-	I_Method0(const T &, getP2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP2,
-	          "",
-	          "");
-	I_Constructor3(IN, const T &, v0, IN, const T &, v1, IN, const T &, v2,
-	               ____TemplateCubicBezier__C5_T_R1__C5_T_R1__C5_T_R1,
-	               "",
-	               "");
-	I_Constructor0(____TemplateCubicBezier,
-	               "",
-	               "");
-	I_Method0(const T &, getPosition,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getPosition,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint1,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint2,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, P0, 
-	                 __C5_T_R1__getP0, 
-	                 0);
-	I_SimpleProperty(const T &, P1, 
-	                 __C5_T_R1__getP1, 
-	                 0);
-	I_SimpleProperty(const T &, P2, 
-	                 __C5_T_R1__getP2, 
-	                 0);
-	I_SimpleProperty(const T &, Position, 
-	                 __C5_T_R1__getPosition, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint1, 
-	                 __C5_T_R1__getTangentPoint1, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint2, 
-	                 __C5_T_R1__getTangentPoint2, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_VALUE_REFLECTOR(osgAnimation::TemplateCubicBezier< osg::Vec2 >)
-	I_DeclaringFile("osgAnimation/CubicBezier");
-	I_Method0(const T &, getP0,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP0,
-	          "",
-	          "");
-	I_Method0(const T &, getP1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP1,
-	          "",
-	          "");
-	I_Method0(const T &, getP2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP2,
-	          "",
-	          "");
-	I_Constructor3(IN, const T &, v0, IN, const T &, v1, IN, const T &, v2,
-	               ____TemplateCubicBezier__C5_T_R1__C5_T_R1__C5_T_R1,
-	               "",
-	               "");
-	I_Constructor0(____TemplateCubicBezier,
-	               "",
-	               "");
-	I_Method0(const T &, getPosition,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getPosition,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint1,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint2,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, P0, 
-	                 __C5_T_R1__getP0, 
-	                 0);
-	I_SimpleProperty(const T &, P1, 
-	                 __C5_T_R1__getP1, 
-	                 0);
-	I_SimpleProperty(const T &, P2, 
-	                 __C5_T_R1__getP2, 
-	                 0);
-	I_SimpleProperty(const T &, Position, 
-	                 __C5_T_R1__getPosition, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint1, 
-	                 __C5_T_R1__getTangentPoint1, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint2, 
-	                 __C5_T_R1__getTangentPoint2, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_VALUE_REFLECTOR(osgAnimation::TemplateCubicBezier< osg::Vec3 >)
-	I_DeclaringFile("osgAnimation/CubicBezier");
-	I_Method0(const T &, getP0,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP0,
-	          "",
-	          "");
-	I_Method0(const T &, getP1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP1,
-	          "",
-	          "");
-	I_Method0(const T &, getP2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP2,
-	          "",
-	          "");
-	I_Constructor3(IN, const T &, v0, IN, const T &, v1, IN, const T &, v2,
-	               ____TemplateCubicBezier__C5_T_R1__C5_T_R1__C5_T_R1,
-	               "",
-	               "");
-	I_Constructor0(____TemplateCubicBezier,
-	               "",
-	               "");
-	I_Method0(const T &, getPosition,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getPosition,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint1,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint2,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, P0, 
-	                 __C5_T_R1__getP0, 
-	                 0);
-	I_SimpleProperty(const T &, P1, 
-	                 __C5_T_R1__getP1, 
-	                 0);
-	I_SimpleProperty(const T &, P2, 
-	                 __C5_T_R1__getP2, 
-	                 0);
-	I_SimpleProperty(const T &, Position, 
-	                 __C5_T_R1__getPosition, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint1, 
-	                 __C5_T_R1__getTangentPoint1, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint2, 
-	                 __C5_T_R1__getTangentPoint2, 
-	                 0);
-END_REFLECTOR
-
-BEGIN_VALUE_REFLECTOR(osgAnimation::TemplateCubicBezier< osg::Vec4 >)
-	I_DeclaringFile("osgAnimation/CubicBezier");
-	I_Method0(const T &, getP0,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP0,
-	          "",
-	          "");
-	I_Method0(const T &, getP1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP1,
-	          "",
-	          "");
-	I_Method0(const T &, getP2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getP2,
-	          "",
-	          "");
-	I_Constructor3(IN, const T &, v0, IN, const T &, v1, IN, const T &, v2,
-	               ____TemplateCubicBezier__C5_T_R1__C5_T_R1__C5_T_R1,
-	               "",
-	               "");
-	I_Constructor0(____TemplateCubicBezier,
-	               "",
-	               "");
-	I_Method0(const T &, getPosition,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getPosition,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint1,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint1,
-	          "",
-	          "");
-	I_Method0(const T &, getTangentPoint2,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getTangentPoint2,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, P0, 
-	                 __C5_T_R1__getP0, 
-	                 0);
-	I_SimpleProperty(const T &, P1, 
-	                 __C5_T_R1__getP1, 
-	                 0);
-	I_SimpleProperty(const T &, P2, 
-	                 __C5_T_R1__getP2, 
-	                 0);
-	I_SimpleProperty(const T &, Position, 
-	                 __C5_T_R1__getPosition, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint1, 
-	                 __C5_T_R1__getTangentPoint1, 
-	                 0);
-	I_SimpleProperty(const T &, TangentPoint2, 
-	                 __C5_T_R1__getTangentPoint2, 
-	                 0);
-END_REFLECTOR
-
Index: /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Target.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Target.cpp (revision 9775)
+++ /OpenSceneGraph/trunk/src/osgWrappers/osgAnimation/Target.cpp (revision 9878)
@@ -73,218 +73,2 @@
 TYPE_NAME_ALIAS(osgAnimation::TemplateTarget< double >, osgAnimation::DoubleTarget)
 
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateTarget< double >)
-	I_DeclaringFile("osgAnimation/Target");
-	I_BaseType(osgAnimation::Target);
-	I_Constructor0(____TemplateTarget,
-	               "",
-	               "");
-	I_Constructor1(IN, const T &, v,
-	               Properties::NON_EXPLICIT,
-	               ____TemplateTarget__C5_T_R1,
-	               "",
-	               "");
-	I_Method2(void, update, IN, float, weight, IN, const T &, val,
-	          Properties::NON_VIRTUAL,
-	          __void__update__float__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_Method0(void, normalize,
-	          Properties::VIRTUAL,
-	          __void__normalize,
-	          "",
-	          "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateTarget< float >)
-	I_DeclaringFile("osgAnimation/Target");
-	I_BaseType(osgAnimation::Target);
-	I_Constructor0(____TemplateTarget,
-	               "",
-	               "");
-	I_Constructor1(IN, const T &, v,
-	               Properties::NON_EXPLICIT,
-	               ____TemplateTarget__C5_T_R1,
-	               "",
-	               "");
-	I_Method2(void, update, IN, float, weight, IN, const T &, val,
-	          Properties::NON_VIRTUAL,
-	          __void__update__float__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_Method0(void, normalize,
-	          Properties::VIRTUAL,
-	          __void__normalize,
-	          "",
-	          "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateTarget< osg::Quat >)
-	I_DeclaringFile("osgAnimation/Target");
-	I_BaseType(osgAnimation::Target);
-	I_Constructor0(____TemplateTarget,
-	               "",
-	               "");
-	I_Constructor1(IN, const T &, v,
-	               Properties::NON_EXPLICIT,
-	               ____TemplateTarget__C5_T_R1,
-	               "",
-	               "");
-	I_Method2(void, update, IN, float, weight, IN, const T &, val,
-	          Properties::NON_VIRTUAL,
-	          __void__update__float__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_Method0(void, normalize,
-	          Properties::VIRTUAL,
-	          __void__normalize,
-	          "",
-	          "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateTarget< osg::Vec2 >)
-	I_DeclaringFile("osgAnimation/Target");
-	I_BaseType(osgAnimation::Target);
-	I_Constructor0(____TemplateTarget,
-	               "",
-	               "");
-	I_Constructor1(IN, const T &, v,
-	               Properties::NON_EXPLICIT,
-	               ____TemplateTarget__C5_T_R1,
-	               "",
-	               "");
-	I_Method2(void, update, IN, float, weight, IN, const T &, val,
-	          Properties::NON_VIRTUAL,
-	          __void__update__float__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_Method0(void, normalize,
-	          Properties::VIRTUAL,
-	          __void__normalize,
-	          "",
-	          "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateTarget< osg::Vec3 >)
-	I_DeclaringFile("osgAnimation/Target");
-	I_BaseType(osgAnimation::Target);
-	I_Constructor0(____TemplateTarget,
-	               "",
-	               "");
-	I_Constructor1(IN, const T &, v,
-	               Properties::NON_EXPLICIT,
-	               ____TemplateTarget__C5_T_R1,
-	               "",
-	               "");
-	I_Method2(void, update, IN, float, weight, IN, const T &, val,
-	          Properties::NON_VIRTUAL,
-	          __void__update__float__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_Method0(void, normalize,
-	          Properties::VIRTUAL,
-	          __void__normalize,
-	          "",
-	          "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
-BEGIN_OBJECT_REFLECTOR(osgAnimation::TemplateTarget< osg::Vec4 >)
-	I_DeclaringFile("osgAnimation/Target");
-	I_BaseType(osgAnimation::Target);
-	I_Constructor0(____TemplateTarget,
-	               "",
-	               "");
-	I_Constructor1(IN, const T &, v,
-	               Properties::NON_EXPLICIT,
-	               ____TemplateTarget__C5_T_R1,
-	               "",
-	               "");
-	I_Method2(void, update, IN, float, weight, IN, const T &, val,
-	          Properties::NON_VIRTUAL,
-	          __void__update__float__C5_T_R1,
-	          "",
-	          "");
-	I_Method0(const T &, getValue,
-	          Properties::NON_VIRTUAL,
-	          __C5_T_R1__getValue,
-	          "",
-	          "");
-	I_Method0(void, normalize,
-	          Properties::VIRTUAL,
-	          __void__normalize,
-	          "",
-	          "");
-	I_Method1(void, setValue, IN, const T &, value,
-	          Properties::NON_VIRTUAL,
-	          __void__setValue__C5_T_R1,
-	          "",
-	          "");
-	I_SimpleProperty(const T &, Value, 
-	                 __C5_T_R1__getValue, 
-	                 __void__setValue__C5_T_R1);
-END_REFLECTOR
-
Index: /OpenSceneGraph/trunk/src/osgWrappers/genwrapper.conf
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/genwrapper.conf (revision 9774)
+++ /OpenSceneGraph/trunk/src/osgWrappers/genwrapper.conf (revision 9878)
@@ -186,4 +186,83 @@
 suppress reflector "osg::BoundingSphereImpl< osg::Vec3d >"
 
+suppress reflector "osgAnimation::TemplateTarget< osg::Quat >"
+suppress reflector "osgAnimation::TemplateTarget< osg::Vec3 >"
+suppress reflector "osgAnimation::TemplateTarget< osg::Vec4 >"
+suppress reflector "osgAnimation::TemplateTarget< osg::Vec2 >"
+suppress reflector "osgAnimation::TemplateTarget< float >"
+suppress reflector "osgAnimation::TemplateTarget< double >"
+
+suppress reflector "osgAnimation::TemplateLinearInterpolator< double, double >"
+suppress reflector "osgAnimation::TemplateLinearInterpolator< float, float >"
+suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec2, osg::Vec2 >"
+suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec3, osg::Vec3 >"
+suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec3, osgAnimation::Vec3Packed >"
+suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec4, osg::Vec4 >"
+suppress reflector "osgAnimation::TemplateSphericalLinearInterpolator< osg::Quat, osg::Quat >"
+
+suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< float, osgAnimation::FloatCubicBezier >"
+suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< double, osgAnimation::DoubleCubicBezier >"
+suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< osg::Vec2, osgAnimation::Vec2CubicBezier >"
+suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< osg::Vec3, osgAnimation::Vec3CubicBezier >"
+suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< osg::Vec4, osgAnimation::Vec4CubicBezier >"
+
+suppress reflector "osgAnimation::TemplateKeyframe< float >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< float >"
+    
+suppress reflector "osgAnimation::TemplateKeyframe< double >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< double >"
+
+suppress reflector "osgAnimation::TemplateKeyframe< osg::Vec2 >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Vec2 >"
+
+suppress reflector "osgAnimation::TemplateKeyframe< osg::Vec3 >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Vec3 >"
+
+suppress reflector "osgAnimation::TemplateKeyframe< osg::Vec4 >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Vec4 >"
+
+suppress reflector "osgAnimation::TemplateKeyframe< osg::Quat >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Quat >"
+
+suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec3Packed >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec3Packed >"
+
+suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::FloatCubicBezier >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::FloatCubicBezier >"
+    
+suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::DoubleCubicBezier >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::DoubleCubicBezier >"
+    
+suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec2CubicBezier >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec2CubicBezier >"
+    
+suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec3CubicBezier >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec3CubicBezier >"
+    
+suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec4CubicBezier >"
+suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec4CubicBezier >"
+
+suppress reflector "osgAnimation::TemplateCubicBezier< float >"
+suppress reflector "osgAnimation::TemplateCubicBezier< double >"
+suppress reflector "osgAnimation::TemplateCubicBezier< osg::Vec2 >"
+suppress reflector "osgAnimation::TemplateCubicBezier< osg::Vec3 >"
+suppress reflector "osgAnimation::TemplateCubicBezier< osg::Vec4 >"
+
+
+suppress reflector "osgAnimation::std::vector< osg::ref_ptr< osgAnimation::Channel >  >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::DoubleLinearSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::FloatLinearSampler >"
+
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec2LinearSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec3LinearSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec4LinearSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::QuatSphericalLinearSampler >"
+
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::FloatCubicBezierSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::DoubleCubicBezierSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec2CubicBezierSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec3CubicBezierSampler >"
+suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec4CubicBezierSampler >"
+
 #############################################################################
 
Index: /OpenSceneGraph/trunk/src/osgWrappers/CMakeLists.txt
===================================================================
--- /OpenSceneGraph/trunk/src/osgWrappers/CMakeLists.txt (revision 9350)
+++ /OpenSceneGraph/trunk/src/osgWrappers/CMakeLists.txt (revision 9878)
@@ -131,4 +131,5 @@
     osgGA
     osgManipulator
+    osgAnimation
     osgParticle
     osgShadow
