[Bf-blender-cvs] [19347490299] functions: cleanup

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


Commit: 193474902993e36aa69e35ab91142ab994f3666f
Author: Jacques Lucke
Date:   Fri Jan 3 13:44:54 2020 +0100
Branches: functions
https://developer.blender.org/rB193474902993e36aa69e35ab91142ab994f3666f

cleanup

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

M	source/blender/blenlib/BLI_index_to_ref_map.h
M	source/blender/functions/intern/node_tree_multi_function_network/builder.cc
M	source/blender/functions/intern/node_tree_multi_function_network/builder.h

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

diff --git a/source/blender/blenlib/BLI_index_to_ref_map.h b/source/blender/blenlib/BLI_index_to_ref_map.h
index 88dfceefac8..e8e2d697a09 100644
--- a/source/blender/blenlib/BLI_index_to_ref_map.h
+++ b/source/blender/blenlib/BLI_index_to_ref_map.h
@@ -40,6 +40,12 @@ template<typename T, uint N = 4, typename Allocator = GuardedAllocator> class In
     BLI_assert(this->contains(key));
     return *m_array[key];
   }
+
+  T &lookup(uint key)
+  {
+    BLI_assert(this->contains(key));
+    return *m_array[key];
+  }
 };
 
 }  // namespace BLI
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 b5c97de7b3f..f77e3e860cb 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
@@ -14,6 +14,7 @@ FunctionTreeMFNetworkBuilder::FunctionTreeMFNetworkBuilder(
       m_function_tree_mappings(function_tree_mappings),
       m_resources(resources),
       m_socket_by_fsocket(function_tree.socket_count()),
+      m_socket_by_group_input(function_tree.all_group_inputs().size()),
       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 07819ecba9b..ad8ba56dded 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,7 @@ class FunctionTreeMFNetworkBuilder : BLI::NonCopyable, BLI::NonMovable {
   ResourceCollector &m_resources;
 
   IdMultiMap m_socket_by_fsocket;
-
-  Map<const FGroupInput *, MFBuilderOutputSocket *> m_group_inputs_mapping;
+  IndexToRefMap<MFBuilderOutputSocket> m_socket_by_group_input;
 
   std::unique_ptr<MFNetworkBuilder> m_builder;
 
@@ -175,12 +174,12 @@ class FunctionTreeMFNetworkBuilder : BLI::NonCopyable, BLI::NonMovable {
 
   void map_group_input(const FGroupInput &group_input, MFBuilderOutputSocket &socket)
   {
-    m_group_inputs_mapping.add_new(&group_input, &socket);
+    m_socket_by_group_input.add_new(group_input.id(), socket);
   }
 
-  MFBuilderOutputSocket &lookup_group_input(const FGroupInput &group_input) const
+  MFBuilderOutputSocket &lookup_group_input(const FGroupInput &group_input)
   {
-    return *m_group_inputs_mapping.lookup(&group_input);
+    return m_socket_by_group_input.lookup(group_input.id());
   }
 
   bool fsocket_is_mapped(const FSocket &fsocket) const



More information about the Bf-blender-cvs mailing list