[Bf-blender-cvs] [0b3a652] temp_motionpaths: Only insert/delete keyframes automatically if the real time motionpath update is on.
Antony Riakiotakis
noreply at git.blender.org
Thu Mar 12 11:28:02 CET 2015
Commit: 0b3a652cd57aaed2a187177e56bbd3871f1b59ce
Author: Antony Riakiotakis
Date: Thu Mar 12 11:27:24 2015 +0100
Branches: temp_motionpaths
https://developer.blender.org/rB0b3a652cd57aaed2a187177e56bbd3871f1b59ce
Only insert/delete keyframes automatically if the real time motionpath
update is on.
===================================================================
M source/blender/editors/transform/transform.c
M source/blender/editors/transform/transform_conversions.c
===================================================================
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 0beb39e..191cd7c 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -2357,19 +2357,21 @@ void transformApply(bContext *C, TransInfo *t)
viewRedrawForce(C, t);
}
- if ((t->flag & T_POSE) && (t->poseobj) && (t->mode != TFM_DUMMY) && t->scene->toolsettings->realtime_motion_path) {
- if ((t->poseobj->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) {
- //ED_pose_clear_paths(C, ob); // XXX for now, don't need to clear
- bool targetless_ik = (t->flag & T_AUTOIK) != 0; // XXX this currently doesn't work, since flags aren't set yet!
+ if (t->scene->toolsettings->realtime_motion_path) {
+ if ((t->flag & T_POSE) && (t->poseobj) && (t->mode != TFM_DUMMY)) {
+ if ((t->poseobj->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) {
+ //ED_pose_clear_paths(C, ob); // XXX for now, don't need to clear
+ bool targetless_ik = (t->flag & T_AUTOIK) != 0; // XXX this currently doesn't work, since flags aren't set yet!
- autokeyframe_pose_cb_func(C, t->scene, (View3D *)t->view, t->poseobj, t->mode, targetless_ik, true);
+ autokeyframe_pose_cb_func(C, t->scene, (View3D *)t->view, t->poseobj, t->mode, targetless_ik, true);
+ }
}
- }
- else {
- int i;
- for (i = 0; i < t->total; i++) {
- TransData *td = t->data + i;
- autokeyframe_ob_cb_func(C, t->scene, (View3D *)t->view, td->ob, t->mode, true);
+ else {
+ int i;
+ for (i = 0; i < t->total; i++) {
+ TransData *td = t->data + i;
+ autokeyframe_ob_cb_func(C, t->scene, (View3D *)t->view, td->ob, t->mode, true);
+ }
}
}
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index c2395c9..9b5488c 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -5982,7 +5982,10 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
/* automatic inserting of keys and unkeyed tagging - only if transform wasn't canceled (or TFM_DUMMY) */
if (t->mode != TFM_DUMMY) {
- autokeyframe_pose_cb_func(C, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik, !canceled);
+ if (t->scene->toolsettings->realtime_motion_path)
+ autokeyframe_pose_cb_func(C, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik, !canceled);
+ else if (!canceled)
+ autokeyframe_pose_cb_func(C, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik, true);
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
}
else if (arm->flag & ARM_DELAYDEFORM) {
@@ -6040,7 +6043,10 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
DAG_id_tag_update(&ob->id, OB_RECALC_OB);
/* Set autokey if necessary */
- autokeyframe_ob_cb_func(C, t->scene, (View3D *)t->view, ob, t->mode, !canceled);
+ if (t->scene->toolsettings->realtime_motion_path)
+ autokeyframe_ob_cb_func(C, t->scene, (View3D *)t->view, ob, t->mode, !canceled);
+ else if (!canceled)
+ autokeyframe_ob_cb_func(C, t->scene, (View3D *)t->view, ob, t->mode, true);
/* restore rigid body transform */
if (ob->rigidbody_object && canceled) {
More information about the Bf-blender-cvs
mailing list