100 void destruct_sockets();
346 if (socket->origin() ==
nullptr) {
359 return function_->
name();
503 return function_nodes_;
508 return node_or_null_by_id_[
id];
513 return node_or_null_by_id_[
id];
518 return socket_or_null_by_id_[
id];
523 return socket_or_null_by_id_[
id];
528 return socket_or_null_by_id_.
size();
533 return node_or_null_by_id_.
size();
constexpr int64_t first_index(const T &search_value) const
StringRefNull name() const
Span< StringRefNull > output_names() const
Span< StringRefNull > input_names() const
MutableSpan< StringRefNull > input_names_
MutableSpan< StringRefNull > output_names_
const MultiFunction & function() const
const MFInputSocket & input_for_param(int param_index) const
StringRefNull name() const
const MFOutputSocket & output_for_param(int param_index) const
bool have_dummy_or_unlinked_dependencies(Span< const MFInputSocket * > sockets) const
MFSocket * socket_or_null_by_id(int id)
Span< MFFunctionNode * > function_nodes()
void remove(MFNode &node)
void relink(MFOutputSocket &old_output, MFOutputSocket &new_output)
Span< MFDummyNode * > dummy_nodes()
void find_dependencies(Span< const MFInputSocket * > sockets, VectorSet< const MFOutputSocket * > &r_dummy_sockets, VectorSet< const MFInputSocket * > &r_unlinked_inputs) const
MFNode * node_or_null_by_id(int id)
MFDummyNode & add_dummy(StringRef name, Span< MFDataType > input_types, Span< MFDataType > output_types, Span< StringRef > input_names, Span< StringRef > output_names)
std::string to_dot(Span< const MFNode * > marked_nodes={}) const
void add_link(MFOutputSocket &from, MFInputSocket &to)
MFFunctionNode & add_function(const MultiFunction &function)
MFOutputSocket & add_input(StringRef name, MFDataType data_type)
MFInputSocket & add_output(StringRef name, MFDataType data_type)
int node_id_amount() const
int socket_id_amount() const
Span< MFInputSocket * > inputs()
bool has_unlinked_inputs() const
Span< MFOutputSocket * > outputs_
MFOutputSocket & output(int index)
MFInputSocket & input(int index)
MFFunctionNode & as_function()
StringRefNull name() const
Span< MFOutputSocket * > outputs()
Span< MFInputSocket * > inputs_
Span< MFInputSocket * > targets()
StringRefNull name() const
const MFDataType & data_type() const
MFOutputSocket & as_output()
MFInputSocket & as_input()
StringRefNull name() const