[Bf-blender-cvs] [6b8321ea99d] refactor-mesh-uv-map-generic: Do not inline get_uv_map_*_name()

Martijn Versteegh noreply at git.blender.org
Tue Dec 6 12:56:37 CET 2022


Commit: 6b8321ea99dcdab294695667b2494fe9a55cfd12
Author: Martijn Versteegh
Date:   Tue Nov 29 23:05:26 2022 +0100
Branches: refactor-mesh-uv-map-generic
https://developer.blender.org/rB6b8321ea99dcdab294695667b2494fe9a55cfd12

Do not inline get_uv_map_*_name()

Rename get_uv_map_*_name() to BKE_get_uv_map_*_name() and moved them
to the .cc file. Don't inline them.

===================================================================

M	source/blender/blenkernel/BKE_attribute.h
M	source/blender/blenkernel/intern/attribute.cc
M	source/blender/blenkernel/intern/mesh_legacy_convert.cc
M	source/blender/bmesh/intern/bmesh_interp.c
M	source/blender/bmesh/intern/bmesh_mesh_convert.cc
M	source/blender/bmesh/intern/bmesh_query_uv.cc
M	source/blender/editors/mesh/mesh_data.cc

===================================================================

diff --git a/source/blender/blenkernel/BKE_attribute.h b/source/blender/blenkernel/BKE_attribute.h
index 236cc44a77f..18a8d473f0e 100644
--- a/source/blender/blenkernel/BKE_attribute.h
+++ b/source/blender/blenkernel/BKE_attribute.h
@@ -141,41 +141,9 @@ struct CustomDataLayer *BKE_id_attributes_color_find(const struct ID *id, const
 
 bool BKE_id_attribute_calc_unique_name(struct ID *id, const char *name, char *outname);
 
-inline char const *get_uv_map_vert_selection_name(char const *uv_map_name, char *buffer)
-{
-  size_t len = strlen(uv_map_name);
-
-  BLI_assert(strlen(UV_VERTSEL_NAME) == 2);
-  if (len >= MAX_CUSTOMDATA_LAYER_NAME - 5) {
-    /* TODO(martijn) come up with a way to generate a non-colliding shortening... */
-  }
-  BLI_snprintf(buffer, MAX_CUSTOMDATA_LAYER_NAME, ".%s.%s", UV_VERTSEL_NAME, uv_map_name);
-  return buffer;
-}
-
-inline char const *get_uv_map_edge_selection_name(char const *uv_map_name, char *buffer)
-{
-  size_t len = strlen(uv_map_name);
-
-  BLI_assert(strlen(UV_VERTSEL_NAME) == 2);
-  if (len >= MAX_CUSTOMDATA_LAYER_NAME - 5) {
-    /* TODO(martijn) come up with a way to generate a non-colliding shortening... */
-  }
-  BLI_snprintf(buffer, MAX_CUSTOMDATA_LAYER_NAME, ".%s.%s", UV_EDGESEL_NAME, uv_map_name);
-  return buffer;
-}
-
-inline char const *get_uv_map_pin_name(char const *uv_map_name, char *buffer)
-{
-  size_t len = strlen(uv_map_name);
-
-  BLI_assert(strlen(UV_VERTSEL_NAME) == 2);
-  if (len >= MAX_CUSTOMDATA_LAYER_NAME - 5) {
-    /* TODO(martijn) come up with a way to generate a non-colliding shortening... */
-  }
-  BLI_snprintf(buffer, MAX_CUSTOMDATA_LAYER_NAME, ".%s.%s", UV_PINNED_NAME, uv_map_name);
-  return buffer;
-}
+char const *BKE_get_uv_map_vert_selection_name(char const *uv_map_name, char *buffer);
+char const *BKE_get_uv_map_edge_selection_name(char const *uv_map_name, char *buffer);
+char const *BKE_get_uv_map_pin_name(char const *uv_map_name, char *buffer);
 
 #ifdef __cplusplus
 }
