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:
Diffstat (limited to 'source/blender/editors/armature/editarmature.c')
-rw-r--r--source/blender/editors/armature/editarmature.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c
index 7db20fea6eb..989c5bdc0ba 100644
--- a/source/blender/editors/armature/editarmature.c
+++ b/source/blender/editors/armature/editarmature.c
@@ -428,7 +428,6 @@ void docenter_armature (Scene *scene, View3D *v3d, Object *ob, int centermode)
bArmature *arm= ob->data;
float cent[3] = {0.0f, 0.0f, 0.0f};
float min[3], max[3];
- float omat[3][3];
/* Put the armature into editmode */
if(ob!=obedit)
@@ -437,7 +436,7 @@ void docenter_armature (Scene *scene, View3D *v3d, Object *ob, int centermode)
/* Find the centerpoint */
if (centermode == 2) {
float *fp= give_cursor(scene, v3d);
- VECCOPY(cent, fp);
+ copy_v3_v3(cent, fp);
invert_m4_m4(ob->imat, ob->obmat);
mul_m4_v3(ob->imat, cent);
}
@@ -448,10 +447,8 @@ void docenter_armature (Scene *scene, View3D *v3d, Object *ob, int centermode)
DO_MINMAX(ebone->head, min, max);
DO_MINMAX(ebone->tail, min, max);
}
-
- cent[0]= (min[0] + max[0]) / 2.0f;
- cent[1]= (min[1] + max[1]) / 2.0f;
- cent[2]= (min[2] + max[2]) / 2.0f;
+
+ mid_v3_v3v3(cent, min, max);
}
/* Do the adjustments */
@@ -465,13 +462,12 @@ void docenter_armature (Scene *scene, View3D *v3d, Object *ob, int centermode)
/* Adjust object location for new centerpoint */
if(centermode && obedit==NULL) {
- copy_m3_m4(omat, ob->obmat);
-
- mul_m3_v3(omat, cent);
+ mul_mat3_m4_v3(ob->obmat, cent); /* ommit translation part */
add_v3_v3(ob->loc, cent);
}
- else
+ else {
ED_armature_edit_free(ob);
+ }
}
/* ---------------------- */