Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/armature/pose_transform.c
| Show First 20 Lines • Show All 825 Lines • ▼ Show 20 Lines | static int pose_paste_exec(bContext *C, wmOperator *op) | ||||
| } | } | ||||
| BKE_main_free(tmp_bmain); | BKE_main_free(tmp_bmain); | ||||
| /* Update event for pose and deformation children. */ | /* Update event for pose and deformation children. */ | ||||
| DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); | DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); | ||||
| /* Recalculate paths if any of the bones have paths... */ | /* Recalculate paths if any of the bones have paths... */ | ||||
| if ((ob->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) { | if ((ob->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) { | ||||
| ED_pose_recalculate_paths(C, scene, ob, false); | ED_pose_recalculate_paths(C, scene, ob, POSE_PATH_CALC_RANGE_FULL); | ||||
| } | } | ||||
| /* Notifiers for updates, */ | /* Notifiers for updates, */ | ||||
| WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob); | WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob); | ||||
| return OPERATOR_FINISHED; | return OPERATOR_FINISHED; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 264 Lines • ▼ Show 20 Lines | if (changed) { | ||||
| /* get KeyingSet to use */ | /* get KeyingSet to use */ | ||||
| KeyingSet *ks = ANIM_get_keyingset_for_autokeying(scene, default_ksName); | KeyingSet *ks = ANIM_get_keyingset_for_autokeying(scene, default_ksName); | ||||
| /* insert keyframes */ | /* insert keyframes */ | ||||
| ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA); | ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA); | ||||
| /* now recalculate paths */ | /* now recalculate paths */ | ||||
| if ((ob_iter->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) { | if ((ob_iter->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) { | ||||
| ED_pose_recalculate_paths(C, scene, ob_iter, false); | ED_pose_recalculate_paths(C, scene, ob_iter, POSE_PATH_CALC_RANGE_FULL); | ||||
| } | } | ||||
| BLI_freelistN(&dsources); | BLI_freelistN(&dsources); | ||||
| } | } | ||||
| DEG_id_tag_update(&ob_iter->id, ID_RECALC_GEOMETRY); | DEG_id_tag_update(&ob_iter->id, ID_RECALC_GEOMETRY); | ||||
| /* note, notifier might evolve */ | /* note, notifier might evolve */ | ||||
| ▲ Show 20 Lines • Show All 172 Lines • Show Last 20 Lines | |||||