diff --git a/source/blender/blenkernel/intern/attribute.cc b/source/blender/blenkernel/intern/attribute.cc
index d9f8baeda1a..9be3d627b76 100644
--- a/source/blender/blenkernel/intern/attribute.cc
+++ b/source/blender/blenkernel/intern/attribute.cc
@@ -173,16 +173,16 @@ bool BKE_id_attribute_rename(ID *id,
     char buffer_src[MAX_CUSTOMDATA_LAYER_NAME];
     char buffer_dst[MAX_CUSTOMDATA_LAYER_NAME];
     BKE_id_attribute_rename(id,
-                            get_uv_map_vert_selection_name(layer->name, buffer_src),
-                            get_uv_map_vert_selection_name(result_name, buffer_dst),
+                            BKE_get_uv_map_vert_selection_name(layer->name, buffer_src),
+                            BKE_get_uv_map_vert_selection_name(result_name, buffer_dst),
                             reports);
     BKE_id_attribute_rename(id,
-                            get_uv_map_edge_selection_name(layer->name, buffer_src),
-                            get_uv_map_edge_selection_name(result_name, buffer_dst),
+                            BKE_get_uv_map_edge_selection_name(layer->name, buffer_src),
+                            BKE_get_uv_map_edge_selection_name(result_name, buffer_dst),
                             reports);
     BKE_id_attribute_rename(id,
-                            get_uv_map_pin_name(layer->name, buffer_src),
-                            get_uv_map_pin_name(result_name, buffer_dst),
+                            BKE_get_uv_map_pin_name(layer->name, buffer_src),
+                            BKE_get_uv_map_pin_name(result_name, buffer_dst),
                             reports);
   }
 
@@ -814,3 +814,28 @@ void BKE_id_attribute_copy_domains_temp(short id_type,
 
   *((short *)r_id->name) = id_type;
 }
+
+char const *BKE_get_uv_map_vert_selection_name(char const *uv_map_name, char *buffer)
+{
+  BLI_assert(strlen(UV_VERTSEL_NAME) == 2);
+  BLI_assert(strlen(uv_map_name) < MAX_CUSTOMDATA_LAYER_NAME - 5);
+  BLI_snprintf(buffer, MAX_CUSTOMDATA_LAYER_NAME, ".%s.%s", UV_VERTSEL_NAME, uv_map_name);
+  return buffer;
+}
+
+char const *BKE_get_uv_map_edge_selection_name(char const *uv_map_name, char *buffer)
+{
+  BLI_assert(strlen(UV_VERTSEL_NAME) == 2);
+  BLI_assert(strlen(uv_map_name) < MAX_CUSTOMDATA_LAYER_NAME - 5);
+  BLI_snprintf(buffer, MAX_CUSTOMDATA_LAYER_NAME, ".%s.%s", UV_EDGESEL_NAME, uv_map_name);
+  return buffer;
+}
+
+char const *BKE_get_uv_map_pin_name(char const *uv_map_name, char *buffer)
+{
+  BLI_assert(strlen(UV_VERTSEL_NAME) == 2);
+  BLI_assert(strlen(uv_map_name) < MAX_CUSTOMDATA_LAYER_NAME - 5);
+  BLI_snprintf(buffer, MAX_CUSTOMDATA_LAYER_NAME, ".%s.%s", UV_PINNED_NAME, uv_map_name);
+  return buffer;
+}
+
diff --git a/source/blender/blenkernel/intern/mesh_legacy_convert.cc b/source/blender/blenkernel/intern/mesh_legacy_convert.cc
index 438ce63d883..691705c4d0a 100644
--- a/source/blender/blenkernel/intern/mesh_legacy_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_legacy_convert.cc
@@ -1477,9 +1477,9 @@ void BKE_mesh_legacy_convert_uvs_to_struct(
   char edge_name[MAX_CUSTOMDATA_LAYER_NAME];
   char pin_name[MAX_CUSTOMDATA_LAYER_NAME];
   for (const CustomDataLayer &layer : face_corner_layers_to_write) {
-    uv_sublayers_to_skip.add_multiple_new({get_uv_map_vert_selection_name(layer.name, vert_name),
-                                           get_uv_map_edge_selection_name(layer.name, edge_name),
-                                           get_uv_map_pin_name(layer.name, pin_name)});
+    uv_sublayers_to_skip.add_multiple_new({BKE_get_uv_map_vert_selection_name(layer.name, vert_name),
+                                           BKE_get_uv_map_edge_selection_name(layer.name, edge_name),
+                                           BKE_get_uv_map_pin_name(layer.name, pin_name)});
   }
 
   for (const CustomDataLayer &layer : face_corner_layers_to_write) {
@@ -1499,11 +1499,11 @@ void BKE_mesh_legacy_convert_uvs_to_struct(
 
     char buffer[MAX_CUSTOMDATA_LAYER_NAME];
     const VArray<bool> vert_selection = attributes.lookup_or_default<bool>(
-        get_uv_map_vert_selection_name(layer.name, buffer), ATTR_DOMAIN_CORNER, false);
+        BKE_get_uv_map_vert_selection_name(layer.name, buffer), ATTR_DOMAIN_CORNER, false);
     const VArray<bool> edge_selection = attributes.lookup_or_default<bool>(
-        get_uv_map_edge_selection_name(layer.name, buffer), ATTR_DOMAIN_CORNER, false);
+        BKE_get_uv_map_edge_selection_name(layer.name, buffer), ATTR_DOMAIN_CORNER, false);
     const VArray<bool> pin = attributes.lookup_or_default<bool>(
-        get_uv_map_pin_name(layer.name, buffer), ATTR_DOMAIN_CORNER, false);
+        BKE_get_uv_map_pin_name(layer.name, buffer), ATTR_DOMAIN_CORNER, false);
 
     threading::parallel_for(mloopuv.index_range(), 2048, [&](IndexRange range) {
       for (const int i : range) {
@@ -1601,7 +1601,7 @@ void BKE_mesh_legacy_convert_uvs_to_generic(Mesh *mesh)
                                  CD_ASSIGN,
                                  vert_selection,
                                  mesh->totloop,
-                                 get_uv_map_vert_selection_name(name.c_str(), buffer));
+                                 BKE_get_uv_map_vert_selection_name(name.c_str(), buffer));
     }
     if (edge_selection) {
       CustomData_add_layer_named(&mesh->ldata,
@@ -1609,7 +1609,7 @@ void BKE_mesh_legacy_convert_uvs_to_generic(Mesh *mesh)
                                  CD_ASSIGN,
                                  edge_selection,
                                  mesh->totloop,
-                                 get_uv_map_edge_selection_name(name.c_str(), buffer));
+                                 BKE_get_uv_map_edge_selection_name(name.c_str(), buffer));
     }
     if (pin) {
       CustomData_add_layer_named(&mesh->ldata,
@@ -1617,7 +1617,7 @@ void BKE_mesh_legacy_convert_uvs_to_generic(Mesh *mesh)
                                  CD_ASSIGN,
                                  pin,
                                  mesh->totloop,
-                                 get_uv_map_pin_name(name.c_str(), buffer));
+                                 BKE_get_uv_map_pin_name(name.c_str(), buffer));
     }
   }
 
