diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-29 13:59:17 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-01-31 14:04:57 +0300 |
commit | 83f8f44791374dd051728e44d89fbdeee15c60aa (patch) | |
tree | addcd6991adfcf578bec05b022875c98509deda9 /source/blender/blenkernel/BKE_animsys.h | |
parent | 7400aa7e595063510ce9f29fa1b02ebd3f9296e2 (diff) |
Fix T59495, T59992, T59904, T59178, T60598: broken keyframed value editing.
This removes a bunch of animation/driver evaluations and recalc flags that
should be redundant in the new depsgraph, and were incorrectly affecting
the evaluated scene in a permanent way.
Still two cases that could be removed if the depsgraph is improved, in
BKE_object_handle_data_update and BKE_cachefile_update_frame.
For physics subframe interpolation there are also still calls to
BKE_object_where_is_calc that should ideally be removed as well, though
they are not known to cause keyframing bugs.
Differential Revision: https://developer.blender.org/D4274
Diffstat (limited to 'source/blender/blenkernel/BKE_animsys.h')
-rw-r--r-- | source/blender/blenkernel/BKE_animsys.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h index 3790230153a..618d6523b0c 100644 --- a/source/blender/blenkernel/BKE_animsys.h +++ b/source/blender/blenkernel/BKE_animsys.h @@ -186,6 +186,13 @@ void BKE_animsys_free_nla_keyframing_context_cache(struct ListBase *cache); /* ------------- Main API -------------------- */ /* In general, these ones should be called to do all animation evaluation */ +/* Flags for recalc parameter, indicating which part to recalculate. */ +typedef enum eAnimData_Recalc { + ADT_RECALC_DRIVERS = (1 << 0), + ADT_RECALC_ANIM = (1 << 1), + ADT_RECALC_ALL = (ADT_RECALC_DRIVERS | ADT_RECALC_ANIM), +} eAnimData_Recalc; + /* Evaluation loop for evaluating animation data */ void BKE_animsys_evaluate_animdata(struct Depsgraph *depsgraph, struct Scene *scene, struct ID *id, struct AnimData *adt, float ctime, short recalc); |