Fix #108456: Missed declaration function in Shortest Edge Paths node #108460

Merged
Hans Goudey merged 1 commits from mod_moder/blender:tmp_fix_edge_paths_attr_propegations into main 2023-05-31 15:21:12 +02:00
1 changed files with 8 additions and 2 deletions

View File

@ -17,8 +17,8 @@ static void node_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Bool>("End Vertex").default_value(false).hide_value().supports_field();
b.add_input<decl::Float>("Edge Cost").default_value(1.0f).hide_value().supports_field();
b.add_output<decl::Int>("Next Vertex Index").field_source();
b.add_output<decl::Float>("Total Cost").field_source();
b.add_output<decl::Int>("Next Vertex Index").reference_pass_all();
b.add_output<decl::Float>("Total Cost").reference_pass_all();
}
typedef std::pair<float, int> VertPriority;
@ -205,6 +205,12 @@ class ShortestEdgePathsCostFieldInput final : public bke::MeshFieldInput {
VArray<float>::ForContainer(std::move(cost)), ATTR_DOMAIN_POINT, domain);
}
void for_each_field_input_recursive(FunctionRef<void(const FieldInput &)> fn) const override
{
end_selection_.node().for_each_field_input_recursive(fn);
cost_.node().for_each_field_input_recursive(fn);
}
uint64_t hash() const override
{
return get_default_hash_2(end_selection_, cost_);