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

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

#include <osg/Matrix>
#include <osgAnimation/Bone>
#include <osgAnimation/RigGeometry>
#include <osgAnimation/RigTransformSoftware>

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

#include <osg/observer_ptr>
        
TYPE_NAME_ALIAS(std::vector< osgAnimation::RigTransformSoftware::BoneWeight >, osgAnimation::RigTransformSoftware::BoneWeightList)

TYPE_NAME_ALIAS(std::vector< int >, osgAnimation::RigTransformSoftware::VertexList)

BEGIN_OBJECT_REFLECTOR(osgAnimation::RigTransformSoftware)
	I_DeclaringFile("osgAnimation/RigTransformSoftware");
	I_BaseType(osgAnimation::RigTransform);
	I_Constructor0(____RigTransformSoftware,
	               "",
	               "");
	I_ProtectedMethod1(bool, init, IN, osgAnimation::RigGeometry &, x,
	                   Properties::NON_VIRTUAL,
	                   Properties::NON_CONST,
	                   __bool__init__RigGeometry_R1,
	                   "",
	                   "");
	I_ProtectedMethod2(void, initVertexSetFromBones, IN, const osgAnimation::BoneMap &, map, IN, const osgAnimation::VertexInfluenceSet::UniqVertexSetToBoneSetList &, influence,
	                   Properties::NON_VIRTUAL,
	                   Properties::NON_CONST,
	                   __void__initVertexSetFromBones__C5_BoneMap_R1__C5_VertexInfluenceSet_UniqVertexSetToBoneSetList_R1,
	                   "",
	                   "");
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osgAnimation::RigTransformSoftware::BoneWeight)
	I_DeclaringFile("osgAnimation/RigTransformSoftware");
	I_Constructor2(IN, osgAnimation::Bone *, bone, IN, float, weight,
	               ____BoneWeight__Bone_P1__float,
	               "",
	               "");
	I_Method0(const osgAnimation::Bone *, getBone,
	          Properties::NON_VIRTUAL,
	          __C5_Bone_P1__getBone,
	          "",
	          "");
	I_Method0(float, getWeight,
	          Properties::NON_VIRTUAL,
	          __float__getWeight,
	          "",
	          "");
	I_Method1(void, setWeight, IN, float, w,
	          Properties::NON_VIRTUAL,
	          __void__setWeight__float,
	          "",
	          "");
	I_SimpleProperty(const osgAnimation::Bone *, Bone, 
	                 __C5_Bone_P1__getBone, 
	                 0);
	I_SimpleProperty(float, Weight, 
	                 __float__getWeight, 
	                 __void__setWeight__float);
END_REFLECTOR

BEGIN_VALUE_REFLECTOR(osgAnimation::RigTransformSoftware::UniqBoneSetVertexSet)
	I_DeclaringFile("osgAnimation/RigTransformSoftware");
	I_Constructor0(____UniqBoneSetVertexSet,
	               "",
	               "");
	I_Method0(osgAnimation::RigTransformSoftware::BoneWeightList &, getBones,
	          Properties::NON_VIRTUAL,
	          __BoneWeightList_R1__getBones,
	          "",
	          "");
	I_Method0(osgAnimation::RigTransformSoftware::VertexList &, getVertexes,
	          Properties::NON_VIRTUAL,
	          __VertexList_R1__getVertexes,
	          "",
	          "");
	I_Method0(void, resetMatrix,
	          Properties::NON_VIRTUAL,
	          __void__resetMatrix,
	          "",
	          "");
	I_Method3(void, accummulateMatrix, IN, const osg::Matrix &, invBindMatrix, IN, const osg::Matrix &, matrix, IN, osg::Matrix::value_type, weight,
	          Properties::NON_VIRTUAL,
	          __void__accummulateMatrix__C5_osg_Matrix_R1__C5_osg_Matrix_R1__osg_Matrix_value_type,
	          "",
	          "");
	I_Method0(void, computeMatrixForVertexSet,
	          Properties::NON_VIRTUAL,
	          __void__computeMatrixForVertexSet,
	          "",
	          "");
	I_Method0(const osg::Matrix &, getMatrix,
	          Properties::NON_VIRTUAL,
	          __C5_osg_Matrix_R1__getMatrix,
	          "",
	          "");
	I_SimpleProperty(osgAnimation::RigTransformSoftware::BoneWeightList &, Bones, 
	                 __BoneWeightList_R1__getBones, 
	                 0);
	I_SimpleProperty(const osg::Matrix &, Matrix, 
	                 __C5_osg_Matrix_R1__getMatrix, 
	                 0);
	I_SimpleProperty(osgAnimation::RigTransformSoftware::VertexList &, Vertexes, 
	                 __VertexList_R1__getVertexes, 
	                 0);
END_REFLECTOR

STD_VECTOR_REFLECTOR(std::vector< int >)

STD_VECTOR_REFLECTOR(std::vector< osgAnimation::RigTransformSoftware::BoneWeight >)

