[Bf-blender-cvs] [385e61a122c] functions: cleanup VTreeDataGraph creation

Jacques Lucke noreply at git.blender.org
Wed Jul 31 18:45:15 CEST 2019


Commit: 385e61a122cfe9f9b0922070b2506d509dc64e4c
Author: Jacques Lucke
Date:   Wed Jul 31 17:28:48 2019 +0200
Branches: functions
https://developer.blender.org/rB385e61a122cfe9f9b0922070b2506d509dc64e4c

cleanup VTreeDataGraph creation

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

M	source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
M	source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
M	source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
M	source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
M	source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp

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

diff --git a/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp b/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
index 4abe2d1d62e..0c6801a706d 100644
--- a/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/graph_generation.cpp
@@ -87,19 +87,6 @@ static void insert_unlinked_inputs(VTreeDataGraphBuilder &builder,
   }
 }
 
-static Map<VirtualSocket *, DFGraphSocket> build_mapping_for_original_sockets(
-    Map<VirtualSocket *, DFGB_Socket> &socket_map,
-    DataFlowGraph::ToBuilderMapping &builder_mapping)
-{
-  Map<VirtualSocket *, DFGraphSocket> original_socket_mapping;
-  for (auto item : socket_map.items()) {
-    VirtualSocket *vsocket = item.key;
-    DFGraphSocket socket = builder_mapping.map_socket(item.value);
-    original_socket_mapping.add_new(vsocket, socket);
-  }
-  return original_socket_mapping;
-}
-
 class BasicUnlinkedInputsHandler : public UnlinkedInputsHandler {
  private:
   GraphInserters &m_inserters;
@@ -131,13 +118,9 @@ ValueOrError<VTreeDataGraph> generate_graph(VirtualNodeTree &vtree)
   }
 
   BasicUnlinkedInputsHandler unlinked_inputs_handler(inserters);
-
   insert_unlinked_inputs(builder, unlinked_inputs_handler);
 
-  auto build_result = builder.build();
-  return VTreeDataGraph(
-      std::move(build_result.graph),
-      build_mapping_for_original_sockets(builder.socket_map(), build_result.mapping));
+  return builder.build();
 }
 
 }  // namespace DataFlowNodes
diff --git a/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp b/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
index 99603c1c075..60f5b66a57e 100644
--- a/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
+++ b/source/blender/functions/frontends/data_flow_nodes/graph_generation.hpp
@@ -1,10 +1,5 @@
 #pragma once
 
-#include "FN_core.hpp"
-#include "BLI_value_or_error.hpp"
-#include "BKE_node_tree.hpp"
-
-#include "vtree_data_graph.hpp"
 #include "vtree_data_graph_builder.hpp"
 
 namespace FN {
@@ -17,23 +12,6 @@ class UnlinkedInputsHandler {
                       ArrayRef<DFGB_Socket> r_new_origins) = 0;
 };
 
-class VNodePlaceholderBody : public FunctionBody {
- private:
-  VirtualNode *m_vnode;
-
- public:
-  static const uint FUNCTION_BODY_ID = 4;
-
-  VNodePlaceholderBody(VirtualNode *vnode) : m_vnode(vnode)
-  {
-  }
-
-  VirtualNode *vnode()
-  {
-    return m_vnode;
-  }
-};
-
 ValueOrError<VTreeDataGraph> generate_graph(VirtualNodeTree &vtree);
 
 }  // namespace DataFlowNodes
diff --git a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
index 40662448599..3e335f19d2e 100644
--- a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
+++ b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph.hpp
@@ -2,6 +2,7 @@
 
 #include "FN_core.hpp"
 #include "BKE_node_tree.hpp"
+#include "BLI_value_or_error.hpp"
 
 namespace FN {
 namespace DataFlowNodes {
@@ -60,5 +61,22 @@ class VTreeDataGraph {
   VirtualSocket *find_data_output(VirtualNode *vnode, uint index);
 };
 
+class VNodePlaceholderBody : public FunctionBody {
+ private:
+  VirtualNode *m_vnode;
+
+ public:
+  static const uint FUNCTION_BODY_ID = 4;
+
+  VNodePlaceholderBody(VirtualNode *vnode) : m_vnode(vnode)
+  {
+  }
+
+  VirtualNode *vnode()
+  {
+    return m_vnode;
+  }
+};
+
 }  // namespace DataFlowNodes
 }  // namespace FN
diff --git a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
index d85a9d5f547..c909dadb05e 100644
--- a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.cpp
@@ -34,9 +34,24 @@ VTreeDataGraphBuilder::VTreeDataGraphBuilder(VirtualNodeTree &vtree)
 {
 }
 
-DataFlowGraph::BuildResult VTreeDataGraphBuilder::build()
+static Map<VirtualSocket *, DFGraphSocket> build_mapping_for_original_sockets(
+    Map<VirtualSocket *, DFGB_Socket> &socket_map,
+    DataFlowGraph::ToBuilderMapping &builder_mapping)
 {
-  return DataFlowGraph::FromBuilder(m_graph_builder);
+  Map<VirtualSocket *, DFGraphSocket> original_socket_mapping;
+  for (auto item : socket_map.items()) {
+    VirtualSocket *vsocket = item.key;
+    DFGraphSocket socket = builder_mapping.map_socket(item.value);
+    original_socket_mapping.add_new(vsocket, socket);
+  }
+  return original_socket_mapping;
+}
+
+VTreeDataGraph VTreeDataGraphBuilder::build()
+{
+  auto build_result = DataFlowGraph::FromBuilder(m_graph_builder);
+  return VTreeDataGraph(std::move(build_result.graph),
+                        build_mapping_for_original_sockets(m_socket_map, build_result.mapping));
 }
 
 class NodeSource : public SourceInfo {
diff --git a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp
index 0442b2d7917..7a371f2bd2b 100644
--- a/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp
+++ b/source/blender/functions/frontends/data_flow_nodes/vtree_data_graph_builder.hpp
@@ -4,6 +4,8 @@
 #include "BKE_node_tree.hpp"
 #include "BLI_string_map.hpp"
 
+#include "vtree_data_graph.hpp"
+
 struct ID;
 struct PointerRNA;
 
@@ -25,7 +27,7 @@ class VTreeDataGraphBuilder {
  public:
   VTreeDataGraphBuilder(VirtualNodeTree &vtree);
 
-  DataFlowGraph::BuildResult build();
+  VTreeDataGraph build();
 
   Map<VirtualSocket *, DFGB_Socket> &socket_map()
   {



More information about the Bf-blender-cvs mailing list