Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2019-05-28 16:42:08 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2019-05-28 18:06:41 +0300
commit0cf0cc9873c114f3ccc19901931616a0e91f27cb (patch)
treeb438a8434b251939be37abcc207d0856055c58de /source/blender/depsgraph/intern/depsgraph_query.cc
parentd6643b57bcd9ca536bb9e6eb4cebd83a58578123 (diff)
Depsgraph: Add query for whether graph is up to date
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph_query.cc')
-rw-r--r--source/blender/depsgraph/intern/depsgraph_query.cc20
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;
+}