00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef TA_IKSOLVER_H
00013 #define TA_IKSOLVER_H
00014
00015 #ifndef TA_MATRIX_H
00016 #include "Matrix.h"
00017 #endif // TA_MATRIX_H
00018
00019 namespace TA
00020 {
00021
00022 class TACOMMON_CLASS IKSolve2BoneSystem
00023 {
00024 public:
00025 IKSolve2BoneSystem(
00026 const Vec3& v3A,
00027 const Vec3& v3B,
00028 const Vec3& v3C,
00029 const Vec3& v3Target,
00030 const Vec3& v3JointAim);
00031
00032
00033
00034
00035 const Mat33& GetAmountToRotateBone1() { return m_m33Bone1Rotation; }
00036
00037
00038
00039
00040 const Mat33& GetAmountToRotateBone2() { return m_m33Bone2Rotation; }
00041
00042 private:
00043 Vec3 m_v3NewB;
00044 Vec3 m_v3NewC;
00045 Mat33 m_m33Bone1Rotation;
00046 Mat33 m_m33Bone2Rotation;
00047 };
00048
00049 };
00050
00051 #endif // TA_IKSOLVER_H
© Copyright 2004-2006 TRUE AXIS PTY LTD Australia. All rights reserved.