diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-11-25 22:49:07 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-11-25 22:49:07 +0300 |
commit | 95d8cfc25df30adbb18437b8de0bc840797574ee (patch) | |
tree | 0a7ba3821a821dde9682b2a431a048ba19cd699e /source/blender/makesrna/intern/rna_armature_api.c | |
parent | d2a2cab975d1c4bcd6a047f9f983993c2993a8ad (diff) |
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.
Diffstat (limited to 'source/blender/makesrna/intern/rna_armature_api.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_armature_api.c | 9 |
1 files changed, 2 insertions, 7 deletions
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) |