F-Curve Modifiers: Time-Modifying F-Modifiers Cleanup
authorJoshua Leung <aligorith@gmail.com>
Sun, 3 May 2009 13:00:59 +0000 (13:00 +0000)
committerJoshua Leung <aligorith@gmail.com>
Sun, 3 May 2009 13:00:59 +0000 (13:00 +0000)
commit2e93dc4037b815a97c9b9d03fe28742e01458e43
treecdd6f48f76973a110c4552ab74c0d9f23f248d94
parent99cc61edbcaf339a0ff9aefa932b4520d7dfe1e7
F-Curve Modifiers: Time-Modifying F-Modifiers Cleanup

Time-Modifying F-Curve Modifiers now get special callbacks to allow them to specify what frame they need to be evaluated on, instead of forcing a re-evaluation of the preceeding curve + modifier-stack. This should be more robust than the old way in general.

It still remains to be seen if some tweaks to this are still needed, as the full consequences of the propogation of modified time-spaces have yet to be fully explored.

For now though, evaluation works by finding the last modifier on the stack which modifies time, and asks it what time it modifies the given time to. This modified time is used to evaluate the F-Curve data only. The modifier stack gets evaluated using the original time instead.
source/blender/blenkernel/BKE_fcurve.h
source/blender/blenkernel/intern/fcurve.c
source/blender/blenloader/intern/readfile.c
source/blender/makesdna/DNA_anim_types.h