From f43426f0de94de9aba6b7b3ca5121bfe68ab30df Mon Sep 17 00:00:00 2001 From: Falk David Date: Thu, 12 Oct 2023 13:54:32 +0200 Subject: [PATCH] GPv3: Rename layer domain to just "Layer" We had a short discussion on this change. "Grease Pencil Layer" is just a bit too long, especially in the UI. Even though "Layer" might be ambiguous, it shouldn't be in the context of geometry nodes. There are currently no other "Layers" and if there were, using the same domain name could be fine (just like we reuse the point domain for e.g. vertices in meshes and control points in curves). This also renames the internal enum to `ATTR_DOMAIN_LAYER` Pull Request: https://projects.blender.org/blender/blender/pulls/113589 --- source/blender/blenkernel/BKE_attribute.h | 2 +- source/blender/blenkernel/BKE_geometry_fields.hh | 3 +-- source/blender/blenkernel/intern/attribute.cc | 4 ++-- source/blender/blenkernel/intern/attribute_access.cc | 2 +- .../intern/geometry_component_grease_pencil.cc | 7 +++---- source/blender/blenkernel/intern/geometry_fields.cc | 8 ++++---- .../space_spreadsheet/spreadsheet_dataset_draw.cc | 2 +- source/blender/makesdna/DNA_grease_pencil_types.h | 2 +- source/blender/makesrna/intern/rna_attribute.cc | 10 ++-------- .../makesrna/intern/rna_node_tree_interface.cc | 3 +-- source/blender/makesrna/intern/rna_nodetree.cc | 3 +-- source/blender/makesrna/intern/rna_space.cc | 3 +-- source/blender/nodes/geometry/node_geometry_util.cc | 11 +++++------ .../geometry/nodes/node_geo_evaluate_on_domain.cc | 8 +++----- source/blender/nodes/intern/geometry_nodes_log.cc | 3 +-- 15 files changed, 28 insertions(+), 43 deletions(-) diff --git a/source/blender/blenkernel/BKE_attribute.h b/source/blender/blenkernel/BKE_attribute.h index f30f40de0f5..ba10a7d5b1c 100644 --- a/source/blender/blenkernel/BKE_attribute.h +++ b/source/blender/blenkernel/BKE_attribute.h @@ -31,7 +31,7 @@ typedef enum eAttrDomain { ATTR_DOMAIN_CORNER = 3, /* Mesh Corner */ ATTR_DOMAIN_CURVE = 4, /* A single curve in a larger curve data-block */ ATTR_DOMAIN_INSTANCE = 5, /* Instance */ - ATTR_DOMAIN_GREASE_PENCIL_LAYER = 6, /* A layer in a grease pencil data-block */ + ATTR_DOMAIN_LAYER = 6, /* A layer in a grease pencil data-block */ } eAttrDomain; #define ATTR_DOMAIN_NUM 7 diff --git a/source/blender/blenkernel/BKE_geometry_fields.hh b/source/blender/blenkernel/BKE_geometry_fields.hh index e84eb97b0d9..eb8c4283a3e 100644 --- a/source/blender/blenkernel/BKE_geometry_fields.hh +++ b/source/blender/blenkernel/BKE_geometry_fields.hh @@ -175,8 +175,7 @@ class GeometryFieldContext : public fn::FieldContext { int grease_pencil_layer_index() const { BLI_assert(this->type_ == GeometryComponent::Type::GreasePencil); - BLI_assert(ELEM( - this->domain_, ATTR_DOMAIN_GREASE_PENCIL_LAYER, ATTR_DOMAIN_CURVE, ATTR_DOMAIN_POINT)); + BLI_assert(ELEM(this->domain_, ATTR_DOMAIN_LAYER, ATTR_DOMAIN_CURVE, ATTR_DOMAIN_POINT)); return grease_pencil_layer_index_; } diff --git a/source/blender/blenkernel/intern/attribute.cc b/source/blender/blenkernel/intern/attribute.cc index ba05ab939b6..df4664e71ed 100644 --- a/source/blender/blenkernel/intern/attribute.cc +++ b/source/blender/blenkernel/intern/attribute.cc @@ -93,8 +93,8 @@ static void get_domains(const ID *id, DomainInfo info[ATTR_DOMAIN_NUM]) } case ID_GP: { GreasePencil *grease_pencil = (GreasePencil *)id; - info[ATTR_DOMAIN_GREASE_PENCIL_LAYER].customdata = &grease_pencil->layers_data; - info[ATTR_DOMAIN_GREASE_PENCIL_LAYER].length = grease_pencil->layers().size(); + info[ATTR_DOMAIN_LAYER].customdata = &grease_pencil->layers_data; + info[ATTR_DOMAIN_LAYER].length = grease_pencil->layers().size(); break; } default: diff --git a/source/blender/blenkernel/intern/attribute_access.cc b/source/blender/blenkernel/intern/attribute_access.cc index e5aed1738b5..6fc1b9df9b3 100644 --- a/source/blender/blenkernel/intern/attribute_access.cc +++ b/source/blender/blenkernel/intern/attribute_access.cc @@ -147,7 +147,7 @@ static int attribute_domain_priority(const eAttrDomain domain) switch (domain) { case ATTR_DOMAIN_INSTANCE: return 0; - case ATTR_DOMAIN_GREASE_PENCIL_LAYER: + case ATTR_DOMAIN_LAYER: return 1; case ATTR_DOMAIN_CURVE: return 2; diff --git a/source/blender/blenkernel/intern/geometry_component_grease_pencil.cc b/source/blender/blenkernel/intern/geometry_component_grease_pencil.cc index 79e4cef7785..ff8308ea39c 100644 --- a/source/blender/blenkernel/intern/geometry_component_grease_pencil.cc +++ b/source/blender/blenkernel/intern/geometry_component_grease_pencil.cc @@ -115,8 +115,7 @@ static ComponentAttributeProviders create_attribute_providers_for_grease_pencil( return grease_pencil.layers().size(); }}; - static CustomDataAttributeProvider layer_custom_data(ATTR_DOMAIN_GREASE_PENCIL_LAYER, - layers_access); + static CustomDataAttributeProvider layer_custom_data(ATTR_DOMAIN_LAYER, layers_access); return ComponentAttributeProviders({}, {&layer_custom_data}); } @@ -144,14 +143,14 @@ static AttributeAccessorFunctions get_grease_pencil_accessor_functions() } const GreasePencil &grease_pencil = *static_cast(owner); switch (domain) { - case ATTR_DOMAIN_GREASE_PENCIL_LAYER: + case ATTR_DOMAIN_LAYER: return int(grease_pencil.layers().size()); default: return 0; } }; fn.domain_supported = [](const void * /*owner*/, const eAttrDomain domain) { - return domain == ATTR_DOMAIN_GREASE_PENCIL_LAYER; + return domain == ATTR_DOMAIN_LAYER; }; fn.adapt_domain = [](const void *owner, const GVArray &varray, diff --git a/source/blender/blenkernel/intern/geometry_fields.cc b/source/blender/blenkernel/intern/geometry_fields.cc index 05f285a4a59..1e59bbc41fa 100644 --- a/source/blender/blenkernel/intern/geometry_fields.cc +++ b/source/blender/blenkernel/intern/geometry_fields.cc @@ -109,7 +109,7 @@ GeometryFieldContext::GeometryFieldContext(const GeometryComponent &component, static_cast(component); geometry_ = grease_pencil_component.get(); /* Need to use another constructor for other domains. */ - BLI_assert(domain == ATTR_DOMAIN_GREASE_PENCIL_LAYER); + BLI_assert(domain == ATTR_DOMAIN_LAYER); break; } case GeometryComponent::Type::Instance: { @@ -165,7 +165,7 @@ std::optional GeometryFieldContext::attributes() const return pointcloud->attributes(); } if (const GreasePencil *grease_pencil = this->grease_pencil()) { - if (domain_ == ATTR_DOMAIN_GREASE_PENCIL_LAYER) { + if (domain_ == ATTR_DOMAIN_LAYER) { return grease_pencil->attributes(); } else if (const greasepencil::Drawing *drawing = @@ -365,7 +365,7 @@ GVArray AttributeFieldInput::get_varray_for_context(const GeometryFieldContext & const eAttrDomain domain = context.domain(); if (const GreasePencil *grease_pencil = context.grease_pencil()) { const AttributeAccessor layer_attributes = grease_pencil->attributes(); - if (domain == ATTR_DOMAIN_GREASE_PENCIL_LAYER) { + if (domain == ATTR_DOMAIN_LAYER) { return *layer_attributes.lookup(name_, data_type); } else if (ELEM(domain, ATTR_DOMAIN_POINT, ATTR_DOMAIN_CURVE)) { @@ -742,7 +742,7 @@ std::optional try_detect_field_domain(const GeometryComponent &comp return ATTR_DOMAIN_POINT; } if (component_type == GeometryComponent::Type::GreasePencil) { - return ATTR_DOMAIN_GREASE_PENCIL_LAYER; + return ATTR_DOMAIN_LAYER; } if (component_type == GeometryComponent::Type::Instance) { return ATTR_DOMAIN_INSTANCE; diff --git a/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc b/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc index 90d8fa7eac3..0ca2d8ac6f8 100644 --- a/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc +++ b/source/blender/editors/space_spreadsheet/spreadsheet_dataset_draw.cc @@ -102,7 +102,7 @@ class GeometryDataSetTreeView : public ui::AbstractTreeView { ICON_OUTLINER_DATA_GREASEPENCIL); grease_pencil.add_tree_item( bke::GeometryComponent::Type::GreasePencil, - ATTR_DOMAIN_GREASE_PENCIL_LAYER, + ATTR_DOMAIN_LAYER, IFACE_("Layer"), ICON_OUTLINER_DATA_GP_LAYER); } diff --git a/source/blender/makesdna/DNA_grease_pencil_types.h b/source/blender/makesdna/DNA_grease_pencil_types.h index 1846495fad6..8223b648ac5 100644 --- a/source/blender/makesdna/DNA_grease_pencil_types.h +++ b/source/blender/makesdna/DNA_grease_pencil_types.h @@ -403,7 +403,7 @@ typedef struct GreasePencil { GreasePencilLayerTreeGroup *root_group_ptr; /** - * All attributes stored on the grease pencil layers (#ATTR_DOMAIN_GREASE_PENCIL_LAYER). + * All attributes stored on the grease pencil layers (#ATTR_DOMAIN_LAYER). */ CustomData layers_data; /** diff --git a/source/blender/makesrna/intern/rna_attribute.cc b/source/blender/makesrna/intern/rna_attribute.cc index 29e288a4cbd..905ca8a0efb 100644 --- a/source/blender/makesrna/intern/rna_attribute.cc +++ b/source/blender/makesrna/intern/rna_attribute.cc @@ -88,11 +88,7 @@ const EnumPropertyItem rna_enum_attribute_domain_items[] = { // {ATTR_DOMAIN_GRIDS, "GRIDS", 0, "Grids", "Attribute on mesh multires grids"}, {ATTR_DOMAIN_CURVE, "CURVE", 0, "Spline", "Attribute on spline"}, {ATTR_DOMAIN_INSTANCE, "INSTANCE", 0, "Instance", "Attribute on instance"}, - {ATTR_DOMAIN_GREASE_PENCIL_LAYER, - "GREASE_PENCIL_LAYER", - 0, - "Grease Pencil Layer", - "Attribute on grease pencil layer"}, + {ATTR_DOMAIN_LAYER, "LAYER", 0, "Layer", "Attribute on Grease Pencil layer"}, {0, nullptr, 0, nullptr, nullptr}, }; @@ -251,9 +247,7 @@ const EnumPropertyItem *rna_enum_attribute_domain_itemf(ID *id, if (!include_instances && domain_item->value == ATTR_DOMAIN_INSTANCE) { continue; } - if (!U.experimental.use_grease_pencil_version3 && - domain_item->value == ATTR_DOMAIN_GREASE_PENCIL_LAYER) - { + if (!U.experimental.use_grease_pencil_version3 && domain_item->value == ATTR_DOMAIN_LAYER) { continue; } diff --git a/source/blender/makesrna/intern/rna_node_tree_interface.cc b/source/blender/makesrna/intern/rna_node_tree_interface.cc index 2faa0864e7b..623515573f9 100644 --- a/source/blender/makesrna/intern/rna_node_tree_interface.cc +++ b/source/blender/makesrna/intern/rna_node_tree_interface.cc @@ -395,8 +395,7 @@ static const EnumPropertyItem *rna_NodeTreeInterfaceSocket_attribute_domain_item for (const EnumPropertyItem *item = rna_enum_attribute_domain_items; item->identifier != nullptr; item++) { - if (!U.experimental.use_grease_pencil_version3 && - item->value == ATTR_DOMAIN_GREASE_PENCIL_LAYER) { + if (!U.experimental.use_grease_pencil_version3 && item->value == ATTR_DOMAIN_LAYER) { continue; } RNA_enum_item_add(&item_array, &items_len, item); diff --git a/source/blender/makesrna/intern/rna_nodetree.cc b/source/blender/makesrna/intern/rna_nodetree.cc index 9e704a260ef..039e447d70a 100644 --- a/source/blender/makesrna/intern/rna_nodetree.cc +++ b/source/blender/makesrna/intern/rna_nodetree.cc @@ -1886,8 +1886,7 @@ static const EnumPropertyItem *rna_GeometryNodeAttributeDomain_attribute_domain_ for (const EnumPropertyItem *item = rna_enum_attribute_domain_items; item->identifier != nullptr; item++) { - if (!U.experimental.use_grease_pencil_version3 && - item->value == ATTR_DOMAIN_GREASE_PENCIL_LAYER) { + if (!U.experimental.use_grease_pencil_version3 && item->value == ATTR_DOMAIN_LAYER) { continue; } RNA_enum_item_add(&item_array, &items_len, item); diff --git a/source/blender/makesrna/intern/rna_space.cc b/source/blender/makesrna/intern/rna_space.cc index 8f2aaca8899..ca84a0f5d12 100644 --- a/source/blender/makesrna/intern/rna_space.cc +++ b/source/blender/makesrna/intern/rna_space.cc @@ -3322,8 +3322,7 @@ const EnumPropertyItem *rna_SpaceSpreadsheet_attribute_domain_itemf(bContext * / continue; } } - if (!U.experimental.use_grease_pencil_version3 && - item->value == ATTR_DOMAIN_GREASE_PENCIL_LAYER) { + if (!U.experimental.use_grease_pencil_version3 && item->value == ATTR_DOMAIN_LAYER) { continue; } if (item->value == ATTR_DOMAIN_POINT && diff --git a/source/blender/nodes/geometry/node_geometry_util.cc b/source/blender/nodes/geometry/node_geometry_util.cc index 6020c94a1d7..5ea2aad33ce 100644 --- a/source/blender/nodes/geometry/node_geometry_util.cc +++ b/source/blender/nodes/geometry/node_geometry_util.cc @@ -99,12 +99,11 @@ const EnumPropertyItem *domain_experimental_grease_pencil_version3_fn(bContext * bool *r_free) { *r_free = true; - return enum_items_filter(rna_enum_attribute_domain_items, - [](const EnumPropertyItem &item) -> bool { - return (item.value == ATTR_DOMAIN_GREASE_PENCIL_LAYER) ? - U.experimental.use_grease_pencil_version3 : - true; - }); + return enum_items_filter( + rna_enum_attribute_domain_items, [](const EnumPropertyItem &item) -> bool { + return (item.value == ATTR_DOMAIN_LAYER) ? U.experimental.use_grease_pencil_version3 : + true; + }); } } // namespace enums diff --git a/source/blender/nodes/geometry/nodes/node_geo_evaluate_on_domain.cc b/source/blender/nodes/geometry/nodes/node_geo_evaluate_on_domain.cc index a1b12d6a981..5e079cfba98 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_evaluate_on_domain.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_evaluate_on_domain.cc @@ -117,13 +117,11 @@ class EvaluateOnDomainInput final : public bke::GeometryFieldInput { const CPPType &cpp_type = src_field_.cpp_type(); if (context.type() == GeometryComponent::Type::GreasePencil && - (src_domain_ == ATTR_DOMAIN_GREASE_PENCIL_LAYER) != - (dst_domain == ATTR_DOMAIN_GREASE_PENCIL_LAYER)) + (src_domain_ == ATTR_DOMAIN_LAYER) != (dst_domain == ATTR_DOMAIN_LAYER)) { /* Evaluate field just for the current layer. */ - if (src_domain_ == ATTR_DOMAIN_GREASE_PENCIL_LAYER) { - const bke::GeometryFieldContext src_domain_context{context, - ATTR_DOMAIN_GREASE_PENCIL_LAYER}; + if (src_domain_ == ATTR_DOMAIN_LAYER) { + const bke::GeometryFieldContext src_domain_context{context, ATTR_DOMAIN_LAYER}; const int layer_index = context.grease_pencil_layer_index(); const IndexMask single_layer_mask = IndexRange(layer_index, 1); diff --git a/source/blender/nodes/intern/geometry_nodes_log.cc b/source/blender/nodes/intern/geometry_nodes_log.cc index 22431405b48..6b63d9958a0 100644 --- a/source/blender/nodes/intern/geometry_nodes_log.cc +++ b/source/blender/nodes/intern/geometry_nodes_log.cc @@ -132,8 +132,7 @@ GeometryInfoLog::GeometryInfoLog(const bke::GeometrySet &geometry_set) const auto &grease_pencil_component = *static_cast( component); GreasePencilInfo &info = this->grease_pencil_info.emplace(); - info.layers_num = grease_pencil_component.attribute_domain_size( - ATTR_DOMAIN_GREASE_PENCIL_LAYER); + info.layers_num = grease_pencil_component.attribute_domain_size(ATTR_DOMAIN_LAYER); break; } }