diff options
author | Martin Poirier <theeth@yahoo.com> | 2007-02-05 21:00:03 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2007-02-05 21:00:03 +0300 |
commit | 4754e37539f4cb946710f27248ec7b6b377e0c10 (patch) | |
tree | 05f94a4f9db6bdb074d895587b74202a90eb390b /source/blender/src/transform_generics.c | |
parent | abc2a4ca441b9bde19d57c8ff0cc8098d0d01c07 (diff) |
=== Transform ===
Reverting Aligorith's fix for bug Bugfix #5833 (the fix was incorrect, see bug report for details).
That means the translation part when rotating "free" bones in pose mode is still broken.
Diffstat (limited to 'source/blender/src/transform_generics.c')
-rwxr-xr-x | source/blender/src/transform_generics.c | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/source/blender/src/transform_generics.c b/source/blender/src/transform_generics.c index 18412e0ab37..1574a498cf9 100755 --- a/source/blender/src/transform_generics.c +++ b/source/blender/src/transform_generics.c @@ -640,24 +640,14 @@ void restoreTransObjects(TransInfo *t) void calculateCenter2D(TransInfo *t) { - if (t->flag & T_EDIT) { - Object *ob= G.obedit; + if (t->flag & (T_EDIT|T_POSE)) { + Object *ob= G.obedit?G.obedit:t->poseobj; float vec[3]; VECCOPY(vec, t->center); Mat4MulVecfl(ob->obmat, vec); projectIntView(t, vec, t->center2d); } - else if (t->flag & T_POSE) { - Object *ob= t->poseobj; - float mat[4][4]; - - Mat4One(mat); - VECCOPY(mat[3], t->center); - - Mat4MulMat4(mat, ob->obmat, mat); - projectIntView(t, mat[3], t->center2d); - } else { projectIntView(t, t->center, t->center2d); } @@ -671,8 +661,8 @@ void calculateCenterCursor(TransInfo *t) VECCOPY(t->center, cursor); /* If edit or pose mode, move cursor in local space */ - if (t->flag & T_EDIT) { - Object *ob= G.obedit; + if (t->flag & (T_EDIT|T_POSE)) { + Object *ob = G.obedit?G.obedit:t->poseobj; float mat[3][3], imat[3][3]; VecSubf(t->center, t->center, ob->obmat[3]); @@ -680,10 +670,6 @@ void calculateCenterCursor(TransInfo *t) Mat3Inv(imat, mat); Mat3MulVecfl(imat, t->center); } - else if (t->flag & T_POSE) { - Object *ob= t->poseobj; - armature_loc_world_to_pose(ob, cursor, t->center); - } calculateCenter2D(t); } |