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. @@ _______________________________________________ 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