From ffc9fcb1a1d58bb03b5cb60dc40f0fd91c3e8f3c Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Tue, 1 May 2012 16:19:13 +0000 Subject: Motion Paths GUI Cleanup This commit refactors the way that the Motion Paths GUI works. The key problems this tries to address are: 1) Mode error - Confusion about whether we're dealing with the Object or Pose level Motion Paths panel 2) Display settings vs Baking Settings In line with the original design intentions for the 2.5/6 Properties Editor, I've now split out the actual baking-related settings away from the Properties Editor: * Now, when clicking "Calculate Paths" from the toolbar, you'll be prompted with a dialog to select the start/end frames (and for bones, whether to bake from heads or tails). This is less confusing than relying on firstly setting the range via the display range settings (and baking using that), since many people apparently only used the "around current" mode, and were confused why things weren't working * Added a display of the frame ranges of the current baked Motion Path on the active Object/Bone. This makes it clearer/easier to debug if the path suddenly starts disappearing after a certain frame. * Replaced Calculate/Clear Paths in the panels with a single "Update" button if there's already a baked Motion Path. Hopefully these changes (in combination with some of the other bugfixes) will make it more obvious how everything works. --- source/blender/blenkernel/intern/anim.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'source/blender/blenkernel/intern/anim.c') diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c index ce66d828a98..afa4723bc6d 100644 --- a/source/blender/blenkernel/intern/anim.c +++ b/source/blender/blenkernel/intern/anim.c @@ -198,9 +198,7 @@ bMotionPath *animviz_verify_motionpaths(ReportList *reports, Scene *scene, Objec } else { /* clear the existing path (as the range has changed), and reallocate below */ - if (mpath->points) - MEM_freeN(mpath->points); - mpath->points = NULL; + animviz_free_motionpath_cache(mpath); } } } -- cgit v1.2.3