Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-06-07 11:44:18 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-06-07 11:47:22 +0300
commitf765e0cd21c29e0a8130ab719ddaa989d85fd4ce (patch)
tree1dfc4b1a627cf478884bff5dfae408d40375a8ab /source/blender/editors/transform
parentb290695149c9be1de360c67fdb154c99390f81c5 (diff)
Remove Deform Delay armature option
This option can not be supported by a new granular dependency graph, and, especially, copy-on-write. It was always doing full update ever since initial commit of new dependency graph which we are using here in the studio for the past years and lack of this option was never brought up. Fixes T65557: Delay refresh option in armatures is broken
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r--source/blender/editors/transform/transform_conversions.c10
-rw-r--r--source/blender/editors/transform/transform_generics.c11
2 files changed, 1 insertions, 20 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 19a61e1daa7..2dad3aef320 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -7426,12 +7426,10 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
FOREACH_TRANS_DATA_CONTAINER (t, tc) {
- bArmature *arm;
bPoseChannel *pchan;
short targetless_ik = 0;
ob = tc->poseobj;
- arm = ob->data;
if ((t->flag & T_AUTOIK) && (t->options & CTX_AUTOCONFIRM)) {
/* when running transform non-interactively (operator exec),
@@ -7470,14 +7468,6 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
autokeyframe_pose(C, t->scene, ob, t->mode, targetless_ik);
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
}
- else if (arm->flag & ARM_DELAYDEFORM) {
- /* TODO(sergey): Armature is already updated by recalcData(), so we
- * might save some time by skipping re-evaluating it. But this isn't
- * possible yet within new dependency graph, and also other contexts
- * might need to update their CoW copies.
- */
- DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
- }
else {
DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
}
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index d6c09716a63..4a9584ed9be 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -1046,7 +1046,6 @@ static void recalcData_objects(TransInfo *t)
FOREACH_TRANS_DATA_CONTAINER (t, tc) {
Object *ob = tc->poseobj;
- bArmature *arm = ob->data;
bPose *pose = ob->pose;
if (pose->flag & POSE_MIRROR_EDIT) {
@@ -1083,15 +1082,7 @@ static void recalcData_objects(TransInfo *t)
BLI_gset_insert(motionpath_updates, ob);
}
- /* old optimize trick... this enforces to bypass the depgraph */
- if (!(arm->flag & ARM_DELAYDEFORM)) {
- DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); /* sets recalc flags */
- /* transformation of pose may affect IK tree, make sure it is rebuilt */
- BIK_clear_data(ob->pose);
- }
- else {
- BKE_pose_where_is(t->depsgraph, t->scene, ob);
- }
+ DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY);
}
/* Update motion paths once for all transformed bones in an object. */