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. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs