[Bf-blender-cvs] [0a66b127767] functions: less usage of InputParameter and OutputParameter type

Jacques Lucke noreply at git.blender.org
Thu May 16 12:03:03 CEST 2019


Commit: 0a66b1277675d7783576dee66b1a77f858697f74
Author: Jacques Lucke
Date:   Thu May 16 11:40:12 2019 +0200
Branches: functions
https://developer.blender.org/rB0a66b1277675d7783576dee66b1a77f858697f74

less usage of InputParameter and OutputParameter type

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

M	source/blender/functions/core/function.cpp
M	source/blender/functions/core/function.hpp

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

diff --git a/source/blender/functions/core/function.cpp b/source/blender/functions/core/function.cpp
index 2998cfe6719..9b6ab43515e 100644
--- a/source/blender/functions/core/function.cpp
+++ b/source/blender/functions/core/function.cpp
@@ -17,17 +17,27 @@ FunctionBuilder::FunctionBuilder()
 
 void FunctionBuilder::add_input(StringRef name, SharedType &type)
 {
-  m_inputs.append(InputParameter(name, type));
+  m_input_names.append(name.to_std_string());
+  m_input_types.append(type);
 }
 
 void FunctionBuilder::add_output(StringRef name, SharedType &type)
 {
-  m_outputs.append(OutputParameter(name, type));
+  m_output_names.append(name.to_std_string());
+  m_output_types.append(type);
 }
 
 SharedFunction FunctionBuilder::build(StringRef function_name)
 {
-  return SharedFunction::New(function_name, Signature(m_inputs, m_outputs));
+  InputParameters inputs;
+  for (uint i = 0; i < m_input_names.size(); i++) {
+    inputs.append(InputParameter(m_input_names[i], m_input_types[i]));
+  }
+  OutputParameters outputs;
+  for (uint i = 0; i < m_output_names.size(); i++) {
+    outputs.append(OutputParameter(m_output_names[i], m_output_types[i]));
+  }
+  return SharedFunction::New(function_name, Signature(inputs, outputs));
 }
 
 } /* namespace FN */
diff --git a/source/blender/functions/core/function.hpp b/source/blender/functions/core/function.hpp
index a30d02f0331..7a1fafd6ae6 100644
--- a/source/blender/functions/core/function.hpp
+++ b/source/blender/functions/core/function.hpp
@@ -129,8 +129,10 @@ using FunctionPerType = SmallMap<SharedType, SharedFunction>;
 
 class FunctionBuilder {
  private:
-  InputParameters m_inputs;
-  OutputParameters m_outputs;
+  SmallVector<std::string> m_input_names;
+  SmallVector<std::string> m_output_names;
+  SmallVector<SharedType> m_input_types;
+  SmallVector<SharedType> m_output_types;
 
  public:
   FunctionBuilder();



More information about the Bf-blender-cvs mailing list