[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