Cleanup: Use C++ accessor functions

This commit is contained in:
Hans Goudey 2023-01-26 16:09:58 -06:00
parent 7ea1b5a5e4
commit 95915484f2
7 changed files with 31 additions and 30 deletions

View File

@ -1416,7 +1416,7 @@ static void dynamicPaint_initAdjacencyData(DynamicPaintSurface *surface, const b
int numOfPolys = mesh->totpoly;
const MEdge *edges = BKE_mesh_edges(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();
/* count number of edges per vertex */
for (int i = 0; i < numOfEdges; i++) {
@ -1618,7 +1618,7 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface
else if (surface->init_color_type == MOD_DPAINT_INITIAL_TEXTURE) {
Tex *tex = surface->init_texture;
const int *corner_verts = BKE_mesh_corner_verts(mesh);
const blender::Span<int> corner_verts = mesh->corner_verts();
const MLoopTri *mlooptri = BKE_mesh_runtime_looptri_ensure(mesh);
const int tottri = BKE_mesh_runtime_looptri_len(mesh);
@ -1644,7 +1644,7 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface
DynamicPaintSetInitColorData data{};
data.surface = surface;
data.corner_verts = corner_verts;
data.corner_verts = corner_verts.data();
data.mlooptri = mlooptri;
data.mloopuv = mloopuv;
data.pool = pool;
@ -1676,7 +1676,7 @@ static void dynamicPaint_setInitialColor(const Scene *scene, DynamicPaintSurface
/* For vertex surface, just copy colors from #MLoopCol. */
if (surface->format == MOD_DPAINT_SURFACE_F_VERTEX) {
const int *corner_verts = BKE_mesh_corner_verts(mesh);
const blender::Span<int> corner_verts = mesh->corner_verts();
const int totloop = mesh->totloop;
const MLoopCol *col = static_cast<const MLoopCol *>(
CustomData_get_layer_named(&mesh->ldata, CD_PROP_BYTE_COLOR, surface->init_layername));
@ -1930,7 +1930,7 @@ static Mesh *dynamicPaint_Modifier_apply(DynamicPaintModifierData *pmd, Object *
/* vertex color paint */
if (surface->type == MOD_DPAINT_SURFACE_T_PAINT) {
const int *corner_verts = BKE_mesh_corner_verts(result);
const blender::Span<int> corner_verts = mesh->corner_verts();
const int totloop = result->totloop;
const MPoly *mpoly = BKE_mesh_polys(result);
const int totpoly = result->totpoly;
@ -1982,7 +1982,7 @@ static Mesh *dynamicPaint_Modifier_apply(DynamicPaintModifierData *pmd, Object *
}
data.ob = ob;
data.corner_verts = corner_verts;
data.corner_verts = corner_verts.data();
data.mpoly = mpoly;
data.mloopcol = mloopcol;
data.mloopcol_wet = mloopcol_wet;
@ -2837,7 +2837,7 @@ int dynamicPaint_createUVSurface(Scene *scene,
return setError(canvas, N_("Cannot bake non-'image sequence' formats"));
}
const int *corner_verts = BKE_mesh_corner_verts(mesh);
const blender::Span<int> corner_verts = mesh->corner_verts();
mlooptri = BKE_mesh_runtime_looptri_ensure(mesh);
const int tottri = BKE_mesh_runtime_looptri_len(mesh);
@ -2925,7 +2925,7 @@ int dynamicPaint_createUVSurface(Scene *scene,
data.tempWeights = tempWeights;
data.mlooptri = mlooptri;
data.mloopuv = mloopuv;
data.corner_verts = corner_verts;
data.corner_verts = corner_verts.data();
data.tottri = tottri;
data.faceBB = faceBB;
@ -2984,7 +2984,7 @@ int dynamicPaint_createUVSurface(Scene *scene,
mesh->totvert,
mlooptri,
tottri,
corner_verts,
corner_verts.data(),
mesh->totloop);
int total_border = 0;
@ -4298,7 +4298,7 @@ static bool dynamicPaint_paintMesh(Depsgraph *depsgraph,
float(*positions)[3] = BKE_mesh_vert_positions_for_write(mesh);
const float(*vert_normals)[3] = BKE_mesh_vertex_normals_ensure(mesh);
mlooptri = BKE_mesh_runtime_looptri_ensure(mesh);
const int *corner_verts = BKE_mesh_corner_verts(mesh);
const blender::Span<int> corner_verts = mesh->corner_verts();
numOfVerts = mesh->totvert;
/* Transform collider vertices to global space
@ -4352,7 +4352,7 @@ static bool dynamicPaint_paintMesh(Depsgraph *depsgraph,
data.c_index = c_index;
data.mesh = mesh;
data.positions = positions;
data.corner_verts = corner_verts;
data.corner_verts = corner_verts.data();
data.mlooptri = mlooptri;
data.brush_radius = brush_radius;
data.avg_brushNor = avg_brushNor;

View File

@ -1009,7 +1009,7 @@ static void obstacles_from_mesh(Object *coll_ob,
int min[3], max[3], res[3];
const int *corner_verts = BKE_mesh_corner_verts(me);
const blender::Span<int> corner_verts = me->corner_verts();
looptri = BKE_mesh_runtime_looptri_ensure(me);
numverts = me->totvert;
@ -1073,7 +1073,7 @@ static void obstacles_from_mesh(Object *coll_ob,
ObstaclesFromDMData data{};
data.fes = fes;
data.vert_positions = positions;
data.corner_verts = corner_verts;
data.corner_verts = corner_verts.data();
data.mlooptri = looptri;
data.tree = &tree_data;
data.bb = bb;
@ -2066,7 +2066,7 @@ static void emit_from_mesh(
Mesh *me = BKE_mesh_copy_for_eval(ffs->mesh, false);
float(*positions)[3] = BKE_mesh_vert_positions_for_write(me);
const int *corner_verts = BKE_mesh_corner_verts(me);
const blender::Span<int> corner_verts = me->corner_verts();
const MLoopTri *mlooptri = BKE_mesh_runtime_looptri_ensure(me);
const int numverts = me->totvert;
const MDeformVert *dvert = BKE_mesh_deform_verts(me);
@ -2143,7 +2143,7 @@ static void emit_from_mesh(
data.ffs = ffs;
data.vert_positions = positions;
data.vert_normals = vert_normals;
data.corner_verts = corner_verts;
data.corner_verts = corner_verts.data();
data.mlooptri = mlooptri;
data.mloopuv = mloopuv;
data.dvert = dvert;
@ -3254,7 +3254,7 @@ static Mesh *create_liquid_geometry(FluidDomainSettings *fds,
}
float(*positions)[3] = BKE_mesh_vert_positions_for_write(me);
mpolys = BKE_mesh_polys_for_write(me);
corner_verts = BKE_mesh_corner_verts_for_write(me);
corner_verts = me->corner_verts_for_write().data();
/* Get size (dimension) but considering scaling. */
copy_v3_v3(cell_size_scaled, fds->cell_size);
@ -3389,7 +3389,7 @@ static Mesh *create_smoke_geometry(FluidDomainSettings *fds, Mesh *orgmesh, Obje
result = BKE_mesh_new_nomain(num_verts, 0, 0, num_faces * 4, num_faces);
float(*positions)[3] = BKE_mesh_vert_positions_for_write(result);
mpolys = BKE_mesh_polys_for_write(result);
corner_verts = BKE_mesh_corner_verts_for_write(result);
corner_verts = result->corner_verts_for_write().data();
if (num_verts) {
/* Volume bounds. */

View File

@ -829,8 +829,8 @@ void blo_do_versions_290(FileData *fd, Library * /*lib*/, Main *bmain)
me->totedge,
(MFace *)CustomData_get_layer_for_write(&me->fdata, CD_MFACE, me->totface),
me->totface,
BKE_mesh_corner_verts_for_write(me),
BKE_mesh_corner_edges_for_write(me),
me->corner_verts_for_write().data(),
me->corner_edges_for_write().data(),
me->totloop,
BKE_mesh_polys_for_write(me),
me->totpoly,

View File

@ -659,7 +659,7 @@ void heat_bone_weighting(Object *ob,
const float(*vert_positions)[3] = BKE_mesh_vert_positions(me);
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();
bool use_vert_sel = (me->editflag & ME_EDIT_PAINT_VERT_SEL) != 0;
bool use_face_sel = (me->editflag & ME_EDIT_PAINT_FACE_SEL) != 0;
@ -708,10 +708,11 @@ void heat_bone_weighting(Object *ob,
mlooptri = static_cast<MLoopTri *>(
MEM_mallocN(sizeof(*sys->heat.mlooptri) * sys->heat.tris_num, __func__));
BKE_mesh_recalc_looptri(corner_verts, polys, vert_positions, me->totloop, me->totpoly, mlooptri);
BKE_mesh_recalc_looptri(
corner_verts.data(), polys, vert_positions, me->totloop, me->totpoly, mlooptri);
sys->heat.mlooptri = mlooptri;
sys->heat.corner_verts = corner_verts;
sys->heat.corner_verts = corner_verts.data();
sys->heat.verts_num = me->totvert;
sys->heat.verts = verts;
sys->heat.root = root;
@ -1633,7 +1634,7 @@ static void harmonic_coordinates_bind(MeshDeformModifierData *mmd, MeshDeformBin
{
Mesh *me = mdb->cagemesh;
mdb->cagemesh_cache.mpoly = BKE_mesh_polys(me);
mdb->cagemesh_cache.corner_verts = BKE_mesh_corner_verts(me);
mdb->cagemesh_cache.corner_verts = me->corner_verts().data();
mdb->cagemesh_cache.looptri = BKE_mesh_runtime_looptri_ensure(me);
mdb->cagemesh_cache.poly_nors = BKE_mesh_poly_normals_ensure(me);
}

View File

@ -1033,8 +1033,8 @@ static void bake_targets_populate_pixels_color_attributes(BakeTargets *targets,
const int tottri = poly_to_tri_count(me_eval->totpoly, me_eval->totloop);
MLoopTri *looptri = static_cast<MLoopTri *>(MEM_mallocN(sizeof(*looptri) * tottri, __func__));
const int *corner_verts = BKE_mesh_corner_verts(me_eval);
BKE_mesh_recalc_looptri(corner_verts,
const blender::Span<int> corner_verts = me_eval->corner_verts();
BKE_mesh_recalc_looptri(corner_verts.data(),
BKE_mesh_polys(me_eval),
BKE_mesh_vert_positions(me_eval),
me_eval->totloop,
@ -1047,7 +1047,7 @@ static void bake_targets_populate_pixels_color_attributes(BakeTargets *targets,
const int *poly_origindex = static_cast<const int *>(
CustomData_get_layer(&me_eval->pdata, CD_ORIGINDEX));
const MPoly *orig_polys = BKE_mesh_polys(me);
const int *orig_corner_verts = BKE_mesh_corner_verts(me);
const blender::Span<int> orig_corner_verts = me->corner_verts();
for (int i = 0; i < tottri; i++) {
const MLoopTri *lt = &looptri[i];
@ -1059,7 +1059,7 @@ static void bake_targets_populate_pixels_color_attributes(BakeTargets *targets,
/* Map back to original loop if there are modifiers. */
if (vert_origindex != nullptr && poly_origindex != nullptr) {
l = find_original_loop(
orig_polys, orig_corner_verts, vert_origindex, poly_origindex, lt->poly, v);
orig_polys, orig_corner_verts.data(), vert_origindex, poly_origindex, lt->poly, v);
if (l == ORIGINDEX_NONE || l >= me->totloop) {
continue;
}
@ -1156,7 +1156,7 @@ static bool bake_targets_output_vertex_colors(BakeTargets *targets, Object *ob)
MEM_callocN(sizeof(int) * me->totvert, "num_loops_for_vertex"));
memset(mcol, 0, sizeof(MPropCol) * me->totvert);
const int *corner_verts = BKE_mesh_corner_verts(me);
const blender::Span<int> corner_verts = me->corner_verts();
for (int i = 0; i < totloop; i++) {
const int v = corner_verts[i];
bake_result_add_to_rgba(mcol[v].color, &result[i * channels_num], channels_num);

View File

@ -71,7 +71,7 @@ void ED_draw_object_facemap(Depsgraph *depsgraph,
const float(*positions)[3] = BKE_mesh_vert_positions(me);
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();
int mpoly_len = me->totpoly;
int mloop_len = me->totloop;

View File

@ -632,7 +632,7 @@ static ParamHandle *construct_param_handle_subsurfed(const Scene *scene,
const float(*subsurfedPositions)[3] = BKE_mesh_vert_positions(subdiv_mesh);
const MEdge *subsurfedEdges = BKE_mesh_edges(subdiv_mesh);
const MPoly *subsurfedPolys = BKE_mesh_polys(subdiv_mesh);
const int *subsurfedCornerVerts = BKE_mesh_corner_verts(subdiv_mesh);
const int *subsurfedCornerVerts = subdiv_mesh->corner_verts().data();
const int *origVertIndices = static_cast<const int *>(
CustomData_get_layer(&subdiv_mesh->vdata, CD_ORIGINDEX));