Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/functions/intern/multi_function_builder.cc')
-rw-r--r--source/blender/functions/intern/multi_function_builder.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/functions/intern/multi_function_builder.cc b/source/blender/functions/intern/multi_function_builder.cc
index c9e8b88ba03..3567f4f9167 100644
--- a/source/blender/functions/intern/multi_function_builder.cc
+++ b/source/blender/functions/intern/multi_function_builder.cc
@@ -23,10 +23,12 @@ namespace blender::fn {
CustomMF_GenericConstant::CustomMF_GenericConstant(const CPPType &type, const void *value)
: type_(type), value_(value)
{
- MFSignatureBuilder signature = this->get_builder("Constant " + type.name());
+ MFSignatureBuilder signature{"Constant " + type.name()};
std::stringstream ss;
type.debug_print(value, ss);
signature.single_output(ss.str(), type);
+ signature_ = signature.build();
+ this->set_signature(&signature_);
}
void CustomMF_GenericConstant::call(IndexMask mask,
@@ -73,8 +75,10 @@ static std::string gspan_to_string(GSpan array)
CustomMF_GenericConstantArray::CustomMF_GenericConstantArray(GSpan array) : array_(array)
{
const CPPType &type = array.type();
- MFSignatureBuilder signature = this->get_builder("Constant " + type.name() + " Vector");
+ MFSignatureBuilder signature{"Constant " + type.name() + " Vector"};
signature.vector_output(gspan_to_string(array), type);
+ signature_ = signature.build();
+ this->set_signature(&signature_);
}
void CustomMF_GenericConstantArray::call(IndexMask mask,
@@ -92,13 +96,15 @@ CustomMF_DefaultOutput::CustomMF_DefaultOutput(StringRef name,
Span<MFDataType> output_types)
: output_amount_(output_types.size())
{
- MFSignatureBuilder signature = this->get_builder(name);
+ MFSignatureBuilder signature{name};
for (MFDataType data_type : input_types) {
signature.input("Input", data_type);
}
for (MFDataType data_type : output_types) {
signature.output("Output", data_type);
}
+ signature_ = signature.build();
+ this->set_signature(&signature_);
}
void CustomMF_DefaultOutput::call(IndexMask mask, MFParams params, MFContext UNUSED(context)) const
{