Commit: eb4fe7d59640d1c7e3513f47ffa347a667393c6e
Author: Lukas Tönne
Date:   Mon Apr 14 12:30:08 2014 +0200
https://developer.blender.org/rBeb4fe7d59640d1c7e3513f47ffa347a667393c6e

Moved the validate_links and sort functions into the Depsgraph class as
methods.

These are not used and disabled atm, just keeping them around for now
in case they are still needed later.

===================================================================

M       source/blender/depsgraph/intern/depsgraph.cpp
M       source/blender/depsgraph/intern/depsgraph.h
M       source/blender/depsgraph/intern/depsgraph_core.cpp
M       source/blender/depsgraph/intern/depsgraph_intern.h

===================================================================

diff --git a/source/blender/depsgraph/intern/depsgraph.cpp 
b/source/blender/depsgraph/intern/depsgraph.cpp
index 87b3153..1240d49 100644
--- a/source/blender/depsgraph/intern/depsgraph.cpp
+++ b/source/blender/depsgraph/intern/depsgraph.cpp
@@ -209,6 +209,41 @@ DepsRelation *Depsgraph::add_new_relation(DepsNode *from, 
DepsNode *to,
        return rel;
 }
 
+/* Ensure that all implicit constraints between nodes are satisfied 
+ * (e.g. components are only allowed to be executed in a certain order)
+ */
+void Depsgraph::validate_links()
+{
+       /* go over each ID node to recursively call validate_links()
+        * on it, which should be enough to ensure that all of those
+        * subtrees are valid
+        */
+       for (Depsgraph::IDNodeMap::const_iterator it = this->id_hash.begin(); 
it != this->id_hash.end(); ++it) {
+               DepsNode *node = it->second;
+               node->validate_links(this);
+       }
+}
+
+/* Sort nodes to determine evaluation order for operation nodes
+ * where dependency relationships won't get violated.
+ */
+void Depsgraph::sort()
+{
+#if 0
+       void *ctx = NULL; // XXX: temp struct for keeping track of visited 
nodes, etc.?
+       
+       /* 1) traverse graph from root
+        *   - note when each graph was visited (within its peers)
+        *   - tag/knock out relationships leading to cyclic dependencies
+        */
+       DEG_graph_traverse(graph, DEG_Filter_ExecutableNodes, NULL, 
+                                 tag_nodes_for_sorting,      ctx); 
+       
+
+       /* 2) tweak order of nodes within each set of links */
+#endif 
+}
+
 /* ************************************************** */
 /* Relationships Management */
 
diff --git a/source/blender/depsgraph/intern/depsgraph.h 
b/source/blender/depsgraph/intern/depsgraph.h
index 39e9e48..6b67ac1 100644
--- a/source/blender/depsgraph/intern/depsgraph.h
+++ b/source/blender/depsgraph/intern/depsgraph.h
@@ -140,6 +140,16 @@ struct Depsgraph {
                                       eDepsRelation_Type type, 
                                       const string &description);
        
+       /* Ensure that all implicit constraints between nodes are satisfied 
+        * (e.g. components are only allowed to be executed in a certain order)
+        */
+       void validate_links();
+       
+       /* Sort nodes to determine evaluation order for operation nodes
+        * where dependency relationships won't get violated.
+        */
+       void sort();
+       
        
        /* Core Graph Functionality ........... */
        IDNodeMap id_hash;          /* <ID : IDDepsNode> mapping from ID blocks 
to nodes representing these blocks (for quick lookups) */
diff --git a/source/blender/depsgraph/intern/depsgraph_core.cpp 
b/source/blender/depsgraph/intern/depsgraph_core.cpp
index ac47c88..e90bd48 100644
--- a/source/blender/depsgraph/intern/depsgraph_core.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_core.cpp
@@ -53,49 +53,6 @@ extern "C" {
 #include "depsgraph_intern.h"
 
 /* ************************************************** */
-/* Validity + Integrity */
-
-/* Ensure that all implicit constraints between nodes are satisfied 
- * (e.g. components are only allowed to be executed in a certain order)
- */
-void DEG_graph_validate_links(Depsgraph *graph)
-{
-       BLI_assert(graph != NULL);
-       
-       /* go over each ID node to recursively call validate_links()
-        * on it, which should be enough to ensure that all of those
-        * subtrees are valid
-        */
-       for (Depsgraph::IDNodeMap::const_iterator it = graph->id_hash.begin(); 
it != graph->id_hash.end(); ++it) {
-               DepsNode *node = it->second;
-               node->validate_links(graph);
-       }
-}
-
-/* ************************************************** */
-/* Low-Level Graph Traversal and Sorting */
-
-/* Sort nodes to determine evaluation order for operation nodes
- * where dependency relationships won't get violated.
- */
-void DEG_graph_sort(Depsgraph *graph)
-{
-#if 0
-       void *ctx = NULL; // XXX: temp struct for keeping track of visited 
nodes, etc.?
-       
-       /* 1) traverse graph from root
-        *   - note when each graph was visited (within its peers)
-        *   - tag/knock out relationships leading to cyclic dependencies
-        */
-       DEG_graph_traverse(graph, DEG_Filter_ExecutableNodes, NULL, 
-                                 tag_nodes_for_sorting,      ctx); 
-       
-
-       /* 2) tweak order of nodes within each set of links */
-#endif 
-}
-
-/* ************************************************** */
 /* Update Tagging/Flushing */
 
 /* Low-Level Tagging -------------------------------- */
diff --git a/source/blender/depsgraph/intern/depsgraph_intern.h 
b/source/blender/depsgraph/intern/depsgraph_intern.h
index 13ced33..4097c0d 100644
--- a/source/blender/depsgraph/intern/depsgraph_intern.h
+++ b/source/blender/depsgraph/intern/depsgraph_intern.h
@@ -45,21 +45,6 @@ struct Main;
 struct Group;
 struct Scene;
 
-/* Low-Level Querying ============================================== */
-
-/* Graph Validity -------------------------------------------------- */
-
-/* Ensure that all implicit constraints between nodes are satisfied 
- * (e.g. components are only allowed to be executed in a certain order)
- */
-void DEG_graph_validate_links(Depsgraph *graph);
-
-
-/* Sort nodes to determine evaluation order for operation nodes
- * where dependency relationships won't get violated.
- */
-void DEG_graph_sort(Depsgraph *graph);
-
 /* Graph Building ======================================================== */
 
 /* Build depsgraph for the given group, and dump results in given graph 
container

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to