[Bf-blender-cvs] [fc73e757793] refactor-mesh-corners-generic: Cleanup: Use C++ accessor functions
Hans Goudey
noreply at git.blender.org
Fri Jan 20 20:01:32 CET 2023
Commit: fc73e7577931b8879c2166ecce0fdebe5fb20829
Author: Hans Goudey
Date: Fri Jan 20 13:01:00 2023 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rBfc73e7577931b8879c2166ecce0fdebe5fb20829
Cleanup: Use C++ accessor functions
===================================================================
M source/blender/blenkernel/intern/multires_reshape_subdivide.cc
M source/blender/blenkernel/intern/multires_reshape_util.cc
M source/blender/blenkernel/intern/multires_unsubdivide.cc
M source/blender/blenkernel/intern/subdiv_converter_mesh.cc
M source/blender/blenkernel/intern/subdiv_eval.cc
M source/blender/blenkernel/intern/subdiv_foreach.cc
M source/blender/editors/sculpt_paint/paint_mask.cc
M source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
M source/blender/editors/sculpt_paint/sculpt_expand.cc
M source/blender/editors/sculpt_paint/sculpt_geodesic.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/multires_reshape_subdivide.cc b/source/blender/blenkernel/intern/multires_reshape_subdivide.cc
index d502466e4d1..8ea6feedff6 100644
--- a/source/blender/blenkernel/intern/multires_reshape_subdivide.cc
+++ b/source/blender/blenkernel/intern/multires_reshape_subdivide.cc
@@ -30,7 +30,7 @@ static void multires_subdivide_create_object_space_linear_grids(Mesh *mesh)
{
const float(*positions)[3] = BKE_mesh_vert_positions(mesh);
const MPoly *polys = BKE_mesh_polys(mesh);
- const int *corner_verts = BKE_mesh_corner_verts(mesh);
+ const blender::Span<int> corner_verts = mesh->corner_verts();
MDisps *mdisps = static_cast<MDisps *>(
CustomData_get_layer_for_write(&mesh->ldata, CD_MDISPS, mesh->totloop));
diff --git a/source/blender/blenkernel/intern/multires_reshape_util.cc b/source/blender/blenkernel/intern/multires_reshape_util.cc
index 460446f52bf..0578d50db51 100644
--- a/source/blender/blenkernel/intern/multires_reshape_util.cc
+++ b/source/blender/blenkernel/intern/multires_reshape_util.cc
@@ -158,8 +158,8 @@ bool multires_reshape_context_create_from_base_mesh(MultiresReshapeContext *resh
reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
reshape_context->base_edges = BKE_mesh_edges(base_mesh);
reshape_context->base_polys = BKE_mesh_polys(base_mesh);
- reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
- reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+ reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+ reshape_context->base_corner_edges = base_mesh->corner_edges().data();
reshape_context->subdiv = multires_reshape_create_subdiv(nullptr, object, mmd);
reshape_context->need_free_subdiv = true;
@@ -196,8 +196,8 @@ bool multires_reshape_context_create_from_object(MultiresReshapeContext *reshape
reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
reshape_context->base_edges = BKE_mesh_edges(base_mesh);
reshape_context->base_polys = BKE_mesh_polys(base_mesh);
- reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
- reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+ reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+ reshape_context->base_corner_edges = base_mesh->corner_edges().data();
reshape_context->subdiv = multires_reshape_create_subdiv(depsgraph, object, mmd);
reshape_context->need_free_subdiv = true;
@@ -231,8 +231,8 @@ bool multires_reshape_context_create_from_ccg(MultiresReshapeContext *reshape_co
reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
reshape_context->base_edges = BKE_mesh_edges(base_mesh);
reshape_context->base_polys = BKE_mesh_polys(base_mesh);
- reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
- reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+ reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+ reshape_context->base_corner_edges = base_mesh->corner_edges().data();
reshape_context->subdiv = subdiv_ccg->subdiv;
reshape_context->need_free_subdiv = false;
@@ -279,8 +279,8 @@ bool multires_reshape_context_create_from_subdiv(MultiresReshapeContext *reshape
reshape_context->base_positions = BKE_mesh_vert_positions(base_mesh);
reshape_context->base_edges = BKE_mesh_edges(base_mesh);
reshape_context->base_polys = BKE_mesh_polys(base_mesh);
- reshape_context->base_corner_verts = BKE_mesh_corner_verts(base_mesh);
- reshape_context->base_corner_edges = BKE_mesh_corner_edges(base_mesh);
+ reshape_context->base_corner_verts = base_mesh->corner_verts().data();
+ reshape_context->base_corner_edges = base_mesh->corner_edges().data();
reshape_context->cd_vertex_crease = (const float *)CustomData_get_layer(&base_mesh->edata,
CD_CREASE);
diff --git a/source/blender/blenkernel/intern/multires_unsubdivide.cc b/source/blender/blenkernel/intern/multires_unsubdivide.cc
index c1925220882..09309fa9942 100644
--- a/source/blender/blenkernel/intern/multires_unsubdivide.cc
+++ b/source/blender/blenkernel/intern/multires_unsubdivide.cc
@@ -643,7 +643,7 @@ static void store_grid_data(MultiresUnsubdivideContext *context,
{
Mesh *original_mesh = context->original_mesh;
const MPoly *polys = BKE_mesh_polys(original_mesh);
- const int *corner_verts = BKE_mesh_corner_verts(original_mesh);
+ const blender::Span<int> corner_verts = original_mesh->corner_verts();
const MPoly *poly = &polys[BM_elem_index_get(f)];
const int corner_vertex_index = BM_elem_index_get(v);
@@ -1041,7 +1041,7 @@ static void multires_unsubdivide_extract_grids(MultiresUnsubdivideContext *conte
&bm_base_mesh->ldata, CD_PROP_INT32, base_l_layer_index);
const MPoly *polys = BKE_mesh_polys(base_mesh);
- const int *corner_verts = BKE_mesh_corner_verts(base_mesh);
+ const blender::Span<int> corner_verts = base_mesh->corner_verts();
/* Main loop for extracting the grids. Iterates over the base mesh vertices. */
BM_ITER_MESH (v, &iter, bm_base_mesh, BM_VERTS_OF_MESH) {
@@ -1079,8 +1079,11 @@ static void multires_unsubdivide_extract_grids(MultiresUnsubdivideContext *conte
/* Check the orientation of the loops in case that is needed to flip the x and y axis
* when extracting the grid. */
- const bool flip_grid = multires_unsubdivide_flip_grid_x_axis(
- polys, corner_verts, base_mesh_face_index, base_mesh_loop_index, corner_x_index);
+ const bool flip_grid = multires_unsubdivide_flip_grid_x_axis(polys,
+ corner_verts.data(),
+ base_mesh_face_index,
+ base_mesh_loop_index,
+ corner_x_index);
/* Extract the grid for that loop. */
context->base_mesh_grids[base_mesh_loop_index].grid_index = base_mesh_loop_index;
diff --git a/source/blender/blenkernel/intern/subdiv_converter_mesh.cc b/source/blender/blenkernel/intern/subdiv_converter_mesh.cc
index 6da760b1c17..f46e88c034a 100644
--- a/source/blender/blenkernel/intern/subdiv_converter_mesh.cc
+++ b/source/blender/blenkernel/intern/subdiv_converter_mesh.cc
@@ -402,8 +402,8 @@ static void init_user_data(OpenSubdiv_Converter *converter,
user_data->vert_positions = BKE_mesh_vert_positions(mesh);
user_data->edges = BKE_mesh_edges(mesh);
user_data->polys = BKE_mesh_polys(mesh);
- user_data->corner_verts = BKE_mesh_corner_verts(mesh);
- user_data->corner_edges = BKE_mesh_corner_edges(mesh);
+ user_data->corner_verts = mesh->corner_verts().data();
+ user_data->corner_edges = mesh->corner_edges().data();
user_data->cd_vertex_crease = static_cast<const float *>(
CustomData_get_layer(&mesh->vdata, CD_CREASE));
user_data->cd_edge_crease = static_cast<const float *>(
diff --git a/source/blender/blenkernel/intern/subdiv_eval.cc b/source/blender/blenkernel/intern/subdiv_eval.cc
index 0bf3e91f13f..23975a938fa 100644
--- a/source/blender/blenkernel/intern/subdiv_eval.cc
+++ b/source/blender/blenkernel/intern/subdiv_eval.cc
@@ -83,7 +83,7 @@ static void set_coarse_positions(Subdiv *subdiv,
{
const float(*positions)[3] = BKE_mesh_vert_positions(mesh);
const MPoly *mpoly = BKE_mesh_polys(mesh);
- const int *corner_verts = BKE_mesh_corner_verts(mesh);
+ const blender::Span<int> corner_verts = mesh->corner_verts();
/* Mark vertices which needs new coordinates. */
/* TODO(sergey): This is annoying to calculate this on every update,
* maybe it's better to cache this mapping. Or make it possible to have
diff --git a/source/blender/blenkernel/intern/subdiv_foreach.cc b/source/blender/blenkernel/intern/subdiv_foreach.cc
index 5af1750be72..9ec2128987c 100644
--- a/source/blender/blenkernel/intern/subdiv_foreach.cc
+++ b/source/blender/blenkernel/intern/subdiv_foreach.cc
@@ -1820,8 +1820,8 @@ bool BKE_subdiv_foreach_subdiv_geometry(Subdiv *subdiv,
ctx.coarse_mesh = coarse_mesh;
ctx.coarse_edges = BKE_mesh_edges(coarse_mesh);
ctx.coarse_polys = BKE_mesh_polys(coarse_mesh);
- ctx.coarse_corner_verts = BKE_mesh_corner_verts(coarse_mesh);
- ctx.coarse_corner_edges = BKE_mesh_corner_edges(coarse_mesh);
+ ctx.coarse_corner_verts = coarse_mesh->corner_verts().data();
+ ctx.coarse_corner_edges = coarse_mesh->corner_edges().data();
ctx.settings = mesh_settings;
ctx.foreach_context = context;
subdiv_foreach_ctx_init(subdiv, &ctx);
diff --git a/source/blender/editors/sculpt_paint/paint_mask.cc b/source/blender/editors/sculpt_paint/paint_mask.cc
index b19c498e0ed..a061a3135e7 100644
--- a/source/blender/editors/sculpt_paint/paint_mask.cc
+++ b/source/blender/editors/sculpt_paint/paint_mask.cc
@@ -1221,7 +1221,7 @@ static void sculpt_gesture_trim_geometry_generate(SculptGestureContext *sgcontex
/* Write the front face triangle indices. */
MPoly *polys = BKE_mesh_polys_for_write(trim_operation->mesh);
- int *corner_verts = BKE_mesh_corner_verts_for_write(trim_operation->mesh);
+ blender::MutableSpan<int> corner_verts = trim_operation->mesh->corner_verts_for_write();
MPoly *mp = polys;
int corner_i = 0;
for (int i = 0; i < tot_tris_face; i++, mp++, corner_i += 3) {
diff --git a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
index 55d9955a9f7..6034058fff8 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
+++ b/source/blender/editors/sculpt_paint/paint_vertex_weight_ops.cc
@@ -318,7 +318,7 @@ static const EnumPropertyItem *weight_paint_sample_enum_itemf(bContext *C,
ED_view3d_viewcontext_init(C, &vc, depsgraph);
me = BKE_mesh_from_object(vc.obact);
const MPoly *polys = BKE_mesh_polys(me);
- const int *corner_verts = BKE_mesh_corner_verts(me);
+ const blender::Span<int> corner_verts = me->corner_verts();
const MDeformVert *dvert
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list