Blender Git Commit Log
Git Commits -> Revision 1af69b6
Revision 1af69b6 by Sergey Sharybin (master) March 28, 2014, 11:54 (GMT) |
Implement asymmetric and free handles type for masks Summary: The title actually says it all, it's just possible to have independent free handles for mask splines. Also it's now possible to have aligned handles displayed as independent handles. Required changes in quite a few places, but they're rather straightforward. From user perspective there's one really visible change which is removed Handle Type menu from the panel. With asymmetric handles it's not clear which handle type to display there. So now the only way to change handle type is via V-key menu. Rewrote normal evaluation function to make it deal with new type of handles we support. Now it works in the following way: - Offset the original spline by maximal weight - Calculate vector between corresponding U positions on offset and original spline - Normalize this vector. Seems to be giving more adequate results and doesn't tend to self-intersect as much as old behavior used to, There're still some changes which needed to be done, but which are planned for further patch: - Support colors and handle size via themes. - Make handles color-coded, just the same as done for regular bezier splines in 3D viewport. Additional changes to make roto workflow even better: - Use circles to draw handles - Support AA for handles - Change click-create-drag to change curvature of the spline instead of adjusting point position. Reviewers: campbellbarton CC: sebastian_k, hype, cronk Differential Revision: https://developer.blender.org/D121 |
Commit Details:
Full Hash: 1af69b6df3c538bd329201520abaa5058a1ff0ca
Parent Commit: 6e5e3b7
Lines Changed: +868, -376
15 Modified Paths:
/release/scripts/startup/bl_ui/properties_mask_common.py (+0, -3) (Diff)
/source/blender/blenkernel/BKE_mask.h (+25, -9) (Diff)
/source/blender/blenkernel/intern/curve.c (+5, -5) (Diff)
/source/blender/blenkernel/intern/mask.c (+135, -50) (Diff)
/source/blender/editors/interface/resources.c (+33, -32) (Diff)
/source/blender/editors/mask/mask_add.c (+42, -106) (Diff)
/source/blender/editors/mask/mask_draw.c (+141, -51) (Diff)
/source/blender/editors/mask/mask_edit.c (+2, -2) (Diff)
/source/blender/editors/mask/mask_intern.h (+1, -1) (Diff)
/source/blender/editors/mask/mask_ops.c (+192, -37) (Diff)
/source/blender/editors/mask/mask_select.c (+13, -17) (Diff)
/source/blender/editors/transform/transform_conversions.c (+154, -41) (Diff)
/source/blender/makesdna/DNA_curve_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_mask.c (+95, -1) (Diff)
/source/blender/makesrna/intern/rna_userdef.c (+28, -20) (Diff)
/source/blender/blenkernel/BKE_mask.h (+25, -9) (Diff)
/source/blender/blenkernel/intern/curve.c (+5, -5) (Diff)
/source/blender/blenkernel/intern/mask.c (+135, -50) (Diff)
/source/blender/editors/interface/resources.c (+33, -32) (Diff)
/source/blender/editors/mask/mask_add.c (+42, -106) (Diff)
/source/blender/editors/mask/mask_draw.c (+141, -51) (Diff)
/source/blender/editors/mask/mask_edit.c (+2, -2) (Diff)
/source/blender/editors/mask/mask_intern.h (+1, -1) (Diff)
/source/blender/editors/mask/mask_ops.c (+192, -37) (Diff)
/source/blender/editors/mask/mask_select.c (+13, -17) (Diff)
/source/blender/editors/transform/transform_conversions.c (+154, -41) (Diff)
/source/blender/makesdna/DNA_curve_types.h (+2, -1) (Diff)
/source/blender/makesrna/intern/rna_mask.c (+95, -1) (Diff)
/source/blender/makesrna/intern/rna_userdef.c (+28, -20) (Diff)