$#include "IK/IKSolver.h" class IKSolver : public Component { enum Algorithm { ONE_BONE = 0, TWO_BONE, FABRIK }; enum Feature { JOINT_ROTATIONS = 0x01, TARGET_ROTATIONS = 0x02, UPDATE_ORIGINAL_POSE = 0x04, UPDATE_ACTIVE_POSE = 0x08, USE_ORIGINAL_POSE = 0x10, CONSTRAINTS = 0x20, AUTO_SOLVE = 0x40 }; void RebuildChainTrees(); void RecalculateSegmentLengths(); void CalculateJointRotations(); void Solve(); void ApplyOriginalPoseToScene(); void ApplySceneToOriginalPose(); void ApplyActivePoseToScene(); void ApplySceneToActivePose(); void ApplyOriginalPoseToActivePose(); void DrawDebugGeometry(bool depthTest); tolua_property__get_set Algorithm algorithm; tolua_property__get_set unsigned maximumIterations; tolua_property__get_set float tolerance; tolua_property__get_set bool JOINT_ROTATIONS; tolua_property__get_set bool TARGET_ROTATIONS; tolua_property__get_set bool UPDATE_ORIGINAL_POSE; tolua_property__get_set bool UPDATE_ACTIVE_POSE; tolua_property__get_set bool USE_ORIGINAL_POSE; tolua_property__get_set bool CONSTRAINTS; tolua_property__get_set bool AUTO_SOLVE; };