[Bf-blender-cvs] [c347373fc66] functions: Comment on SourceInfo, FunctionGraph and DataFlowGraphBuilder

Jacques Lucke noreply at git.blender.org
Tue Jul 2 18:39:12 CEST 2019


Commit: c347373fc66a4bf8e4babc6b3d92f1587b9f815c
Author: Jacques Lucke
Date:   Tue Jul 2 17:51:10 2019 +0200
Branches: functions
https://developer.blender.org/rBc347373fc66a4bf8e4babc6b3d92f1587b9f815c

Comment on SourceInfo, FunctionGraph and DataFlowGraphBuilder

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

M	source/blender/functions/core/data_flow_graph_builder.hpp
M	source/blender/functions/core/function_graph.hpp
M	source/blender/functions/core/source_info.hpp

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

diff --git a/source/blender/functions/core/data_flow_graph_builder.hpp b/source/blender/functions/core/data_flow_graph_builder.hpp
index 500574b0ae3..6a2109752bd 100644
--- a/source/blender/functions/core/data_flow_graph_builder.hpp
+++ b/source/blender/functions/core/data_flow_graph_builder.hpp
@@ -1,5 +1,12 @@
 #pragma once
 
+/**
+ * This should be used to construct new data flow graphs. Nodes and links can be added dynamically.
+ * At the same time is it possible to query information (like connected sockets) at any point.
+ * Once all nodes and links are inserted, the actual data flow graph can be build from it, which
+ * allows much faster queries, but cannot be changed anymore.
+ */
+
 #include "function.hpp"
 #include "source_info.hpp"
 
diff --git a/source/blender/functions/core/function_graph.hpp b/source/blender/functions/core/function_graph.hpp
index e02936a7320..cbc963b3818 100644
--- a/source/blender/functions/core/function_graph.hpp
+++ b/source/blender/functions/core/function_graph.hpp
@@ -1,5 +1,11 @@
 #pragma once
 
+/**
+ * A function graph is a data flow graph with specified inputs and outputs. Therefore, it can be
+ * used to define new functions. Multiple function graphs can be build on top of the same data flow
+ * graph.
+ */
+
 #include "data_flow_graph.hpp"
 
 namespace FN {
@@ -40,7 +46,16 @@ class FunctionGraph {
     return m_outputs;
   }
 
+  /**
+   * Create a new function with the given name. The inputs and outputs correspond to the sockets in
+   * the graph. The returned function does not contain any bodies.
+   */
   SharedFunction new_function(StringRef name) const;
+
+  /**
+   * Get a subset of all sockets in the graph that can influence the function execution (under the
+   * assumption, that functions do not have side effects).
+   */
   SmallSet<DFGraphSocket> find_used_sockets(bool include_inputs, bool include_outputs) const;
 };
 
diff --git a/source/blender/functions/core/source_info.hpp b/source/blender/functions/core/source_info.hpp
index 20a8d2f3401..56e36b61e66 100644
--- a/source/blender/functions/core/source_info.hpp
+++ b/source/blender/functions/core/source_info.hpp
@@ -1,5 +1,11 @@
 #pragma once
 
+/**
+ * The SourceInfo class is used to track debugging information through the various stages of
+ * building an function. It is not directly part of a function, because the same function can be
+ * used in very different contexts.
+ */
+
 #include <string>
 
 namespace FN {



More information about the Bf-blender-cvs mailing list