[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