From 60703e45f36a92f8e49a7be7c951538e5b747a41 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 29 Nov 2017 15:29:39 +0100 Subject: Transform: Avoid use of ob->recalc in snapping code Do a direct update of object transform instead, without involving manual trickery of recalc flag. Shouldn't be functional changes as far as artists are concerned, but will allow us to get rid of recalc flags in 2.8. Thanks Bastien for review! --- source/blender/blenkernel/intern/object_update.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'source/blender/blenkernel/intern') diff --git a/source/blender/blenkernel/intern/object_update.c b/source/blender/blenkernel/intern/object_update.c index 17721a8077f..fd2b5ff589f 100644 --- a/source/blender/blenkernel/intern/object_update.c +++ b/source/blender/blenkernel/intern/object_update.c @@ -342,3 +342,19 @@ void BKE_object_eval_cloth(EvaluationContext *UNUSED(eval_ctx), Scene *scene, Ob DEBUG_PRINT("%s on %s\n", __func__, object->id.name); BKE_ptcache_object_reset(scene, object, PTCACHE_RESET_DEPSGRAPH); } + +void BKE_object_eval_transform_all(EvaluationContext *eval_ctx, + Scene *scene, + Object *object) +{ + /* This mimics full transform update chain from new depsgraph. */ + BKE_object_eval_local_transform(eval_ctx, scene, object); + if (object->parent != NULL) { + BKE_object_eval_parent(eval_ctx, scene, object); + } + if (!BLI_listbase_is_empty(&object->constraints)) { + BKE_object_eval_constraints(eval_ctx, scene, object); + } + BKE_object_eval_uber_transform(eval_ctx, scene, object); + BKE_object_eval_done(eval_ctx, object); +} -- cgit v1.2.3