From ceb612a79c7c49967fe6976c261ad3f9fa47adfb Mon Sep 17 00:00:00 2001 From: Germano Cavalcante Date: Mon, 19 Jul 2021 10:17:38 -0300 Subject: Revert "Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM'" This reverts commits bfa3dc91b75407b063f2ac991b176d98c050f92d, 52b94049f2a71a74f52247f83657cf3a5c8712b4, ae379714e4f1eca74f5f77532a6e959f29445236, a770faa811ee62837eb540b0bd83ca0770f16663, 4ed029fc02b022cb5ff28ed3ce70992c450d2be5, 101a493ab556c6597ac91fba204059be67b35990 and 62a2faa7ef39130446716d7a06215cd1df1eb2ac. And fixes T89955. Changing the dependency graph is a can of worms and the result is a kind of unpredictable. A different solution will be planned. --- .../editors/transform/transform_convert_mesh.c | 26 +--------------------- 1 file changed, 1 insertion(+), 25 deletions(-) (limited to 'source/blender/editors/transform') diff --git a/source/blender/editors/transform/transform_convert_mesh.c b/source/blender/editors/transform/transform_convert_mesh.c index 383f9870714..c1ee6edfef6 100644 --- a/source/blender/editors/transform/transform_convert_mesh.c +++ b/source/blender/editors/transform/transform_convert_mesh.c @@ -2067,27 +2067,6 @@ static void tc_mesh_transdata_mirror_apply(TransDataContainer *tc) } } -static bool tc_mesh_is_deform_only_update(TransInfo *t, TransDataContainer *tc) -{ - if (tc->custom.type.data && - ((struct TransCustomDataMesh *)tc->custom.type.data)->cd_layer_correct) { - return false; - } - - Mesh *me_eval = (Mesh *)DEG_get_evaluated_id(t->depsgraph, (ID *)tc->obedit->data); - Mesh *mesh_eval_cage = me_eval->edit_mesh->mesh_eval_cage; - Mesh *mesh_eval_final = me_eval->edit_mesh->mesh_eval_final; - if (mesh_eval_cage && !mesh_eval_cage->runtime.is_original) { - return false; - } - if (mesh_eval_final && mesh_eval_final != mesh_eval_cage && - !mesh_eval_final->runtime.is_original) { - return false; - } - - return me_eval->runtime.deformed_only; -} - void recalcData_mesh(TransInfo *t) { bool is_canceling = t->state == TRANS_CANCEL; @@ -2115,10 +2094,7 @@ void recalcData_mesh(TransInfo *t) tc_mesh_partial_types_calc(t, &partial_state); FOREACH_TRANS_DATA_CONTAINER (t, tc) { - const bool is_deform_only = tc_mesh_is_deform_only_update(t, tc); - - DEG_id_tag_update(tc->obedit->data, - is_deform_only ? ID_RECALC_GEOMETRY_DEFORM : ID_RECALC_GEOMETRY); + DEG_id_tag_update(tc->obedit->data, ID_RECALC_GEOMETRY); tc_mesh_partial_update(t, tc, &partial_state); } -- cgit v1.2.3