// ***************************************************************************
//
//   Generated automatically by genwrapper.
//   Please DO NOT EDIT this file!
//
// ***************************************************************************

#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>

#include <osg/Camera>
#include <osg/CopyOp>
#include <osg/MatrixTransform>
#include <osg/Node>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Vec3d>
#include <osgGA/GUIActionAdapter>
#include <osgGA/GUIEventAdapter>
#include <osgManipulator/Command>
#include <osgManipulator/Constraint>
#include <osgManipulator/Dragger>

// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif

TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osgManipulator::Dragger > >, osgManipulator::CompositeDragger::DraggerList)

BEGIN_OBJECT_REFLECTOR(osgManipulator::CompositeDragger)
	I_DeclaringFile("osgManipulator/Dragger");
	I_BaseType(osgManipulator::Dragger);
	I_Method0(osg::Object *, cloneType,
	          Properties::VIRTUAL,
	          __osg_Object_P1__cloneType,
	          "clone an object of the same type as the node. ",
	          "");
	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
	          Properties::VIRTUAL,
	          __osg_Object_P1__clone__C5_osg_CopyOp_R1,
	          "return a clone of a node, with Object* return type. ",
	          "");
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
	          Properties::VIRTUAL,
	          __bool__isSameKindAs__C5_osg_Object_P1,
	          "return true if this and obj are of the same kind of object. ",
	          "");
	I_Method0(const char *, className,
	          Properties::VIRTUAL,
	          __C5_char_P1__className,
	          "return the name of the node's class type. ",
	          "");
	I_Method0(const char *, libraryName,
	          Properties::VIRTUAL,
	          __C5_char_P1__libraryName,
	          "return the name of the node's library. ",
	          "");
	I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
	          Properties::VIRTUAL,
	          __void__accept__osg_NodeVisitor_R1,
	          "Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
	          "");
	I_Method0(const osgManipulator::CompositeDragger *, getComposite,
	          Properties::VIRTUAL,
	          __C5_CompositeDragger_P1__getComposite,
	          "Returns 0 if this Dragger is not a CompositeDragger. ",
	          "");
	I_Method0(osgManipulator::CompositeDragger *, getComposite,
	          Properties::VIRTUAL,
	          __CompositeDragger_P1__getComposite,
	          "Returns 0 if this Dragger is not a CompositeDragger. ",
	          "");
	I_Method1(void, setParentDragger, IN, osgManipulator::Dragger *, parent,
	          Properties::VIRTUAL,
	          __void__setParentDragger__Dragger_P1,
	          "Set/Get parent dragger. ",
	          "For simple draggers parent points to itself. For composite draggers parent points to the parent dragger that uses this dragger. ");
	I_Method3(bool, handle, IN, const osgManipulator::PointerInfo &, pi, IN, const osgGA::GUIEventAdapter &, ea, IN, osgGA::GUIActionAdapter &, aa,
	          Properties::VIRTUAL,
	          __bool__handle__C5_PointerInfo_R1__C5_osgGA_GUIEventAdapter_R1__osgGA_GUIActionAdapter_R1,
	          "",
	          "");
	I_Method1(bool, addDragger, IN, osgManipulator::Dragger *, dragger,
	          Properties::VIRTUAL,
	          __bool__addDragger__Dragger_P1,
	          "",
	          "");
	I_Method1(bool, removeDragger, IN, osgManipulator::Dragger *, dragger,
	          Properties::VIRTUAL,
	          __bool__removeDragger__Dragger_P1,
	          "",
	          "");
	I_Method0(unsigned int, getNumDraggers,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getNumDraggers,
	          "",
	          "");
	I_Method1(osgManipulator::Dragger *, getDragger, IN, unsigned int, i,
	          Properties::NON_VIRTUAL,
	          __Dragger_P1__getDragger__unsigned_int,
	          "",
	          "");
	I_Method1(const osgManipulator::Dragger *, getDragger, IN, unsigned int, i,
	          Properties::NON_VIRTUAL,
	          __C5_Dragger_P1__getDragger__unsigned_int,
	          "",
	          "");
	I_Method1(bool, containsDragger, IN, const osgManipulator::Dragger *, dragger,
	          Properties::NON_VIRTUAL,
	          __bool__containsDragger__C5_Dragger_P1,
	          "",
	          "");
	I_Method1(osgManipulator::CompositeDragger::DraggerList::iterator, findDragger, IN, const osgManipulator::Dragger *, dragger,
	          Properties::NON_VIRTUAL,
	          __DraggerList_iterator__findDragger__C5_Dragger_P1,
	          "",
	          "");
	I_ProtectedConstructor0(____CompositeDragger,
	                        "",
	                        "");
	I_ProtectedConstructorWithDefaults2(IN, const osgManipulator::CompositeDragger &, rhs, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                                    ____CompositeDragger__C5_CompositeDragger_R1__C5_osg_CopyOp_R1,
	                                    "",
	                                    "");
	I_SimpleProperty(osgManipulator::CompositeDragger *, Composite, 
	                 __CompositeDragger_P1__getComposite, 
	                 0);
	I_ArrayProperty(osgManipulator::Dragger *, Dragger, 
	                __Dragger_P1__getDragger__unsigned_int, 
	                0, 
	                __unsigned_int__getNumDraggers, 
	                __bool__addDragger__Dragger_P1, 
	                0, 
	                0);
	I_SimpleProperty(osgManipulator::Dragger *, ParentDragger, 
	                 0, 
	                 __void__setParentDragger__Dragger_P1);
