diff options
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenloader/intern/versioning_280.c | 8 | ||||
-rw-r--r-- | source/blender/editors/armature/pose_lib.c | 22 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 10 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 11 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_armature_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_armature.c | 6 |
6 files changed, 10 insertions, 49 deletions
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c index 152cde0c0dc..8d0c41674e0 100644 --- a/source/blender/blenloader/intern/versioning_280.c +++ b/source/blender/blenloader/intern/versioning_280.c @@ -3068,8 +3068,8 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) } LISTBASE_FOREACH (bArmature *, arm, &bmain->armatures) { - arm->flag &= ~(ARM_FLAG_UNUSED_1 | ARM_FLAG_UNUSED_5 | ARM_FLAG_UNUSED_7 | - ARM_FLAG_UNUSED_12); + arm->flag &= ~(ARM_FLAG_UNUSED_1 | ARM_FLAG_UNUSED_5 | ARM_FLAG_UNUSED_6 | + ARM_FLAG_UNUSED_7 | ARM_FLAG_UNUSED_12); } LISTBASE_FOREACH (Text *, text, &bmain->texts) { @@ -3506,5 +3506,9 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain) COLLECTION_RESTRICT_RENDER); } } + + LISTBASE_FOREACH (bArmature *, arm, &bmain->armatures) { + arm->flag &= ~(ARM_FLAG_UNUSED_6); + } } } diff --git a/source/blender/editors/armature/pose_lib.c b/source/blender/editors/armature/pose_lib.c index 4bcfdc700b3..96ba6212992 100644 --- a/source/blender/editors/armature/pose_lib.c +++ b/source/blender/editors/armature/pose_lib.c @@ -1165,16 +1165,7 @@ static void poselib_preview_apply(bContext *C, wmOperator *op) RNA_int_set(op->ptr, "pose_index", -2); /* -2 means don't apply any pose */ } - /* old optimize trick... this enforces to bypass the depsgraph - * - note: code copied from transform_generics.c -> recalcData() - */ - // FIXME: shouldn't this use the builtin stuff? - if ((pld->arm->flag & ARM_DELAYDEFORM) == 0) { - DEG_id_tag_update(&pld->ob->id, ID_RECALC_GEOMETRY); /* sets recalc flags */ - } - else { - BKE_pose_where_is(CTX_data_depsgraph(C), pld->scene, pld->ob); - } + DEG_id_tag_update(&pld->ob->id, ID_RECALC_GEOMETRY); } /* do header print - if interactively previewing */ @@ -1709,7 +1700,6 @@ static void poselib_preview_cleanup(bContext *C, wmOperator *op) Scene *scene = pld->scene; Object *ob = pld->ob; bPose *pose = pld->pose; - bArmature *arm = pld->arm; bAction *act = pld->act; TimeMarker *marker = pld->marker; @@ -1724,15 +1714,7 @@ static void poselib_preview_cleanup(bContext *C, wmOperator *op) if (pld->state == PL_PREVIEW_CANCEL) { poselib_backup_restore(pld); - /* old optimize trick... this enforces to bypass the depgraph - * - note: code copied from transform_generics.c -> recalcData() - */ - if ((arm->flag & ARM_DELAYDEFORM) == 0) { - DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); /* sets recalc flags */ - } - else { - BKE_pose_where_is(CTX_data_depsgraph(C), scene, ob); - } + DEG_id_tag_update(&ob->id, ID_RECALC_GEOMETRY); } else if (pld->state == PL_PREVIEW_CONFIRM) { /* tag poses as appropriate */ 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. */ diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h index 589b657e5b8..088fd96a5ae 100644 --- a/source/blender/makesdna/DNA_armature_types.h +++ b/source/blender/makesdna/DNA_armature_types.h @@ -147,7 +147,7 @@ typedef enum eArmature_Flag { ARM_DRAWNAMES = (1 << 3), ARM_POSEMODE = (1 << 4), ARM_FLAG_UNUSED_5 = (1 << 5), /* cleared */ - ARM_DELAYDEFORM = (1 << 6), + ARM_FLAG_UNUSED_6 = (1 << 6), /* cleared */ ARM_FLAG_UNUSED_7 = (1 << 7), ARM_MIRROR_EDIT = (1 << 8), ARM_FLAG_UNUSED_9 = (1 << 9), diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c index d0081894c41..c470cbeb090 100644 --- a/source/blender/makesrna/intern/rna_armature.c +++ b/source/blender/makesrna/intern/rna_armature.c @@ -1411,12 +1411,6 @@ static void rna_def_armature(BlenderRNA *brna) RNA_def_property_update(prop, 0, "rna_Armature_redraw_data"); RNA_def_property_flag(prop, PROP_LIB_EXCEPTION); - prop = RNA_def_property(srna, "use_deform_delay", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_boolean_sdna(prop, NULL, "flag", ARM_DELAYDEFORM); - RNA_def_property_ui_text( - prop, "Delay Deform", "Don't deform children when manipulating bones in Pose Mode"); - RNA_def_property_update(prop, 0, "rna_Armature_update_data"); - prop = RNA_def_property(srna, "use_mirror_x", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", ARM_MIRROR_EDIT); RNA_def_property_ui_text( |