Blender Git Loki
Git Commits -> Revision 0d814a2
Revision 0d814a2 by Alexander Gavrilov (smooth-fcurves) August 20, 2017, 14:09 (GMT) |
Make auto handle placement aware of cyclic extrapolation. Cyclic extrapolation is implemented as an f-curve modifier, so this technically violates abstraction separation and is something of a hack. However without such behavior achieving smooth looping with cyclic extrapolation is extremely cumbersome. The new behavior is applied when the first modifier is Cyclic extrapolation in Repeat or Repeat with Offset mode without using influence, repeat count or range restrictions. This change in behavior means that curve handles have to be updated when the modifier is added, removed or its options change. Due to the way code is structured, it seems it requires a helper link to the containing curve from the modifier object. Reviewers: aligorith Differential Revision: https://developer.blender.org/D2783 |
Commit Details:
Full Hash: 0d814a2e49197d50c1945ab994928a06b7bc3b78
Parent Commit: e27a59d
Lines Changed: +102, -29
16 Modified Paths:
/source/blender/blenkernel/BKE_fcurve.h (+1, -1) (Diff)
/source/blender/blenkernel/intern/fcurve.c (+49, -4) (Diff)
/source/blender/blenkernel/intern/fmodifier.c (+4, -1) (Diff)
/source/blender/blenkernel/intern/ipo.c (+1, -1) (Diff)
/source/blender/blenloader/intern/readfile.c (+8, -5) (Diff)
/source/blender/editors/animation/drivers.c (+1, -1) (Diff)
/source/blender/editors/animation/fmodifier_ui.c (+9, -2) (Diff)
/source/blender/editors/include/ED_anim_api.h (+1, -1) (Diff)
/source/blender/editors/object/object_constraint.c (+1, -1) (Diff)
/source/blender/editors/object/object_relations.c (+1, -1) (Diff)
/source/blender/editors/space_action/action_edit.c (+1, -1) (Diff)
/source/blender/editors/space_graph/graph_edit.c (+6, -6) (Diff)
/source/blender/editors/space_nla/nla_edit.c (+3, -3) (Diff)
/source/blender/makesdna/DNA_anim_types.h (+1, -0) (Diff)
/source/blender/makesdna/DNA_curve_types.h (+2, -0) (Diff)
/source/blender/makesrna/intern/rna_fcurve.c (+13, -1) (Diff)
/source/blender/blenkernel/intern/fcurve.c (+49, -4) (Diff)
/source/blender/blenkernel/intern/fmodifier.c (+4, -1) (Diff)
/source/blender/blenkernel/intern/ipo.c (+1, -1) (Diff)
/source/blender/blenloader/intern/readfile.c (+8, -5) (Diff)
/source/blender/editors/animation/drivers.c (+1, -1) (Diff)
/source/blender/editors/animation/fmodifier_ui.c (+9, -2) (Diff)
/source/blender/editors/include/ED_anim_api.h (+1, -1) (Diff)
/source/blender/editors/object/object_constraint.c (+1, -1) (Diff)
/source/blender/editors/object/object_relations.c (+1, -1) (Diff)
/source/blender/editors/space_action/action_edit.c (+1, -1) (Diff)
/source/blender/editors/space_graph/graph_edit.c (+6, -6) (Diff)
/source/blender/editors/space_nla/nla_edit.c (+3, -3) (Diff)
/source/blender/makesdna/DNA_anim_types.h (+1, -0) (Diff)
/source/blender/makesdna/DNA_curve_types.h (+2, -0) (Diff)
/source/blender/makesrna/intern/rna_fcurve.c (+13, -1) (Diff)