[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 &current_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