==Armature==
authorMartin Poirier <theeth@yahoo.com>
Thu, 13 Nov 2008 22:35:40 +0000 (22:35 +0000)
committerMartin Poirier <theeth@yahoo.com>
Thu, 13 Nov 2008 22:35:40 +0000 (22:35 +0000)
commitdc4ef17eea1a0dba1e9b9e99970005a394b1d37d
treef754f74d3c629e3cd77656a19d5850c4c55d99b3
parente76f7e793064f72557a8148b8c8cbf748cdaf152
==Armature==

Fix the roll mess in transform. Since roll is based on an automatically calculated up axis, transforming bones would mess up bone orientation. This code automatically adjusts the roll value to keep bone orientation as consistant as possible. That works all around in transform for all transformations.

Doesn't work with x-axis mirror though as that doesn't use transform elements (fixing it would be nice for later)

Most interesting is that it works with the mirror tool (obviously), so you don't have to fix all the rolls after mirroring one side of an armature.

It could be made an option if someone presents a good enough point for that, but I can't see why you'd want the previous mess instead.

NB: this also ports a utility fonction from etch-a-ton to set bone roll from an up axis.
source/blender/include/BIF_editarmature.h
source/blender/include/transform.h
source/blender/src/editarmature.c
source/blender/src/transform_conversions.c
source/blender/src/transform_generics.c