Cleanup: Use C++ accessor functions in C++ code
This commit is contained in:
parent
932a211f6c
commit
22f2bf804c
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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),
|
||||
|
|
|
@ -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_to_loop_map_src,
|
||||
&vert_to_loop_map_src_buff,
|
||||
polys_src,
|
||||
corner_verts_src,
|
||||
corner_verts_src.data(),
|
||||
num_verts_src,
|
||||
num_polys_src,
|
||||
num_loops_src);
|
||||
|
@ -1416,7 +1416,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
|
|||
BKE_mesh_vert_poly_map_create(&vert_to_poly_map_src,
|
||||
&vert_to_poly_map_src_buff,
|
||||
polys_src,
|
||||
corner_verts_src,
|
||||
corner_verts_src.data(),
|
||||
num_verts_src,
|
||||
num_polys_src,
|
||||
num_loops_src);
|
||||
|
@ -1430,7 +1430,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
|
|||
num_edges_src,
|
||||
polys_src,
|
||||
num_polys_src,
|
||||
corner_edges_src,
|
||||
corner_edges_src.data(),
|
||||
num_loops_src);
|
||||
if (use_from_vert) {
|
||||
loop_to_poly_map_src = static_cast<int *>(
|
||||
|
@ -1462,8 +1462,8 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
|
|||
num_edges_src,
|
||||
polys_src,
|
||||
num_polys_src,
|
||||
corner_verts_src,
|
||||
corner_edges_src,
|
||||
corner_verts_src.data(),
|
||||
corner_edges_src.data(),
|
||||
num_loops_src,
|
||||
&island_store);
|
||||
|
||||
|
@ -1500,8 +1500,8 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
|
|||
positions_src,
|
||||
edge_to_poly_map_src,
|
||||
num_edges_src,
|
||||
corner_verts_src,
|
||||
corner_edges_src,
|
||||
corner_verts_src.data(),
|
||||
corner_edges_src.data(),
|
||||
polys_src,
|
||||
num_polys_src,
|
||||
&as_graphdata[tindex]);
|
||||
|
@ -1562,7 +1562,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
|
|||
}
|
||||
bvhtree_from_mesh_looptri_ex(&treedata[tindex],
|
||||
positions_src,
|
||||
corner_verts_src,
|
||||
corner_verts_src.data(),
|
||||
looptri_src,
|
||||
num_looptri_src,
|
||||
looptri_active,
|
||||
|
@ -2048,7 +2048,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
|
|||
|
||||
if (mode == MREMAP_MODE_LOOP_POLY_NEAREST) {
|
||||
mesh_remap_interp_poly_data_get(mp_src,
|
||||
corner_verts_src,
|
||||
corner_verts_src.data(),
|
||||
(const float(*)[3])vcos_src,
|
||||
hit_co,
|
||||
&buff_size_interp,
|
||||
|
@ -2070,7 +2070,7 @@ void BKE_mesh_remap_calc_loops_from_mesh(const int mode,
|
|||
else {
|
||||
const int sources_num = mesh_remap_interp_poly_data_get(
|
||||
mp_src,
|
||||
corner_verts_src,
|
||||
corner_verts_src.data(),
|
||||
(const float(*)[3])vcos_src,
|
||||
hit_co,
|
||||
&buff_size_interp,
|
||||
|
|
|
@ -549,8 +549,8 @@ MeshRenderData *mesh_render_data_create(Object *object,
|
|||
mr->vert_positions = mr->me->vert_positions().data();
|
||||
mr->medge = BKE_mesh_edges(mr->me);
|
||||
mr->mpoly = BKE_mesh_polys(mr->me);
|
||||
mr->corner_verts = BKE_mesh_corner_verts(mr->me);
|
||||
mr->corner_edges = BKE_mesh_corner_edges(mr->me);
|
||||
mr->corner_verts = mr->me->corner_verts().data();
|
||||
mr->corner_edges = mr->me->corner_edges().data();
|
||||
|
||||
mr->v_origindex = static_cast<const int *>(CustomData_get_layer(&mr->me->vdata, CD_ORIGINDEX));
|
||||
mr->e_origindex = static_cast<const int *>(CustomData_get_layer(&mr->me->edata, CD_ORIGINDEX));
|
||||
|
|
|
@ -281,8 +281,8 @@ static void mesh_merge_transform(Mesh *result,
|
|||
float(*result_positions)[3] = BKE_mesh_vert_positions_for_write(result);
|
||||
MEdge *result_edges = BKE_mesh_edges_for_write(result);
|
||||
MPoly *result_polys = BKE_mesh_polys_for_write(result);
|
||||
int *result_corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
int *result_corner_edges = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> result_corner_verts = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> result_corner_edges = result->corner_edges_for_write();
|
||||
|
||||
CustomData_copy_data(&cap_mesh->vdata, &result->vdata, 0, cap_verts_index, cap_nverts);
|
||||
CustomData_copy_data(&cap_mesh->edata, &result->edata, 0, cap_edges_index, cap_nedges);
|
||||
|
@ -538,8 +538,8 @@ static Mesh *arrayModifier_doArray(ArrayModifierData *amd,
|
|||
float(*result_positions)[3] = BKE_mesh_vert_positions_for_write(result);
|
||||
MEdge *result_edges = BKE_mesh_edges_for_write(result);
|
||||
MPoly *result_polys = BKE_mesh_polys_for_write(result);
|
||||
int *result_corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
int *result_corner_edges = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> result_corner_verts = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> result_corner_edges = result->corner_edges_for_write();
|
||||
|
||||
if (use_merge) {
|
||||
/* Will need full_doubles_map for handling merge */
|
||||
|
|
|
@ -74,8 +74,8 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
|
|||
const int poly_src_num = mesh->totpoly;
|
||||
const MEdge *medge_src = BKE_mesh_edges(mesh);
|
||||
const MPoly *mpoly_src = BKE_mesh_polys(mesh);
|
||||
const int *corner_verts_src = BKE_mesh_corner_verts(mesh);
|
||||
const int *corner_edges_src = BKE_mesh_corner_edges(mesh);
|
||||
const int *corner_verts_src = mesh->corner_verts().data();
|
||||
const int *corner_edges_src = mesh->corner_edges().data();
|
||||
|
||||
int *vertMap = static_cast<int *>(MEM_malloc_arrayN(vert_src_num, sizeof(int), __func__));
|
||||
int *edgeMap = static_cast<int *>(MEM_malloc_arrayN(edge_src_num, sizeof(int), __func__));
|
||||
|
@ -198,8 +198,8 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
|
|||
mesh, BLI_ghash_len(vertHash), BLI_ghash_len(edgeHash), 0, loops_dst_num, faces_dst_num);
|
||||
MEdge *result_edges = BKE_mesh_edges_for_write(result);
|
||||
MPoly *result_polys = BKE_mesh_polys_for_write(result);
|
||||
int *result_corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
int *result_corner_edges = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> result_corner_verts = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> result_corner_edges = result->corner_edges_for_write();
|
||||
|
||||
/* copy the vertices across */
|
||||
GHASH_ITER (gh_iter, vertHash) {
|
||||
|
|
|
@ -129,7 +129,7 @@ static void mesh_get_boundaries(Mesh *mesh, float *smooth_weights)
|
|||
{
|
||||
const MEdge *medge = BKE_mesh_edges(mesh);
|
||||
const MPoly *mpoly = BKE_mesh_polys(mesh);
|
||||
const int *corner_edges = BKE_mesh_corner_edges(mesh);
|
||||
const blender::Span<int> corner_edges = mesh->corner_edges();
|
||||
|
||||
const uint mpoly_num = (uint)mesh->totpoly;
|
||||
const uint medge_num = (uint)mesh->totedge;
|
||||
|
@ -440,7 +440,7 @@ static void calc_tangent_spaces(const Mesh *mesh,
|
|||
const uint mpoly_num = (uint)mesh->totpoly;
|
||||
const uint mvert_num = (uint)mesh->totvert;
|
||||
const MPoly *mpoly = BKE_mesh_polys(mesh);
|
||||
const int *corner_verts = BKE_mesh_corner_verts(mesh);
|
||||
blender::Span<int> corner_verts = mesh->corner_verts();
|
||||
uint i;
|
||||
|
||||
if (r_tangent_weights_per_vertex != nullptr) {
|
||||
|
@ -521,7 +521,7 @@ static void calc_deltas(CorrectiveSmoothModifierData *csmd,
|
|||
const float (*rest_coords)[3],
|
||||
uint verts_num)
|
||||
{
|
||||
const int *corner_verts = BKE_mesh_corner_verts(mesh);
|
||||
blender::Span<int> corner_verts = mesh->corner_verts();
|
||||
const uint loops_num = (uint)mesh->totloop;
|
||||
|
||||
float(*smooth_vertex_coords)[3] = static_cast<float(*)[3]>(MEM_dupallocN(rest_coords));
|
||||
|
@ -580,7 +580,7 @@ static void correctivesmooth_modifier_do(ModifierData *md,
|
|||
((csmd->rest_source == MOD_CORRECTIVESMOOTH_RESTSOURCE_ORCO) &&
|
||||
(((ID *)ob->data)->recalc & ID_RECALC_ALL));
|
||||
|
||||
const int *corner_verts = BKE_mesh_corner_verts(mesh);
|
||||
blender::Span<int> corner_verts = mesh->corner_verts();
|
||||
const uint loops_num = (uint)mesh->totloop;
|
||||
|
||||
bool use_only_smooth = (csmd->flag & MOD_CORRECTIVESMOOTH_ONLY_SMOOTH) != 0;
|
||||
|
|
|
@ -312,7 +312,7 @@ static void displaceModifier_do(DisplaceModifierData *dmd,
|
|||
vert_clnors = static_cast<float(*)[3]>(
|
||||
MEM_malloc_arrayN(verts_num, sizeof(*vert_clnors), __func__));
|
||||
BKE_mesh_normals_loop_to_vertex(verts_num,
|
||||
BKE_mesh_corner_verts(mesh),
|
||||
mesh->corner_verts().data(),
|
||||
mesh->totloop,
|
||||
(const float(*)[3])clnors,
|
||||
vert_clnors);
|
||||
|
|
|
@ -398,7 +398,7 @@ static void laplaciansmoothModifier_do(
|
|||
}
|
||||
|
||||
sys->mpoly = BKE_mesh_polys(mesh);
|
||||
sys->corner_verts = BKE_mesh_corner_verts(mesh);
|
||||
sys->corner_verts = mesh->corner_verts().data();
|
||||
sys->medges = BKE_mesh_edges(mesh);
|
||||
sys->vertexCos = vertexCos;
|
||||
sys->min_area = 0.00001f;
|
||||
|
|
|
@ -553,8 +553,8 @@ static Mesh *normalEditModifier_do(NormalEditModifierData *enmd,
|
|||
const float(*positions)[3] = BKE_mesh_vert_positions(result);
|
||||
const MEdge *edges = BKE_mesh_edges(result);
|
||||
const MPoly *polys = BKE_mesh_polys(result);
|
||||
int *corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
int *corner_edges = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> corner_verts = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> corner_edges = result->corner_edges_for_write();
|
||||
|
||||
int defgrp_index;
|
||||
const MDeformVert *dvert;
|
||||
|
@ -583,8 +583,8 @@ static Mesh *normalEditModifier_do(NormalEditModifierData *enmd,
|
|||
verts_num,
|
||||
edges,
|
||||
edges_num,
|
||||
corner_verts,
|
||||
corner_edges,
|
||||
corner_verts.data(),
|
||||
corner_edges.data(),
|
||||
loop_normals,
|
||||
loops_num,
|
||||
polys,
|
||||
|
@ -624,8 +624,8 @@ static Mesh *normalEditModifier_do(NormalEditModifierData *enmd,
|
|||
edges,
|
||||
edges_num,
|
||||
sharp_edges.span.data(),
|
||||
corner_verts,
|
||||
corner_edges,
|
||||
corner_verts.data(),
|
||||
corner_edges.data(),
|
||||
loops_num,
|
||||
polys,
|
||||
polys_num);
|
||||
|
@ -649,8 +649,8 @@ static Mesh *normalEditModifier_do(NormalEditModifierData *enmd,
|
|||
edges,
|
||||
edges_num,
|
||||
sharp_edges.span.data(),
|
||||
corner_verts,
|
||||
corner_edges,
|
||||
corner_verts.data(),
|
||||
corner_edges.data(),
|
||||
loops_num,
|
||||
polys,
|
||||
polys_num);
|
||||
|
|
|
@ -266,7 +266,7 @@ static Mesh *generate_ocean_geometry(OceanModifierData *omd, Mesh *mesh_orig, co
|
|||
|
||||
gogd.vert_positions = BKE_mesh_vert_positions_for_write(result);
|
||||
gogd.mpolys = BKE_mesh_polys_for_write(result);
|
||||
gogd.corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
gogd.corner_verts = result->corner_verts_for_write().data();
|
||||
|
||||
TaskParallelSettings settings;
|
||||
BLI_parallel_range_settings_defaults(&settings);
|
||||
|
@ -365,7 +365,7 @@ static Mesh *doOcean(ModifierData *md, const ModifierEvalContext *ctx, Mesh *mes
|
|||
if (omd->flag & MOD_OCEAN_GENERATE_FOAM) {
|
||||
const int polys_num = result->totpoly;
|
||||
const int loops_num = result->totloop;
|
||||
const int *corner_verts = BKE_mesh_corner_verts(result);
|
||||
const blender::Span<int> corner_verts = result->corner_verts();
|
||||
MLoopCol *mloopcols = static_cast<MLoopCol *>(CustomData_add_layer_named(&result->ldata,
|
||||
CD_PROP_BYTE_COLOR,
|
||||
CD_SET_DEFAULT,
|
||||
|
|
|
@ -317,13 +317,13 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
|
|||
result = BKE_mesh_new_nomain_from_template(mesh, maxvert, maxedge, 0, maxloop, maxpoly);
|
||||
|
||||
const MPoly *orig_mpoly = BKE_mesh_polys(mesh);
|
||||
const int *orig_corner_verts = BKE_mesh_corner_verts(mesh);
|
||||
const int *orig_corner_edges = BKE_mesh_corner_edges(mesh);
|
||||
const blender::Span<int> orig_corner_verts = mesh->corner_verts();
|
||||
const blender::Span<int> orig_corner_edges = mesh->corner_edges();
|
||||
float(*positions)[3] = BKE_mesh_vert_positions_for_write(result);
|
||||
MEdge *edges = BKE_mesh_edges_for_write(result);
|
||||
MPoly *mpoly = BKE_mesh_polys_for_write(result);
|
||||
int *corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
int *corner_edges = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> corner_verts = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> corner_edges = result->corner_edges_for_write();
|
||||
|
||||
MLoopCol *mloopcols_index = static_cast<MLoopCol *>(CustomData_get_layer_named_for_write(
|
||||
&result->ldata, CD_PROP_BYTE_COLOR, pimd->index_layer_name, result->totloop));
|
||||
|
|
|
@ -63,7 +63,7 @@ static void init_dualcon_mesh(DualConInput *input, Mesh *mesh)
|
|||
input->co_stride = sizeof(float[3]);
|
||||
input->totco = mesh->totvert;
|
||||
|
||||
input->mloop = (DualConLoop)BKE_mesh_corner_verts(mesh);
|
||||
input->mloop = (DualConLoop)mesh->corner_verts().data();
|
||||
input->loop_stride = sizeof(int);
|
||||
|
||||
input->looptri = (DualConTri)BKE_mesh_runtime_looptri_ensure(mesh);
|
||||
|
@ -96,7 +96,7 @@ static void *dualcon_alloc_output(int totvert, int totquad)
|
|||
output->mesh = BKE_mesh_new_nomain(totvert, 0, 0, 4 * totquad, totquad);
|
||||
output->vert_positions = BKE_mesh_vert_positions_for_write(output->mesh);
|
||||
output->polys = BKE_mesh_polys_for_write(output->mesh);
|
||||
output->corner_verts = BKE_mesh_corner_verts_for_write(output->mesh);
|
||||
output->corner_verts = output->mesh->corner_verts_for_write().data();
|
||||
|
||||
return output;
|
||||
}
|
||||
|
|
|
@ -382,14 +382,14 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
|
|||
const float(*vert_positions_orig)[3] = BKE_mesh_vert_positions(mesh);
|
||||
const MEdge *medge_orig = BKE_mesh_edges(mesh);
|
||||
const MPoly *mpoly_orig = BKE_mesh_polys(mesh);
|
||||
const int *corner_verts_orig = BKE_mesh_corner_verts(mesh);
|
||||
const int *corner_edges_orig = BKE_mesh_corner_edges(mesh);
|
||||
const blender::Span<int> corner_verts_orig = mesh->corner_verts();
|
||||
const blender::Span<int> corner_edges_orig = mesh->corner_edges();
|
||||
|
||||
float(*vert_positions_new)[3] = BKE_mesh_vert_positions_for_write(result);
|
||||
MEdge *medge_new = BKE_mesh_edges_for_write(result);
|
||||
MPoly *mpoly_new = BKE_mesh_polys_for_write(result);
|
||||
int *corner_verts_new = BKE_mesh_corner_verts_for_write(result);
|
||||
int *corner_edges_new = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> corner_verts_new = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> corner_edges_new = result->corner_edges_for_write();
|
||||
|
||||
if (!CustomData_has_layer(&result->pdata, CD_ORIGINDEX)) {
|
||||
CustomData_add_layer(&result->pdata, CD_ORIGINDEX, CD_SET_DEFAULT, nullptr, int(maxPolys));
|
||||
|
|
|
@ -63,7 +63,7 @@ static void mesh_calc_hq_normal(Mesh *mesh,
|
|||
const int edges_num = mesh->totedge;
|
||||
const int polys_num = mesh->totpoly;
|
||||
const MPoly *mpoly = BKE_mesh_polys(mesh);
|
||||
const int *corner_edges = BKE_mesh_corner_edges(mesh);
|
||||
const blender::Span<int> corner_edges = mesh->corner_edges();
|
||||
const MEdge *medge = BKE_mesh_edges(mesh);
|
||||
|
||||
const MPoly *mp = mpoly;
|
||||
|
@ -212,8 +212,8 @@ Mesh *MOD_solidify_extrude_modifyMesh(ModifierData *md, const ModifierEvalContex
|
|||
const float(*orig_vert_positions)[3] = BKE_mesh_vert_positions(mesh);
|
||||
const MEdge *orig_medge = BKE_mesh_edges(mesh);
|
||||
const MPoly *orig_mpoly = BKE_mesh_polys(mesh);
|
||||
const int *orig_corner_verts = BKE_mesh_corner_verts(mesh);
|
||||
const int *orig_corner_edges = BKE_mesh_corner_edges(mesh);
|
||||
const blender::Span<int> orig_corner_verts = mesh->corner_verts();
|
||||
const blender::Span<int> orig_corner_edges = mesh->corner_edges();
|
||||
|
||||
if (need_poly_normals) {
|
||||
/* calculate only face normals */
|
||||
|
@ -336,8 +336,8 @@ Mesh *MOD_solidify_extrude_modifyMesh(ModifierData *md, const ModifierEvalContex
|
|||
float(*vert_positions)[3] = BKE_mesh_vert_positions_for_write(result);
|
||||
MEdge *medge = BKE_mesh_edges_for_write(result);
|
||||
MPoly *mpoly = BKE_mesh_polys_for_write(result);
|
||||
int *corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
int *corner_edges = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> corner_verts = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> corner_edges = result->corner_edges_for_write();
|
||||
|
||||
if (do_shell) {
|
||||
CustomData_copy_data(&mesh->vdata, &result->vdata, 0, 0, int(verts_num));
|
||||
|
@ -1073,8 +1073,8 @@ Mesh *MOD_solidify_extrude_modifyMesh(ModifierData *md, const ModifierEvalContex
|
|||
|
||||
/* faces */
|
||||
MPoly *mp = mpoly + (polys_num * stride);
|
||||
int *new_corner_verts = corner_verts + (loops_num * stride);
|
||||
int *new_corner_edges = corner_edges + (loops_num * stride);
|
||||
int *new_corner_verts = &corner_verts[loops_num * stride];
|
||||
int *new_corner_edges = &corner_edges[loops_num * stride];
|
||||
j = 0;
|
||||
for (i = 0; i < newPolys; i++, mp++) {
|
||||
uint eidx = new_edge_arr[i];
|
||||
|
|
|
@ -185,8 +185,8 @@ Mesh *MOD_solidify_nonmanifold_modifyMesh(ModifierData *md,
|
|||
const float(*orig_vert_positions)[3] = BKE_mesh_vert_positions(mesh);
|
||||
const MEdge *orig_medge = BKE_mesh_edges(mesh);
|
||||
const MPoly *orig_mpoly = BKE_mesh_polys(mesh);
|
||||
const int *orig_corner_verts = BKE_mesh_corner_verts(mesh);
|
||||
const int *orig_corner_edges = BKE_mesh_corner_edges(mesh);
|
||||
const blender::Span<int> orig_corner_verts = mesh->corner_verts();
|
||||
const blender::Span<int> orig_corner_edges = mesh->corner_edges();
|
||||
|
||||
/* These might be null. */
|
||||
const float *orig_vert_bweight = static_cast<const float *>(
|
||||
|
@ -1989,8 +1989,8 @@ Mesh *MOD_solidify_nonmanifold_modifyMesh(ModifierData *md,
|
|||
float(*vert_positions)[3] = BKE_mesh_vert_positions_for_write(result);
|
||||
MEdge *medge = BKE_mesh_edges_for_write(result);
|
||||
MPoly *mpoly = BKE_mesh_polys_for_write(result);
|
||||
int *corner_verts = BKE_mesh_corner_verts_for_write(result);
|
||||
int *corner_edges = BKE_mesh_corner_edges_for_write(result);
|
||||
blender::MutableSpan<int> corner_verts = result->corner_verts_for_write();
|
||||
blender::MutableSpan<int> corner_edges = result->corner_edges_for_write();
|
||||
|
||||
int *origindex_edge = static_cast<int *>(
|
||||
CustomData_get_layer_for_write(&result->edata, CD_ORIGINDEX, result->totedge));
|
||||
|
|
|
@ -462,7 +462,7 @@ static TriTessFace *mesh_calc_tri_tessface(Mesh *me, bool tangent, Mesh *me_eval
|
|||
|
||||
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();
|
||||
|
||||
looptri = static_cast<MLoopTri *>(MEM_mallocN(sizeof(*looptri) * tottri, __func__));
|
||||
triangles = static_cast<TriTessFace *>(MEM_callocN(sizeof(TriTessFace) * tottri, __func__));
|
||||
|
@ -473,11 +473,17 @@ static TriTessFace *mesh_calc_tri_tessface(Mesh *me, bool tangent, Mesh *me_eval
|
|||
const bool calculate_normal = precomputed_normals ? false : true;
|
||||
|
||||
if (precomputed_normals != nullptr) {
|
||||
BKE_mesh_recalc_looptri_with_normals(
|
||||
corner_verts, polys, positions, me->totloop, me->totpoly, looptri, precomputed_normals);
|
||||
BKE_mesh_recalc_looptri_with_normals(corner_verts.data(),
|
||||
polys,
|
||||
positions,
|
||||
me->totloop,
|
||||
me->totpoly,
|
||||
looptri,
|
||||
precomputed_normals);
|
||||
}
|
||||
else {
|
||||
BKE_mesh_recalc_looptri(corner_verts, polys, positions, me->totloop, me->totpoly, looptri);
|
||||
BKE_mesh_recalc_looptri(
|
||||
corner_verts.data(), polys, positions, me->totloop, me->totpoly, looptri);
|
||||
}
|
||||
|
||||
const TSpace *tspace = nullptr;
|
||||
|
@ -747,8 +753,8 @@ void RE_bake_pixels_populate(Mesh *me,
|
|||
|
||||
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);
|
||||
BKE_mesh_recalc_looptri(corner_verts, polys, positions, me->totloop, me->totpoly, looptri);
|
||||
const blender::Span<int> corner_verts = me->corner_verts();
|
||||
BKE_mesh_recalc_looptri(corner_verts.data(), polys, positions, me->totloop, me->totpoly, looptri);
|
||||
|
||||
const int *material_indices = BKE_mesh_material_indices(me);
|
||||
const int materials_num = targets->materials_num;
|
||||
|
|
|
@ -494,10 +494,10 @@ static void do_multires_bake(MultiresBakeRender *bkr,
|
|||
memcpy(BKE_mesh_polys_for_write(temp_mesh),
|
||||
dm->getPolyArray(dm),
|
||||
temp_mesh->totpoly * sizeof(MPoly));
|
||||
memcpy(BKE_mesh_corner_verts_for_write(temp_mesh),
|
||||
memcpy(temp_mesh->corner_verts_for_write().data(),
|
||||
dm->getCornerVertArray(dm),
|
||||
temp_mesh->totloop * sizeof(int));
|
||||
memcpy(BKE_mesh_corner_edges_for_write(temp_mesh),
|
||||
memcpy(temp_mesh->corner_edges_for_write().data(),
|
||||
dm->getCornerEdgeArray(dm),
|
||||
temp_mesh->totloop * sizeof(int));
|
||||
const float(*vert_normals)[3] = BKE_mesh_vertex_normals_ensure(temp_mesh);
|
||||
|
|
Loading…
Reference in New Issue