Bugfix #27881: Motion paths don't correctly update with pose sliding

tools
This commit is contained in:
Joshua Leung
2011-07-12 03:02:53 +00:00
parent de69b6819d
commit 2fd3ae7539
2 changed files with 11 additions and 1 deletions

View File

@@ -173,7 +173,7 @@ bMotionPath *animviz_verify_motionpaths(Scene *scene, Object *ob, bPoseChannel *
}
/* avoid 0 size allocs */
if(avs->path_sf >= avs->path_ef) {
if (avs->path_sf >= avs->path_ef) {
return NULL;
}
@@ -231,6 +231,7 @@ typedef struct MPathTarget {
/* get list of motion paths to be baked for the given object
* - assumes the given list is ready to be used
*/
// TODO: it would be nice in future to be able to update objects dependant on these bones too?
void animviz_get_object_motionpaths(Object *ob, ListBase *targets)
{
MPathTarget *mpt;

View File

@@ -247,6 +247,15 @@ void poseAnim_mapping_autoKeyframe (bContext *C, Scene *scene, Object *ob, ListB
/* insert keyframes for all relevant bones in one go */
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cframe);
BLI_freelistN(&dsources);
/* do the bone paths
* - only do this if keyframes should have been added
* - do not calculate unless there are paths already to update...
*/
if (C && (ob->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) {
//ED_pose_clear_paths(C, ob); // XXX for now, don't need to clear
ED_pose_recalculate_paths(scene, ob);
}
}
}