Visual Keying refactor
authorRoland Hess <me@harkyman.com>
Tue, 31 Jul 2007 13:37:59 +0000 (13:37 +0000)
committerRoland Hess <me@harkyman.com>
Tue, 31 Jul 2007 13:37:59 +0000 (13:37 +0000)
commit876cfc837e2f065fa370940ca578983d84c48a11
tree130225194e0e75d25190625b01149c5d1f5733b2
parent5afc4e051f44804d2a00eb987fe07cb0bae59514
Visual Keying refactor

This code was always kludgy and this clean it up a bit.

insertmatrixkey() has been properly renamed insertkey_float().

Matrix calculations have been excised from the interface code,
and placed in insertmatrixkey(), so that you can call it from
anywhere without preliminaries and the proper values are calced
based on the passed adr code.

By much request, several semi-bug reports and discussion with
production animators, visual keying is now used automatic
for objects and bones that have constraints that cause them
to ignore their Ipos (CopyLoc, TrackTo, etc.). In those cases,
visual keying is used instead of the normal Ipo insertion
method. This "auto" functionality is toggled from the
"Use Visual Keying" button found along with "Needed" and
"Available" in the Edit Methods prefs.

Logic as to which constraints trigger visual keying on
which adrcodes can be tweaked in match_adr_constraint()
src/editipo.c

This has been tested by a couple of people, myself included,
but I may not have hit every constraint case, so evolutionary
feedback is welcome.
source/blender/blenkernel/BKE_global.h
source/blender/include/BSE_editipo.h
source/blender/src/editipo.c
source/blender/src/space.c