This commit adds two of my recent animation editing related patches:
authorJoshua Leung <aligorith@gmail.com>
Thu, 9 Nov 2006 08:43:27 +0000 (08:43 +0000)
committerJoshua Leung <aligorith@gmail.com>
Thu, 9 Nov 2006 08:43:27 +0000 (08:43 +0000)
commit7f0dc54f61cc5b443e2aba09d0d8c06b0c6a718c
tree4eb04a9694dd89a73f9ab4f011fb9cf20b7e4642
parentbdadf4fc8321d6870ce1ba12b7ace13f41ddd7db
This commit adds two of my recent animation editing related patches:
#5061 - Ipo/Action 'Cleaning'
#5071 - 'Only Needed' Keyframing Option

====================

* IPO/Action 'Cleaning':
It removes un-necessary keyframes from individual ipo curves.
- In both editors, the hotkey is currently the OKEY.  Also accesable from menus of each editor.
- There is currently a 'threshold' popup. This sets the value that the cleaner uses to determine if two keys have same time/value

There are a few improvements that could still be made, such as:
- There are a few cases that it still doesn't handle yet, such as when un-needed keyframes lie on a linear line (and similiar cases). This shall be improved soon.
- Also, for some reason, after running cleaning while in ipo editor editmode, all but the active curve are hidden.

====================

* 'Only Needed' Keyframing Option:
This patch adds a new keyframing option for objects and bones. It only adds keyframes where they are needed, judging from the surrounding points on that curve.

Notes about this keyframing option:
- Works like the existing 'Avail' option, except it checks if the keyframe
is needed.
- Currently uses hardcoded threshold for determining if same value.

[quote]
/* Cases where keyframes should not be added:
*       1. Keyframe to be added bewteen two keyframes with similar values
*       2. Keyframe to be added between two keyframes with similar times
*       3. Keyframe lies at point that intersects the linear line between two
keyframes
*/
[/unquote]
source/blender/include/BIF_editaction.h
source/blender/include/BSE_editipo.h
source/blender/makesdna/DNA_scene_types.h
source/blender/src/editaction.c
source/blender/src/editipo.c
source/blender/src/header_action.c
source/blender/src/header_ipo.c
source/blender/src/space.c