[Bf-blender-cvs] [94a280cb99b] functions: cleanup

Jacques Lucke noreply at git.blender.org
Fri Dec 6 13:02:22 CET 2019


Commit: 94a280cb99ba38d5f3285f4950db4a1edf0006a0
Author: Jacques Lucke
Date:   Fri Dec 6 12:42:58 2019 +0100
Branches: functions
https://developer.blender.org/rB94a280cb99ba38d5f3285f4950db4a1edf0006a0

cleanup

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

M	source/blender/functions/intern/multi_functions/network.cc
M	source/blender/functions/intern/multi_functions/network.h

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

diff --git a/source/blender/functions/intern/multi_functions/network.cc b/source/blender/functions/intern/multi_functions/network.cc
index 97684d25122..a0e8f5bfc97 100644
--- a/source/blender/functions/intern/multi_functions/network.cc
+++ b/source/blender/functions/intern/multi_functions/network.cc
@@ -2,6 +2,40 @@
 
 namespace FN {
 
+MF_EvaluateNetwork::MF_EvaluateNetwork(Vector<const MFOutputSocket *> inputs,
+                                       Vector<const MFInputSocket *> outputs)
+    : m_inputs(std::move(inputs)), m_outputs(std::move(outputs))
+{
+  MFSignatureBuilder signature("Function Tree");
+  for (auto socket : m_inputs) {
+    BLI_assert(socket->node().is_dummy());
+
+    MFDataType type = socket->data_type();
+    switch (type.category()) {
+      case MFDataType::Single:
+        signature.single_input("Input", type.single__cpp_type());
+        break;
+      case MFDataType::Vector:
+        signature.vector_input("Input", type.vector__cpp_base_type());
+        break;
+    }
+  }
+  for (auto socket : m_outputs) {
+    BLI_assert(socket->node().is_dummy());
+
+    MFDataType type = socket->data_type();
+    switch (type.category()) {
+      case MFDataType::Single:
+        signature.single_output("Output", type.single__cpp_type());
+        break;
+      case MFDataType::Vector:
+        signature.vector_output("Output", type.vector__cpp_base_type());
+        break;
+    }
+  }
+  this->set_signature(signature);
+}
+
 void MF_EvaluateNetwork::call(MFMask mask, MFParams params, MFContext context) const
 {
   if (mask.indices_amount() == 0) {
@@ -21,7 +55,7 @@ BLI_NOINLINE void MF_EvaluateNetwork::copy_inputs_to_storage(MFParams params,
     const MFOutputSocket &socket = *m_inputs[input_index];
     switch (socket.data_type().category()) {
       case MFDataType::Single: {
-        GenericVirtualListRef input_list = params.readonly_single_input(input_index, "Input");
+        GenericVirtualListRef input_list = params.readonly_single_input(input_index);
         for (const MFInputSocket *target : socket.targets()) {
           const MFNode &target_node = target->node();
           if (target_node.is_function()) {
@@ -45,8 +79,7 @@ BLI_NOINLINE void MF_EvaluateNetwork::copy_inputs_to_storage(MFParams params,
         break;
       }
       case MFDataType::Vector: {
-        GenericVirtualListListRef input_list_list = params.readonly_vector_input(input_index,
-                                                                                 "Input");
+        GenericVirtualListListRef input_list_list = params.readonly_vector_input(input_index);
         for (const MFInputSocket *target : socket.targets()) {
           const MFNode &target_node = target->node();
           if (target_node.is_function()) {
@@ -241,7 +274,7 @@ BLI_NOINLINE void MF_EvaluateNetwork::copy_computed_values_to_outputs(MFParams p
       case MFDataType::Single: {
         GenericVirtualListRef values = storage.get_virtual_list_for_input(socket);
         GenericMutableArrayRef output_values = params.uninitialized_single_output(
-            global_param_index, "Output");
+            global_param_index);
         for (uint i : storage.mask().indices()) {
           output_values.copy_in__uninitialized(i, values[i]);
         }
@@ -249,7 +282,7 @@ BLI_NOINLINE void MF_EvaluateNetwork::copy_computed_values_to_outputs(MFParams p
       }
       case MFDataType::Vector: {
         GenericVirtualListListRef values = storage.get_virtual_list_list_for_input(socket);
-        GenericVectorArray &output_values = params.vector_output(global_param_index, "Output");
+        GenericVectorArray &output_values = params.vector_output(global_param_index);
         for (uint i : storage.mask().indices()) {
           output_values.extend_single__copy(i, values[i]);
         }
diff --git a/source/blender/functions/intern/multi_functions/network.h b/source/blender/functions/intern/multi_functions/network.h
index 0b75df5db2a..490ace50558 100644
--- a/source/blender/functions/intern/multi_functions/network.h
+++ b/source/blender/functions/intern/multi_functions/network.h
@@ -16,38 +16,7 @@ class MF_EvaluateNetwork final : public MultiFunction {
   Vector<const MFInputSocket *> m_outputs;
 
  public:
-  MF_EvaluateNetwork(Vector<const MFOutputSocket *> inputs, Vector<const MFInputSocket *> outputs)
-      : m_inputs(std::move(inputs)), m_outputs(std::move(outputs))
-  {
-    MFSignatureBuilder signature("Function Tree");
-    for (auto socket : m_inputs) {
-      BLI_assert(socket->node().is_dummy());
-
-      MFDataType type = socket->data_type();
-      switch (type.category()) {
-        case MFDataType::Single:
-          signature.single_input("Input", type.single__cpp_type());
-          break;
-        case MFDataType::Vector:
-          signature.vector_input("Input", type.vector__cpp_base_type());
-          break;
-      }
-    }
-    for (auto socket : m_outputs) {
-      BLI_assert(socket->node().is_dummy());
-
-      MFDataType type = socket->data_type();
-      switch (type.category()) {
-        case MFDataType::Single:
-          signature.single_output("Output", type.single__cpp_type());
-          break;
-        case MFDataType::Vector:
-          signature.vector_output("Output", type.vector__cpp_base_type());
-          break;
-      }
-    }
-    this->set_signature(signature);
-  }
+  MF_EvaluateNetwork(Vector<const MFOutputSocket *> inputs, Vector<const MFInputSocket *> outputs);
 
   class Storage {
    private:



More information about the Bf-blender-cvs mailing list