Attempted bugfix to improve behaviour of inverse calculations for ChildOf
authorJoshua Leung <aligorith@gmail.com>
Tue, 22 Nov 2011 11:51:12 +0000 (11:51 +0000)
committerJoshua Leung <aligorith@gmail.com>
Tue, 22 Nov 2011 11:51:12 +0000 (11:51 +0000)
commit374214ecb2e7d735a12032e8873c6be08ba418e4
tree5673344f1f4ee2e7a3175d4abf1ee64effc056ba
parent4521192ee7c96fd6ac50fd251a8b27d17028d217
Attempted bugfix to improve behaviour of inverse calculations for ChildOf
Constraint (bones case only for now). See [#29100] for some problematic test
cases

* It is no longer necessary to have to press "Clear Inverse" before doing "Set
Inverse" to get a reliable result. The calculation now calculates the pose with
the inverse cleared as it's "baseline" first now, which has the same result as
clearing the inverse manually first.

* Also, this commit trials a new method for computing inverses when there is
more than one constraint on the bone. Previously it just temporarily muted the
offending constraint, but kept all following constraints active, thus
potentially including their results in the inverse calculation. However, since
the inverse should only really care about what the stack looked like up to and
including when the constraint is applied, all constraints starting from this one
onwards are now disabled when calculating the inverse.  PLEASE TEST!!! In the
few tests I've done, the effects appear minimal, but this may be quite an issue
in the wild
source/blender/editors/object/object_constraint.c