[Bf-blender-cvs] [22f2bf804c9] refactor-mesh-corners-generic: Cleanup: Use C++ accessor functions in C++ code
Hans Goudey
noreply at git.blender.org
Thu Jan 19 23:30:36 CET 2023
Commit: 22f2bf804c95809637ee8c0cdbfe28c4edf438df
Author: Hans Goudey
Date: Thu Jan 19 16:30:28 2023 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB22f2bf804c95809637ee8c0cdbfe28c4edf438df
Cleanup: Use C++ accessor functions in C++ code
===================================================================
M source/blender/blenkernel/intern/key.cc
M source/blender/blenkernel/intern/mesh_merge_customdata.cc
M source/blender/blenkernel/intern/mesh_mirror.cc
M source/blender/blenkernel/intern/mesh_remap.cc
M source/blender/draw/intern/draw_cache_extract_mesh_render_data.cc
M source/blender/modifiers/intern/MOD_array.cc
M source/blender/modifiers/intern/MOD_build.cc
M source/blender/modifiers/intern/MOD_correctivesmooth.cc
M source/blender/modifiers/intern/MOD_displace.cc
M source/blender/modifiers/intern/MOD_laplaciansmooth.cc
M source/blender/modifiers/intern/MOD_normal_edit.cc
M source/blender/modifiers/intern/MOD_ocean.cc
M source/blender/modifiers/intern/MOD_particleinstance.cc
M source/blender/modifiers/intern/MOD_remesh.cc
M source/blender/modifiers/intern/MOD_screw.cc
M source/blender/modifiers/intern/MOD_solidify_extrude.cc
M source/blender/modifiers/intern/MOD_solidify_nonmanifold.cc
M source/blender/render/intern/bake.cc
M source/blender/render/intern/multires_bake.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/key.cc b/source/blender/blenkernel/intern/key.cc
index 70707ed4a40..3df39dacfc9 100644
--- a/source/blender/blenkernel/intern/key.cc
+++ b/source/blender/blenkernel/intern/key.cc
@@ -2235,8 +2235,8 @@ void BKE_keyblock_mesh_calc_normals(const KeyBlock *kb,
BKE_keyblock_convert_to_mesh(kb, positions, mesh->totvert);
const MEdge *edges = BKE_mesh_edges(mesh);
const MPoly *polys = BKE_mesh_polys(mesh);
- const int *corner_verts = BKE_mesh_corner_verts(mesh);
- const int *corner_edges = BKE_mesh_corner_edges(mesh);
+ const blender::Span<int> corner_verts = mesh->corner_verts();
+ const blender::Span<int> corner_edges = mesh->corner_edges();
const bool loop_normals_needed = r_loop_normals != nullptr;
const bool vert_normals_needed = r_vert_normals != nullptr || loop_normals_needed;
@@ -2259,13 +2259,18 @@ void BKE_keyblock_mesh_calc_normals(const KeyBlock *kb,
}
if (poly_normals_needed) {
- BKE_mesh_calc_normals_poly(
- positions, mesh->totvert, corner_verts, mesh->totloop, polys, mesh->totpoly, poly_normals);
+ BKE_mesh_calc_normals_poly(positions,
+ mesh->totvert,
+ corner_verts.data(),
+ mesh->totloop,
+ polys,
+ mesh->totpoly,
+ poly_normals);
}
if (vert_normals_needed) {
BKE_mesh_calc_normals_poly_and_vertex(positions,
mesh->totvert,
- corner_verts,
+ corner_verts.data(),
mesh->totloop,
polys,
mesh->totpoly,
@@ -2282,8 +2287,8 @@ void BKE_keyblock_mesh_calc_normals(const KeyBlock *kb,
mesh->totvert,
edges,
mesh->totedge,
- corner_verts,
- corner_edges,
+ corner_verts.data(),
+ corner_edges.data(),
r_loop_normals,
mesh->totloop,
polys,
diff --git a/source/blender/blenkernel/intern/mesh_merge_customdata.cc b/source/blender/blenkernel/intern/mesh_merge_customdata.cc
index c9358a127b4..f0f4fb67cf9 100644
--- a/source/blender/blenkernel/intern/mesh_merge_customdata.cc
+++ b/source/blender/blenkernel/intern/mesh_merge_customdata.cc
@@ -117,7 +117,7 @@ void BKE_mesh_merge_customdata_for_apply_modifier(Mesh *me)
BKE_mesh_vert_loop_map_create(&vert_to_loop,
&vert_map_mem,
BKE_mesh_polys(me),
- BKE_mesh_corner_verts(me),
+ me->corner_verts().data(),
me->totvert,
me->totpoly,
me->totloop);
diff --git a/source/blender/blenkernel/intern/mesh_mirror.cc b/source/blender/blenkernel/intern/mesh_mirror.cc
index 273605dd63c..5bfcf86534f 100644
--- a/source/blender/blenkernel/intern/mesh_mirror.cc
+++ b/source/blender/blenkernel/intern/mesh_mirror.cc
@@ -212,12 +212,8 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
memcpy(BKE_mesh_edges_for_write(result), BKE_mesh_edges(mesh), sizeof(MEdge) * mesh->totedge);
}
if (!CustomData_has_layer(&mesh->pdata, CD_MPOLY)) {
- memcpy(BKE_mesh_corner_verts_for_write(result),
- BKE_mesh_corner_verts(mesh),
- sizeof(int) * mesh->totloop);
- memcpy(BKE_mesh_corner_edges_for_write(result),
- BKE_mesh_corner_edges(mesh),
- sizeof(int) * mesh->totloop);
+ result->corner_verts_for_write().copy_from(mesh->corner_verts());
+ result->corner_edges_for_write().copy_from(mesh->corner_edges());
memcpy(BKE_mesh_polys_for_write(result), BKE_mesh_polys(mesh), sizeof(MPoly) * mesh->totpoly);
}
@@ -317,7 +313,7 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
/* adjust mirrored poly loopstart indices, and reverse loop order (normals) */
mp = BKE_mesh_polys_for_write(result) + maxPolys;
- int *corner_edges = BKE_mesh_corner_edges_for_write(result);
+ blender::MutableSpan<int> corner_edges = result->corner_edges_for_write();
for (i = 0; i < maxPolys; i++, mp++) {
int j, e;
@@ -334,7 +330,7 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
1);
}
- int *corner_edge_2 = corner_edges + mp->loopstart + maxLoops;
+ int *corner_edge_2 = &corner_edges[mp->loopstart + maxLoops];
e = corner_edge_2[0];
for (j = 0; j < mp->totloop - 1; j++) {
corner_edge_2[j] = corner_edge_2[j + 1];
@@ -345,7 +341,7 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
}
/* adjust mirrored loop vertex and edge indices */
- int *corner_verts = BKE_mesh_corner_verts_for_write(result);
+ blender::MutableSpan<int> corner_verts = result->corner_verts_for_write();
for (i = 0; i < maxLoops; i++) {
corner_verts[maxLoops + i] += maxVerts;
corner_edges[maxLoops + i] += maxEdges;
@@ -419,8 +415,8 @@ Mesh *BKE_mesh_mirror_apply_mirror_on_axis_for_modifier(MirrorModifierData *mmd,
result->totvert,
BKE_mesh_edges(result),
result->totedge,
- BKE_mesh_corner_verts(result),
- BKE_mesh_corner_edges(result),
+ result->corner_verts().data(),
+ result->corner_edges().data(),
loop_normals,
totloop,
BKE_mesh_polys(result),
diff --git a/source/blender/blenkernel/intern/mesh_remap.cc b/source/blender/blenkernel/intern/mesh_remap.cc
index d5e9257a0d3..08e9362f0da 100644
--- a/source/blender/blenkernel/intern/mesh_remap.cc
+++ b/source/blender/blenkernel/intern/mesh_remap.cc
@@ -568,7 +568,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
MREMAP_MODE_VERT_POLYINTERP_NEAREST,
MREMAP_MODE_VERT_POLYINTERP_VNORPROJ)) {
const MPoly *polys_src = BKE_mesh_polys(me_src);
- const int *corner_verts_src = BKE_mesh_corner_verts(me_src);
+ const blender::Span<int> corner_verts_src = me_src->corner_verts();
float(*vcos_src)[3] = BKE_mesh_vert_coords_alloc(me_src, nullptr);
const float(*vert_normals_dst)[3] = BKE_mesh_vertex_normals_ensure(me_dst);
@@ -597,7 +597,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
const MLoopTri *lt = &treedata.looptri[rayhit.index];
const MPoly *mp_src = &polys_src[lt->poly];
const int sources_num = mesh_remap_interp_poly_data_get(mp_src,
- corner_verts_src,
+ corner_verts_src.data(),
(const float(*)[3])vcos_src,
rayhit.co,
&tmp_buff_size,
@@ -635,7 +635,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
if (mode == MREMAP_MODE_VERT_POLY_NEAREST) {
int index;
mesh_remap_interp_poly_data_get(mp,
- corner_verts_src,
+ corner_verts_src.data(),
(const float(*)[3])vcos_src,
nearest.co,
&tmp_buff_size,
@@ -650,7 +650,7 @@ void BKE_mesh_remap_calc_verts_from_mesh(const int mode,
}
else if (mode == MREMAP_MODE_VERT_POLYINTERP_NEAREST) {
const int sources_num = mesh_remap_interp_poly_data_get(mp,
- corner_verts_src,
+ corner_verts_src.data(),
(const float(*)[3])vcos_src,
nearest.co,
&tmp_buff_size,
@@ -875,7 +875,7 @@ void BKE_mesh_remap_calc_edges_from_mesh(const int mode,
else if (mode == MREMAP_MODE_EDGE_POLY_NEAREST) {
const MEdge *edges_src = BKE_mesh_edges(me_src);
const MPoly *polys_src = BKE_mesh_polys(me_src);
- const int *corner_edges_src = BKE_mesh_corner_edges(me_src);
+ const blender::Span<int> corner_edges_src = me_src->corner_edges();
float(*vcos_src)[3] = BKE_mesh_vert_coords_alloc(me_src, nullptr);
BKE_bvhtree_from_mesh_get(&treedata, me_src, BVHTREE_FROM_LOOPTRI, 2);
@@ -1315,8 +1315,8 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
float(*vcos_src)[3] = nullptr;
const MEdge *edges_src = BKE_mesh_edges(me_src);
const int num_edges_src = me_src->totedge;
- const int *corner_verts_src = BKE_mesh_corner_verts(me_src);
- const int *corner_edges_src = BKE_mesh_corner_edges(me_src);
+ const blender::Span<int> corner_verts_src = me_src->corner_verts();
+ const blender::Span<int> corner_edges_src = me_src->corner_edges();
const int num_loops_src = me_src->totloop;
const MPoly *polys_src = BKE_mesh_polys(me_src);
const int num_polys_src = me_src->totpoly;
@@ -1408,7 +1408,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
BKE_mesh_vert_loop_map_create(&vert_t
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list