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:
authorMartin Poirier <theeth@yahoo.com>2007-02-05 21:00:03 +0300
committerMartin Poirier <theeth@yahoo.com>2007-02-05 21:00:03 +0300
commit4754e37539f4cb946710f27248ec7b6b377e0c10 (patch)
tree05f94a4f9db6bdb074d895587b74202a90eb390b /source/blender/src/transform_generics.c
parentabc2a4ca441b9bde19d57c8ff0cc8098d0d01c07 (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-xsource/blender/src/transform_generics.c22
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);
}