END_REFLECTOR

TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osgManipulator::Constraint > >, osgManipulator::Dragger::Constraints)

TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osgManipulator::DraggerCallback > >, osgManipulator::Dragger::DraggerCallbacks)

BEGIN_OBJECT_REFLECTOR(osgManipulator::Dragger)
	I_DeclaringFile("osgManipulator/Dragger");
	I_BaseType(osg::MatrixTransform);
	I_Method0(osg::Object *, cloneType,
	          Properties::VIRTUAL,
	          __osg_Object_P1__cloneType,
	          "clone an object of the same type as the node. ",
	          "");
	I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
	          Properties::VIRTUAL,
	          __osg_Object_P1__clone__C5_osg_CopyOp_R1,
	          "return a clone of a node, with Object* return type. ",
	          "");
	I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
	          Properties::VIRTUAL,
	          __bool__isSameKindAs__C5_osg_Object_P1,
	          "return true if this and obj are of the same kind of object. ",
	          "");
	I_Method0(const char *, className,
	          Properties::VIRTUAL,
	          __C5_char_P1__className,
	          "return the name of the node's class type. ",
	          "");
	I_Method0(const char *, libraryName,
	          Properties::VIRTUAL,
	          __C5_char_P1__libraryName,
	          "return the name of the node's library. ",
	          "");
	I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
	          Properties::VIRTUAL,
	          __void__accept__osg_NodeVisitor_R1,
	          "Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
	          "");
	I_Method1(void, setParentDragger, IN, osgManipulator::Dragger *, parent,
	          Properties::VIRTUAL,
	          __void__setParentDragger__Dragger_P1,
	          "Set/Get parent dragger. ",
	          "For simple draggers parent points to itself. For composite draggers parent points to the parent dragger that uses this dragger. ");
	I_Method0(osgManipulator::Dragger *, getParentDragger,
	          Properties::NON_VIRTUAL,
	          __Dragger_P1__getParentDragger,
	          "",
	          "");
	I_Method0(const osgManipulator::Dragger *, getParentDragger,
	          Properties::NON_VIRTUAL,
	          __C5_Dragger_P1__getParentDragger,
	          "",
	          "");
	I_Method0(const osgManipulator::CompositeDragger *, getComposite,
	          Properties::VIRTUAL,
	          __C5_CompositeDragger_P1__getComposite,
	          "Returns 0 if this Dragger is not a CompositeDragger. ",
	          "");
	I_Method0(osgManipulator::CompositeDragger *, getComposite,
	          Properties::VIRTUAL,
	          __CompositeDragger_P1__getComposite,
	          "Returns 0 if this Dragger is not a CompositeDragger. ",
	          "");
	I_Method1(void, setHandleEvents, IN, bool, flag,
	          Properties::NON_VIRTUAL,
	          __void__setHandleEvents__bool,
	          "",
	          "");
	I_Method0(bool, getHandleEvents,
	          Properties::NON_VIRTUAL,
	          __bool__getHandleEvents,
	          "",
	          "");
	I_Method1(void, setActivationModKeyMask, IN, unsigned int, mask,
	          Properties::NON_VIRTUAL,
	          __void__setActivationModKeyMask__unsigned_int,
	          "",
	          "");
	I_Method0(unsigned int, getActivationModKeyMask,
	          Properties::NON_VIRTUAL,
	          __unsigned_int__getActivationModKeyMask,
	          "",
	          "");
	I_Method1(void, setActivationKeyEvent, IN, int, key,
	          Properties::NON_VIRTUAL,
	          __void__setActivationKeyEvent__int,
	          "",
	          "");
	I_Method0(int, getActivationKeyEvent,
	          Properties::NON_VIRTUAL,
	          __int__getActivationKeyEvent,
	          "",
	          "");
	I_Method1(void, traverse, IN, osg::NodeVisitor &, x,
	          Properties::VIRTUAL,
	          __void__traverse__osg_NodeVisitor_R1,
	          "Traverse downwards : calls children's accept method with NodeVisitor. ",
	          "");
	I_Method2(bool, handle, IN, const osgGA::GUIEventAdapter &, ea, IN, osgGA::GUIActionAdapter &, aa,
	          Properties::VIRTUAL,
	          __bool__handle__C5_osgGA_GUIEventAdapter_R1__osgGA_GUIActionAdapter_R1,
	          "",
	          "");
	I_Method3(bool, handle, IN, const osgManipulator::PointerInfo &, x, IN, const osgGA::GUIEventAdapter &, x, IN, osgGA::GUIActionAdapter &, x,
	          Properties::VIRTUAL,
	          __bool__handle__C5_PointerInfo_R1__C5_osgGA_GUIEventAdapter_R1__osgGA_GUIActionAdapter_R1,
	          "",
	          "");
	I_Method1(void, addConstraint, IN, osgManipulator::Constraint *, constraint,
	          Properties::NON_VIRTUAL,
	          __void__addConstraint__Constraint_P1,
	          "",
	          "");
	I_Method1(void, removeConstraint, IN, osgManipulator::Constraint *, constraint,
	          Properties::NON_VIRTUAL,
	          __void__removeConstraint__Constraint_P1,
	          "",
	          "");
	I_Method0(osgManipulator::Dragger::Constraints &, getConstraints,
	          Properties::NON_VIRTUAL,
	          __Constraints_R1__getConstraints,
	          "",
	          "");
	I_Method0(const osgManipulator::Dragger::Constraints &, getConstraints,
	          Properties::NON_VIRTUAL,
	          __C5_Constraints_R1__getConstraints,
	          "",
	          "");
	I_Method1(void, addDraggerCallback, IN, osgManipulator::DraggerCallback *, dc,
	          Properties::NON_VIRTUAL,
	          __void__addDraggerCallback__DraggerCallback_P1,
	          "",
	          "");
	I_Method1(void, removeDraggerCallback, IN, osgManipulator::DraggerCallback *, dc,
	          Properties::NON_VIRTUAL,
	          __void__removeDraggerCallback__DraggerCallback_P1,
	          "",
	          "");
	I_Method0(osgManipulator::Dragger::DraggerCallbacks &, getDraggerCallbacks,
	          Properties::NON_VIRTUAL,
	          __DraggerCallbacks_R1__getDraggerCallbacks,
	          "",
	          "");
	I_Method0(const osgManipulator::Dragger::DraggerCallbacks &, getDraggerCallbacks,
	          Properties::NON_VIRTUAL,
	          __C5_DraggerCallbacks_R1__getDraggerCallbacks,
	          "",
	          "");
	I_Method1(void, addTransformUpdating, IN, osg::MatrixTransform *, transform,
	          Properties::NON_VIRTUAL,
	          __void__addTransformUpdating__MatrixTransform_P1,
	          "",
	          "");
	I_Method1(void, removeTransformUpdating, IN, osg::MatrixTransform *, transform,
	          Properties::NON_VIRTUAL,
	          __void__removeTransformUpdating__MatrixTransform_P1,
	          "",
	          "");
	I_Method0(void, setupDefaultGeometry,
	          Properties::VIRTUAL,
	          __void__setupDefaultGeometry,
	          "Setup default geometry for dragger. ",
	          "");
	I_Method1(bool, receive, IN, const osgManipulator::MotionCommand &, command,
	          Properties::VIRTUAL,
	          __bool__receive__C5_MotionCommand_R1,
	          "",
	          "");
	I_Method1(void, dispatch, IN, osgManipulator::MotionCommand &, command,
	          Properties::NON_VIRTUAL,
	          __void__dispatch__MotionCommand_R1,
	          "",
	          "");
	I_Method1(void, setDraggerActive, IN, bool, active,
	          Properties::NON_VIRTUAL,
	          __void__setDraggerActive__bool,
	          "",
	          "");
	I_Method0(bool, getDraggerActive,
	          Properties::NON_VIRTUAL,
	          __bool__getDraggerActive,
	          "",
	          "");
	I_ProtectedConstructor0(____Dragger,
	                        "",
	                        "");
	I_ProtectedConstructorWithDefaults2(IN, const osgManipulator::Dragger &, rhs, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                                    ____Dragger__C5_Dragger_R1__C5_osg_CopyOp_R1,
	                                    "",
	                                    "");
	I_SimpleProperty(int, ActivationKeyEvent, 
	                 __int__getActivationKeyEvent, 
	                 __void__setActivationKeyEvent__int);
	I_SimpleProperty(unsigned int, ActivationModKeyMask, 
	                 __unsigned_int__getActivationModKeyMask, 
	                 __void__setActivationModKeyMask__unsigned_int);
	I_SimpleProperty(osgManipulator::CompositeDragger *, Composite, 
	                 __CompositeDragger_P1__getComposite, 
	                 0);
	I_SimpleProperty(osgManipulator::Dragger::Constraints &, Constraints, 
	                 __Constraints_R1__getConstraints, 
	                 0);
	I_SimpleProperty(bool, DraggerActive, 
	                 __bool__getDraggerActive, 
	                 __void__setDraggerActive__bool);
	I_SimpleProperty(osgManipulator::Dragger::DraggerCallbacks &, DraggerCallbacks, 
	                 __DraggerCallbacks_R1__getDraggerCallbacks, 
	                 0);
	I_SimpleProperty(bool, HandleEvents, 
	                 __bool__getHandleEvents, 
	                 __void__setHandleEvents__bool);
	I_SimpleProperty(osgManipulator::Dragger *, ParentDragger, 
	                 __Dragger_P1__getParentDragger, 
	                 __void__setParentDragger__Dragger_P1);
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgManipulator::DraggerCallback)
	I_DeclaringFile("osgManipulator/Dragger");
	I_VirtualBaseType(osg::Object);
	I_Constructor0(____DraggerCallback,
	               "",
	               "");
	I_ConstructorWithDefaults2(IN, const osgManipulator::DraggerCallback &, x, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
	                           ____DraggerCallback__C5_DraggerCallback_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_Method1(bool, receive, IN, const osgManipulator::MotionCommand &, x,
	          Properties::VIRTUAL,
	          __bool__receive__C5_MotionCommand_R1,
	          "Receive motion commands. ",
	          "Returns true on success. ");
	I_Method1(bool, receive, IN, const osgManipulator::TranslateInLineCommand &, command,
	          Properties::VIRTUAL,
	          __bool__receive__C5_TranslateInLineCommand_R1,
	          "",
	          "");
	I_Method1(bool, receive, IN, const osgManipulator::TranslateInPlaneCommand &, command,
	          Properties::VIRTUAL,
	          __bool__receive__C5_TranslateInPlaneCommand_R1,
	          "",
	          "");
	I_Method1(bool, receive, IN, const osgManipulator::Scale1DCommand &, command,
	          Properties::VIRTUAL,
	          __bool__receive__C5_Scale1DCommand_R1,
	          "",
	          "");
	I_Method1(bool, receive, IN, const osgManipulator::Scale2DCommand &, command,
	          Properties::VIRTUAL,
	          __bool__receive__C5_Scale2DCommand_R1,
	          "",
	          "");
	I_Method1(bool, receive, IN, const osgManipulator::ScaleUniformCommand &, command,
	          Properties::VIRTUAL,
	          __bool__receive__C5_ScaleUniformCommand_R1,
	          "",
	          "");
	I_Method1(bool, receive, IN, const osgManipulator::Rotate3DCommand &, command,
	          Properties::VIRTUAL,
	          __bool__receive__C5_Rotate3DCommand_R1,
	          "",
	          "");
END_REFLECTOR

BEGIN_OBJECT_REFLECTOR(osgManipulator::DraggerTransformCallback)
	I_DeclaringFile("osgManipulator/Dragger");
	I_BaseType(osgManipulator::DraggerCallback);
	I_Constructor1(IN, osg::MatrixTransform *, transform,
	               Properties::NON_EXPLICIT,
	               ____DraggerTransformCallback__osg_MatrixTransform_P1,
	               "",
	               "");
	I_Method1(bool, receive, IN, const osgManipulator::MotionCommand &, x,
	          Properties::VIRTUAL,
	          __bool__receive__C5_MotionCommand_R1,
	          "Receive motion commands. ",
	          "Returns true on success. ");
	I_Method0(osg::MatrixTransform *, getTransform,
	          Properties::NON_VIRTUAL,
	          __osg_MatrixTransform_P1__getTransform,
	          "",
	          "");
	I_Method0(const osg::MatrixTransform *, getTransform,
	          Properties::NON_VIRTUAL,
	          __C5_osg_MatrixTransform_P1__getTransform,
	          "",
	          "");
	I_SimpleProperty(osg::MatrixTransform *, Transform, 
	                 __osg_MatrixTransform_P1__getTransform, 
	                 0);
END_REFLECTOR

TYPE_NAME_ALIAS(std::pair< osg::NodePath COMMA  osg::Vec3d >, osgManipulator::PointerInfo::NodePathIntersectionPair)

TYPE_NAME_ALIAS(std::list< osgManipulator::PointerInfo::NodePathIntersectionPair >, osgManipulator::PointerInfo::IntersectionList)

BEGIN_VALUE_REFLECTOR(osgManipulator::PointerInfo)
	I_DeclaringFile("osgManipulator/Dragger");
	I_Constructor0(____PointerInfo,
	               "",
	               "");
	I_Constructor1(IN, const osgManipulator::PointerInfo &, rhs,
	               Properties::NON_EXPLICIT,
	               ____PointerInfo__C5_PointerInfo_R1,
	               "",
	               "");
	I_Method0(void, reset,
	          Properties::NON_VIRTUAL,
	          __void__reset,
	          "",
	          "");
	I_Method0(bool, completed,
	          Properties::NON_VIRTUAL,
	          __bool__completed,
	          "",
	          "");
	I_Method0(void, next,
	          Properties::NON_VIRTUAL,
	          __void__next,
	          "",
	          "");
	I_Method0(osg::Vec3d, getLocalIntersectPoint,
	          Properties::NON_VIRTUAL,
	          __osg_Vec3d__getLocalIntersectPoint,
	          "",
	          "");
	I_Method2(void, setNearFarPoints, IN, osg::Vec3d, nearPoint, IN, osg::Vec3d, farPoint,
	          Properties::NON_VIRTUAL,
	          __void__setNearFarPoints__osg_Vec3d__osg_Vec3d,
	          "",
	          "");
	I_Method0(const osg::Vec3d &, getEyeDir,
	          Properties::NON_VIRTUAL,
	          __C5_osg_Vec3d_R1__getEyeDir,
	          "",
	          "");
	I_Method2(void, getNearFarPoints, IN, osg::Vec3d &, nearPoint, IN, osg::Vec3d &, farPoint,
	          Properties::NON_VIRTUAL,
	          __void__getNearFarPoints__osg_Vec3d_R1__osg_Vec3d_R1,
	          "",
	          "");
	I_Method1(bool, contains, IN, const osg::Node *, node,
	          Properties::NON_VIRTUAL,
	          __bool__contains__C5_osg_Node_P1,
	          "",
	          "");
	I_Method1(void, setCamera, IN, osg::Camera *, camera,
	          Properties::NON_VIRTUAL,
	          __void__setCamera__osg_Camera_P1,
	          "",
	          "");
	I_Method2(void, addIntersection, IN, const osg::NodePath &, nodePath, IN, const osg::Vec3d &, intersectionPoint,
	          Properties::NON_VIRTUAL,
	          __void__addIntersection__C5_osg_NodePath_R1__C5_osg_Vec3d_R1,
	          "",
	          "");
	I_Method2(void, setMousePosition, IN, float, pixel_x, IN, float, pixel_y,
	          Properties::NON_VIRTUAL,
	          __void__setMousePosition__float__float,
	          "",
	          "");
	I_ProtectedMethod3(bool, projectWindowXYIntoObject, IN, const osg::Vec2d &, windowCoord, IN, osg::Vec3d &, nearPoint, IN, osg::Vec3d &, farPoint,
	                   Properties::NON_VIRTUAL,
	                   Properties::CONST,
	                   __bool__projectWindowXYIntoObject__C5_osg_Vec2d_R1__osg_Vec3d_R1__osg_Vec3d_R1,
	                   "",
	                   "");
	I_SimpleProperty(osg::Camera *, Camera, 
	                 0, 
	                 __void__setCamera__osg_Camera_P1);
	I_SimpleProperty(const osg::Vec3d &, EyeDir, 
	                 __C5_osg_Vec3d_R1__getEyeDir, 
	                 0);
	I_SimpleProperty(osg::Vec3d, LocalIntersectPoint, 
	                 __osg_Vec3d__getLocalIntersectPoint, 
	                 0);
	I_PublicMemberProperty(osgManipulator::PointerInfo::IntersectionList, _hitList);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgManipulator::Constraint >)
	I_DeclaringFile("osg/ref_ptr");
	I_Constructor0(____ref_ptr,
	               "",
	               "");
	I_Constructor1(IN, osgManipulator::Constraint *, ptr,
	               Properties::NON_EXPLICIT,
	               ____ref_ptr__T_P1,
	               "",
	               "");
	I_Constructor1(IN, const osg::ref_ptr< osgManipulator::Constraint > &, rp,
	               Properties::NON_EXPLICIT,
	               ____ref_ptr__C5_ref_ptr_R1,
	               "",
	               "");
	I_Method0(osgManipulator::Constraint *, get,
	          Properties::NON_VIRTUAL,
	          __T_P1__get,
	          "",
	          "");
	I_Method0(bool, valid,
	          Properties::NON_VIRTUAL,
	          __bool__valid,
	          "",
	          "");
	I_Method0(osgManipulator::Constraint *, release,
	          Properties::NON_VIRTUAL,
	          __T_P1__release,
	          "",
	          "");
	I_Method1(void, swap, IN, osg::ref_ptr< osgManipulator::Constraint > &, rp,
	          Properties::NON_VIRTUAL,
	          __void__swap__ref_ptr_R1,
	          "",
	          "");
	I_SimpleProperty(osgManipulator::Constraint *, , 
	                 __T_P1__get, 
	                 0);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgManipulator::Dragger >)
	I_DeclaringFile("osg/ref_ptr");
	I_Constructor0(____ref_ptr,
	               "",
	               "");
	I_Constructor1(IN, osgManipulator::Dragger *, ptr,
	               Properties::NON_EXPLICIT,
	               ____ref_ptr__T_P1,
	               "",
	               "");
	I_Constructor1(IN, const osg::ref_ptr< osgManipulator::Dragger > &, rp,
	               Properties::NON_EXPLICIT,
	               ____ref_ptr__C5_ref_ptr_R1,
	               "",
	               "");
	I_Method0(osgManipulator::Dragger *, get,
	          Properties::NON_VIRTUAL,
	          __T_P1__get,
	          "",
	          "");
	I_Method0(bool, valid,
	          Properties::NON_VIRTUAL,
	          __bool__valid,
	          "",
	          "");
	I_Method0(osgManipulator::Dragger *, release,
	          Properties::NON_VIRTUAL,
	          __T_P1__release,
	          "",
	          "");
	I_Method1(void, swap, IN, osg::ref_ptr< osgManipulator::Dragger > &, rp,
	          Properties::NON_VIRTUAL,
	          __void__swap__ref_ptr_R1,
	          "",
	          "");
	I_SimpleProperty(osgManipulator::Dragger *, , 
	                 __T_P1__get, 
	                 0);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osgManipulator::DraggerCallback >)
	I_DeclaringFile("osg/ref_ptr");
	I_Constructor0(____ref_ptr,
	               "",
	               "");
	I_Constructor1(IN, osgManipulator::DraggerCallback *, ptr,
	               Properties::NON_EXPLICIT,
	               ____ref_ptr__T_P1,
	               "",
	               "");
	I_Constructor1(IN, const osg::ref_ptr< osgManipulator::DraggerCallback > &, rp,
	               Properties::NON_EXPLICIT,
	               ____ref_ptr__C5_ref_ptr_R1,
	               "",
	               "");
	I_Method0(osgManipulator::DraggerCallback *, get,
	          Properties::NON_VIRTUAL,
	          __T_P1__get,
	          "",
	          "");
	I_Method0(bool, valid,
	          Properties::NON_VIRTUAL,
	          __bool__valid,
	          "",
	          "");
	I_Method0(osgManipulator::DraggerCallback *, release,
	          Properties::NON_VIRTUAL,
	          __T_P1__release,
	          "",
	          "");
	I_Method1(void, swap, IN, osg::ref_ptr< osgManipulator::DraggerCallback > &, rp,
	          Properties::NON_VIRTUAL,
	          __void__swap__ref_ptr_R1,
	          "",
	          "");
	I_SimpleProperty(osgManipulator::DraggerCallback *, , 
	                 __T_P1__get, 
	                 0);
END_REFLECTOR

STD_LIST_REFLECTOR(std::list< osgManipulator::PointerInfo::NodePathIntersectionPair >)

STD_PAIR_REFLECTOR(std::pair< osg::NodePath COMMA  osg::Vec3d >)

STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osgManipulator::Constraint > >)

STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osgManipulator::Dragger > >)

STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osgManipulator::DraggerCallback > >)

