diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-28 16:42:08 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-28 18:06:41 +0300 |
commit | 0cf0cc9873c114f3ccc19901931616a0e91f27cb (patch) | |
tree | b438a8434b251939be37abcc207d0856055c58de /source/blender/depsgraph/intern | |
parent | d6643b57bcd9ca536bb9e6eb4cebd83a58578123 (diff) |
Depsgraph: Add query for whether graph is up to date
Diffstat (limited to 'source/blender/depsgraph/intern')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_query.cc | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_query.cc b/source/blender/depsgraph/intern/depsgraph_query.cc index 02f2519b3fb..326d852b1e1 100644 --- a/source/blender/depsgraph/intern/depsgraph_query.cc +++ b/source/blender/depsgraph/intern/depsgraph_query.cc @@ -29,12 +29,14 @@ extern "C" { #include <string.h> // XXX: memcpy #include "BLI_utildefines.h" +#include "BLI_listbase.h" +#include "BLI_ghash.h" + +#include "BKE_action.h" // XXX: BKE_pose_channel_find_name #include "BKE_customdata.h" #include "BKE_idcode.h" #include "BKE_main.h" -#include "BLI_listbase.h" -#include "BKE_action.h" // XXX: BKE_pose_channel_from_name } /* extern "C" */ #include "DNA_object_types.h" @@ -303,3 +305,17 @@ bool DEG_is_evaluated_object(Object *object) { return !DEG_is_original_object(object); } + +bool DEG_is_fully_evaluated(const struct Depsgraph *depsgraph) +{ + const DEG::Depsgraph *deg_graph = (const DEG::Depsgraph *)depsgraph; + /* Check whether relations are up to date. */ + if (deg_graph->need_update) { + return false; + } + /* Check whether IDs are up to date. */ + if (BLI_gset_len(deg_graph->entry_tags) > 0) { + return false; + } + return true; +} |