diff options
author | Joshua Leung <aligorith@gmail.com> | 2007-01-17 08:53:44 +0300 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2007-01-17 08:53:44 +0300 |
commit | a7ea4492143660f3bc07f6365e9967e6cd648e5e (patch) | |
tree | 7aad1ebe84a189fdae46a5f7aa5baf216c7b4291 /source/blender/src/editipo.c | |
parent | 52f0648949f1709c865735bf0119efab204da556 (diff) |
(Hopefully this commit is ok for current bcon status)
Moved function used for 'Visual' keyframing, to live with the rest of the
API calls I added for Pose-Mode bone snapping. Now, it is in a more
'releasable' state.
Diffstat (limited to 'source/blender/src/editipo.c')
-rw-r--r-- | source/blender/src/editipo.c | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/source/blender/src/editipo.c b/source/blender/src/editipo.c index b8683ff6f2d..3db77a7decd 100644 --- a/source/blender/src/editipo.c +++ b/source/blender/src/editipo.c @@ -2790,20 +2790,20 @@ void common_insertkey(void) } } if(event==11 || event==13) { - float obSpaceBoneMat[4][4]; + float delta_mat[4][4]; - bone2objectspace(obSpaceBoneMat, pchan->pose_mat, pchan->bone->arm_mat); - insertmatrixkey(id, ID_PO, pchan->name, NULL, AC_LOC_X, obSpaceBoneMat[3][0]); - insertmatrixkey(id, ID_PO, pchan->name, NULL, AC_LOC_Y, obSpaceBoneMat[3][1]); - insertmatrixkey(id, ID_PO, pchan->name, NULL, AC_LOC_Z, obSpaceBoneMat[3][2]); + armature_mat_pose_to_delta(delta_mat, pchan->pose_mat, pchan->bone->arm_mat); + insertmatrixkey(id, ID_PO, pchan->name, NULL, AC_LOC_X, delta_mat[3][0]); + insertmatrixkey(id, ID_PO, pchan->name, NULL, AC_LOC_Y, delta_mat[3][1]); + insertmatrixkey(id, ID_PO, pchan->name, NULL, AC_LOC_Z, delta_mat[3][2]); } if(event==12 || event==13) { - float obSpaceBoneMat[4][4]; + float delta_mat[4][4]; float localQuat[4], oldQuat[4]; /* obtain rotation caused by constraints/IK*/ - bone2objectspace(obSpaceBoneMat, pchan->pose_mat, pchan->bone->arm_mat); - Mat4ToQuat(obSpaceBoneMat, localQuat); + armature_mat_pose_to_delta(delta_mat, pchan->pose_mat, pchan->bone->arm_mat); + Mat4ToQuat(delta_mat, localQuat); /* bad hack warning: * Write the 'visual' rotation onto the @@ -5288,12 +5288,3 @@ void move_to_frame(void) } BIF_undo_push("Set frame to selected Ipo vertex"); } - -void bone2objectspace(float obSpaceBoneMat[][4], float obSpace[][4], float restPos[][4]) -{ - float imat[4][4]; - - Mat4Invert(imat, restPos); - Mat4MulMat4(obSpaceBoneMat, obSpace, imat); -} - |