diff --git a/source/blender/bmesh/intern/bmesh_interp.c b/source/blender/bmesh/intern/bmesh_interp.c
index ab7978d7d70..29e754fc683 100644
--- a/source/blender/bmesh/intern/bmesh_interp.c
+++ b/source/blender/bmesh/intern/bmesh_interp.c
@@ -877,30 +877,30 @@ void BM_uv_map_ensure_selection_pin_attributes(BMesh *bm, const char *uv_map_nam
 {
   char name[MAX_CUSTOMDATA_LAYER_NAME];
   BM_data_layer_ensure_named(
-      bm, &bm->ldata, CD_PROP_BOOL, get_uv_map_vert_selection_name(uv_map_name, name));
+      bm, &bm->ldata, CD_PROP_BOOL, BKE_get_uv_map_vert_selection_name(uv_map_name, name));
   BM_data_layer_ensure_named(
-      bm, &bm->ldata, CD_PROP_BOOL, get_uv_map_edge_selection_name(uv_map_name, name));
-  BM_data_layer_ensure_named(bm, &bm->ldata, CD_PROP_BOOL, get_uv_map_pin_name(uv_map_name, name));
+      bm, &bm->ldata, CD_PROP_BOOL, BKE_get_uv_map_edge_selection_name(uv_map_name, name));
+  BM_data_layer_ensure_named(bm, &bm->ldata, CD_PROP_BOOL, BKE_get_uv_map_pin_name(uv_map_name, name));
 }
 
 void BM_uv_map_ensure_vert_selection_attribute(BMesh *bm, const char *uv_map_name)
 {
   char name[MAX_CUSTOMDATA_LAYER_NAME];
   BM_data_layer_ensure_named(
-      bm, &bm->ldata, CD_PROP_BOOL, get_uv_map_vert_selection_name(uv_map_name, name));
+      bm, &bm->ldata, CD_PROP_BOOL, BKE_get_uv_map_vert_selection_name(uv_map_name, name));
 }
 
 void BM_uv_map_ensure_edge_selection_attribute(BMesh *bm, const char *uv_map_name)
 {
   char name[MAX_CUSTOMDATA_LAYER_NAME];
   BM_data_layer_ensure_named(
-      bm, &bm->ldata, CD_PROP_BOOL, get_uv_map_edge_selection_name(uv_map_name, name));
+      bm, &bm->ldata, CD_PROP_BOOL, BKE_get_uv_map_edge_selection_name(uv_map_name, name));
 }
 
 void BM_uv_map_ensure_pin_attribute(BMesh *bm, const char *uv_map_name)
 {
   char name[MAX_CUSTOMDATA_LAYER_NAME];
-  BM_data_layer_ensure_named(bm, &bm->ldata, CD_PROP_BOOL, get_uv_map_pin_name(uv_map_name, name));
+  BM_data_layer_ensure_named(bm, &bm->ldata, CD_PROP_BOOL, BKE_get_uv_map_pin_name(uv_map_name, name));
 }
 
 void BM_dat

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list