[Bf-blender-cvs] [2d7fee45d64] functions: add method to access all nodes
Jacques Lucke
noreply at git.blender.org
Sat Jan 18 20:17:20 CET 2020
Commit: 2d7fee45d64fbaa220dd13e669e9c575754dd2bf
Author: Jacques Lucke
Date: Sat Jan 11 10:40:26 2020 +0100
Branches: functions
https://developer.blender.org/rB2d7fee45d64fbaa220dd13e669e9c575754dd2bf
add method to access all nodes
===================================================================
M source/blender/functions/FN_multi_function_network.h
M source/blender/functions/intern/multi_function_network_optimization.cc
===================================================================
diff --git a/source/blender/functions/FN_multi_function_network.h b/source/blender/functions/FN_multi_function_network.h
index 67d56966d37..c9030fa7350 100644
--- a/source/blender/functions/FN_multi_function_network.h
+++ b/source/blender/functions/FN_multi_function_network.h
@@ -154,6 +154,11 @@ class MFNetworkBuilder : BLI::NonCopyable, BLI::NonMovable {
void add_link(MFBuilderOutputSocket &from, MFBuilderInputSocket &to);
void remove_link(MFBuilderOutputSocket &from, MFBuilderInputSocket &to);
+ ArrayRef<MFBuilderNode *> all_nodes() const
+ {
+ return m_node_by_id;
+ }
+
ArrayRef<MFBuilderNode *> nodes_by_id() const
{
return m_node_by_id;
diff --git a/source/blender/functions/intern/multi_function_network_optimization.cc b/source/blender/functions/intern/multi_function_network_optimization.cc
index 56ce8f3a850..ab64513d0d1 100644
--- a/source/blender/functions/intern/multi_function_network_optimization.cc
+++ b/source/blender/functions/intern/multi_function_network_optimization.cc
@@ -25,9 +25,9 @@ static bool node_can_be_constant(MFBuilderNode &node)
void optimize_network__constant_folding(MFNetworkBuilder &network_builder,
ResourceCollector &resources)
{
- Array<bool> is_constant(network_builder.nodes_by_id().size(), true);
+ Array<bool> is_constant(network_builder.all_nodes().size(), true);
- Stack<MFBuilderNode *> nodes_to_check = network_builder.nodes_by_id();
+ Stack<MFBuilderNode *> nodes_to_check = network_builder.all_nodes();
while (!nodes_to_check.is_empty()) {
MFBuilderNode ¤t_node = *nodes_to_check.pop();
@@ -54,7 +54,7 @@ void optimize_network__constant_folding(MFNetworkBuilder &network_builder,
Set<MFBuilderNode *> constant_nodes;
for (uint i : is_constant.index_range()) {
if (is_constant[i]) {
- constant_nodes.add_new(network_builder.nodes_by_id()[i]);
+ constant_nodes.add_new(network_builder.all_nodes()[i]);
}
}
// network_builder.to_dot__clipboard(constant_nodes);
More information about the Bf-blender-cvs
mailing list