[Bf-blender-cvs] [be23e6e2f27] functions: extract members from builder

Jacques Lucke noreply at git.blender.org
Sat Jan 4 16:38:37 CET 2020


Commit: be23e6e2f27fc8f573bb2530d2ee78a61c94c084
Author: Jacques Lucke
Date:   Fri Jan 3 14:21:17 2020 +0100
Branches: functions
https://developer.blender.org/rBbe23e6e2f27fc8f573bb2530d2ee78a61c94c084

extract members from builder

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

M	source/blender/functions/intern/node_tree_multi_function_network/builder.cc
M	source/blender/functions/intern/node_tree_multi_function_network/builder.h
M	source/blender/functions/intern/node_tree_multi_function_network/generate.cc

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

diff --git a/source/blender/functions/intern/node_tree_multi_function_network/builder.cc b/source/blender/functions/intern/node_tree_multi_function_network/builder.cc
index 8ce3a721704..ce3cf074446 100644
--- a/source/blender/functions/intern/node_tree_multi_function_network/builder.cc
+++ b/source/blender/functions/intern/node_tree_multi_function_network/builder.cc
@@ -8,13 +8,15 @@ FunctionTreeMFNetworkBuilder::FunctionTreeMFNetworkBuilder(
     const FunctionNodeTree &function_tree,
     const PreprocessedVTreeMFData &preprocessed_function_tree_data,
     const VTreeMultiFunctionMappings &function_tree_mappings,
-    ResourceCollector &resources)
+    ResourceCollector &resources,
+    IndexToRefMultiMap<MFBuilderSocket> &sockets_by_fsocket_id,
+    IndexToRefMap<MFBuilderOutputSocket> &socket_by_group_input_id)
     : m_function_tree(function_tree),
       m_preprocessed_function_tree_data(preprocessed_function_tree_data),
       m_function_tree_mappings(function_tree_mappings),
       m_resources(resources),
-      m_sockets_by_fsocket_id(function_tree.socket_count()),
-      m_socket_by_group_input_id(function_tree.all_group_inputs().size()),
+      m_sockets_by_fsocket_id(sockets_by_fsocket_id),
+      m_socket_by_group_input_id(socket_by_group_input_id),
       m_builder(BLI::make_unique<MFNetworkBuilder>())
 {
 }
diff --git a/source/blender/functions/intern/node_tree_multi_function_network/builder.h b/source/blender/functions/intern/node_tree_multi_function_network/builder.h
index 164f1cf5aa6..03d0345311c 100644
--- a/source/blender/functions/intern/node_tree_multi_function_network/builder.h
+++ b/source/blender/functions/intern/node_tree_multi_function_network/builder.h
@@ -65,8 +65,8 @@ class FunctionTreeMFNetworkBuilder : BLI::NonCopyable, BLI::NonMovable {
   const VTreeMultiFunctionMappings &m_function_tree_mappings;
   ResourceCollector &m_resources;
 
-  IndexToRefMultiMap<MFBuilderSocket> m_sockets_by_fsocket_id;
-  IndexToRefMap<MFBuilderOutputSocket> m_socket_by_group_input_id;
+  IndexToRefMultiMap<MFBuilderSocket> &m_sockets_by_fsocket_id;
+  IndexToRefMap<MFBuilderOutputSocket> &m_socket_by_group_input_id;
 
   std::unique_ptr<MFNetworkBuilder> m_builder;
 
@@ -74,7 +74,9 @@ class FunctionTreeMFNetworkBuilder : BLI::NonCopyable, BLI::NonMovable {
   FunctionTreeMFNetworkBuilder(const FunctionNodeTree &function_tree,
                                const PreprocessedVTreeMFData &preprocessed_function_tree_data,
                                const VTreeMultiFunctionMappings &function_tree_mappings,
-                               ResourceCollector &resources);
+                               ResourceCollector &resources,
+                               IndexToRefMultiMap<MFBuilderSocket> &sockets_by_fsocket_id,
+                               IndexToRefMap<MFBuilderOutputSocket> &socket_by_group_input_id);
 
   const FunctionNodeTree &function_tree() const
   {
diff --git a/source/blender/functions/intern/node_tree_multi_function_network/generate.cc b/source/blender/functions/intern/node_tree_multi_function_network/generate.cc
index dd19a64b15a..dfb1b1e96c0 100644
--- a/source/blender/functions/intern/node_tree_multi_function_network/generate.cc
+++ b/source/blender/functions/intern/node_tree_multi_function_network/generate.cc
@@ -135,8 +135,16 @@ std::unique_ptr<FunctionTreeMFNetwork> generate_node_tree_multi_function_network
 {
   const VTreeMultiFunctionMappings &mappings = get_function_tree_multi_function_mappings();
   PreprocessedVTreeMFData preprocessed_data{function_tree};
-
-  FunctionTreeMFNetworkBuilder builder(function_tree, preprocessed_data, mappings, resources);
+  IndexToRefMultiMap<MFBuilderSocket> sockets_by_fsocket_id(function_tree.all_sockets().size());
+  IndexToRefMap<MFBuilderOutputSocket> socket_by_group_input_id(
+      function_tree.all_group_inputs().size());
+
+  FunctionTreeMFNetworkBuilder builder(function_tree,
+                                       preprocessed_data,
+                                       mappings,
+                                       resources,
+                                       sockets_by_fsocket_id,
+                                       socket_by_group_input_id);
   if (!insert_nodes(builder, mappings)) {
     BLI_assert(false);
   }



More information about the Bf-blender-cvs mailing list