diff options
author | Jacques Lucke <jacques@blender.org> | 2021-10-26 16:32:01 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-10-26 16:32:01 +0300 |
commit | fd477e738dfd65f7bb0f06c1d91c3259ed26295d (patch) | |
tree | d3caadbd97f7b3be9e453047c0c1b3cd4590afad /source/blender/nodes/intern | |
parent | b8b9023d8cd7e0be93f83533c37f50931a2a7c56 (diff) |
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
Diffstat (limited to 'source/blender/nodes/intern')
-rw-r--r-- | source/blender/nodes/intern/geometry_nodes_eval_log.cc | 18 | ||||
-rw-r--r-- | source/blender/nodes/intern/node_geometry_exec.cc | 5 |
2 files changed, 21 insertions, 2 deletions
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<std::reference_wrapper<const FieldInput>> field_inputs; + Set<std::reference_wrapper<const FieldInput>> 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<std::reference_wrapper<const FieldInput>> 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 { |