From b679887bd5f77f2cd4611a4dd77e5177de3c2326 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 9 May 2019 15:50:46 +0200 Subject: Depsgraph: Add queries whether ID is original/evaluated --- source/blender/depsgraph/DEG_depsgraph_query.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'source/blender/depsgraph/DEG_depsgraph_query.h') diff --git a/source/blender/depsgraph/DEG_depsgraph_query.h b/source/blender/depsgraph/DEG_depsgraph_query.h index 3030bfb28b3..a7b5535d11a 100644 --- a/source/blender/depsgraph/DEG_depsgraph_query.h +++ b/source/blender/depsgraph/DEG_depsgraph_query.h @@ -100,6 +100,19 @@ struct Object *DEG_get_original_object(struct Object *object); /* Get original version of given evaluated ID datablock. */ struct ID *DEG_get_original_id(struct ID *id); +/* Check whether given ID is an original, + * + * Original IDs are considered all the IDs which are not covered by copy-on-write system and are + * not out-of-main localized datablocks. */ +bool DEG_is_original_id(struct ID *id); +bool DEG_is_original_object(struct Object *object); + +/* Opposite of the above. + * + * If the datablock is not original it must be evaluated, and vice versa. */ +bool DEG_is_evaluated_id(struct ID *id); +bool DEG_is_evaluated_object(struct Object *object); + /* ************************ DEG object iterators ********************* */ enum { -- cgit v1.2.3