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:
authorJacques Lucke <jacques@blender.org>2021-10-26 16:32:01 +0300
committerJacques Lucke <jacques@blender.org>2021-10-26 16:32:01 +0300
commitfd477e738dfd65f7bb0f06c1d91c3259ed26295d (patch)
treed3caadbd97f7b3be9e453047c0c1b3cd4590afad /source/blender/nodes/intern
parentb8b9023d8cd7e0be93f83533c37f50931a2a7c56 (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.cc18
-rw-r--r--source/blender/nodes/intern/node_geometry_exec.cc5
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
{