From 95d8cfc25df30adbb18437b8de0bc840797574ee Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 25 Nov 2010 19:49:07 +0000 Subject: bugfix [#24907] bone roll z up broken and python script showing correct method to roll bones from Josh Wedlake (joshwedlake), who provided a reference script used to apply changes in ED_rollBoneToVector(). - Obvious bug fixed where Z-Up didnt work right. - More align axis options to Recalculate Roll operator: X/Y/Z/View Axis & Negate. - Axis Only option, ignore the axis direction, use shortest rotation to align bones. ED_rollBoneToVector() changes: - would give bad roll when the axis wasn't normalized or perpendicular to the bone. some callers accounted for this but not all. - option to align to the axis but not the direction. --- source/blender/makesrna/intern/rna_armature_api.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'source/blender/makesrna/intern/rna_armature_api.c') diff --git a/source/blender/makesrna/intern/rna_armature_api.c b/source/blender/makesrna/intern/rna_armature_api.c index 4c19e66ea01..a2b765e9959 100644 --- a/source/blender/makesrna/intern/rna_armature_api.c +++ b/source/blender/makesrna/intern/rna_armature_api.c @@ -38,14 +38,9 @@ #include "BLI_blenlib.h" #include "BKE_armature.h" -void rna_EditBone_align_roll(EditBone *ebo, float *no) +void rna_EditBone_align_roll(EditBone *ebo, float no[3]) { - if(!is_zero_v3(no)) { - float normal[3]; - copy_v3_v3(normal, no); - normalize_v3(normal); - ebo->roll= ED_rollBoneToVector(ebo, normal); - } + ebo->roll= ED_rollBoneToVector(ebo, no, FALSE); } float rna_Bone_do_envelope(Bone *bone, float *vec) -- cgit v1.2.3