Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2007-01-17 08:53:44 +0300
committerJoshua Leung <aligorith@gmail.com>2007-01-17 08:53:44 +0300
commita7ea4492143660f3bc07f6365e9967e6cd648e5e (patch)
tree7aad1ebe84a189fdae46a5f7aa5baf216c7b4291 /source/blender/src/editipo.c
parent52f0648949f1709c865735bf0119efab204da556 (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.c25
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);
-}
-