From fd477e738dfd65f7bb0f06c1d91c3259ed26295d Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Tue, 26 Oct 2021 15:32:01 +0200 Subject: Geometry Nodes: remove reference to anonymous attributes in tooltips This changes socket inspection for fields according to T91881. Differential Revision: https://developer.blender.org/D13006 --- source/blender/nodes/intern/geometry_nodes_eval_log.cc | 18 ++++++++++++++++-- source/blender/nodes/intern/node_geometry_exec.cc | 5 +++++ 2 files changed, 21 insertions(+), 2 deletions(-) (limited to 'source/blender/nodes/intern') diff --git a/source/blender/nodes/intern/geometry_nodes_eval_log.cc b/source/blender/nodes/intern/geometry_nodes_eval_log.cc index 13dc73c7206..ddd3c991518 100644 --- a/source/blender/nodes/intern/geometry_nodes_eval_log.cc +++ b/source/blender/nodes/intern/geometry_nodes_eval_log.cc @@ -177,9 +177,23 @@ const SocketLog *NodeLog::lookup_socket_log(const bNode &node, const bNodeSocket GFieldValueLog::GFieldValueLog(fn::GField field, bool log_full_field) : type_(field.cpp_type()) { - VectorSet> field_inputs; + Set> field_inputs_set; field.node().foreach_field_input( - [&](const FieldInput &field_input) { field_inputs.add(field_input); }); + [&](const FieldInput &field_input) { field_inputs_set.add(field_input); }); + + Vector> field_inputs; + field_inputs.extend(field_inputs_set.begin(), field_inputs_set.end()); + + std::sort( + field_inputs.begin(), field_inputs.end(), [](const FieldInput &a, const FieldInput &b) { + const int index_a = (int)a.category(); + const int index_b = (int)b.category(); + if (index_a == index_b) { + return a.socket_inspection_name().size() < b.socket_inspection_name().size(); + } + return index_a < index_b; + }); + for (const FieldInput &field_input : field_inputs) { input_tooltips_.append(field_input.socket_inspection_name()); } diff --git a/source/blender/nodes/intern/node_geometry_exec.cc b/source/blender/nodes/intern/node_geometry_exec.cc index a3bbca90731..8ea085d42f9 100644 --- a/source/blender/nodes/intern/node_geometry_exec.cc +++ b/source/blender/nodes/intern/node_geometry_exec.cc @@ -183,6 +183,11 @@ AttributeDomain GeoNodeExecParams::get_highest_priority_input_domain( return default_domain; } +std::string GeoNodeExecParams::attribute_producer_name() const +{ + return provider_->dnode->label_or_name() + TIP_(" node"); +} + void GeoNodeExecParams::check_input_access(StringRef identifier, const CPPType *requested_type) const { -- cgit v1.2.3