Fix mesh merge function

This commit is contained in:
Hans Goudey 2022-09-15 09:50:14 -05:00
parent 698766cb92
commit ee64fa0717
1 changed files with 0 additions and 9 deletions

View File

@ -204,17 +204,14 @@ Mesh *BKE_mesh_merge_verts(Mesh *mesh,
const int totedge = mesh->totedge;
const int totloop = mesh->totloop;
const int totpoly = mesh->totpoly;
const float(*src_positions)[3] = BKE_mesh_positions(mesh);
const MEdge *src_edges = BKE_mesh_edges(mesh);
const MPoly *src_polys = BKE_mesh_polys(mesh);
const MLoop *src_loops = BKE_mesh_loops(mesh);
const int totvert_final = totvert - tot_vtargetmap;
float(*positions)[3] = MEM_malloc_arrayN(totvert_final, sizeof(float[3]), __func__);
int *oldv = MEM_malloc_arrayN(totvert_final, sizeof(*oldv), __func__);
int *newv = MEM_malloc_arrayN(totvert, sizeof(*newv), __func__);
STACK_DECLARE(positions);
STACK_DECLARE(oldv);
/* NOTE: create (totedge + totloop) elements because partially invalid polys due to merge may
@ -265,7 +262,6 @@ Mesh *BKE_mesh_merge_verts(Mesh *mesh,
for (i = 0; i < totvert; i++) {
if (vtargetmap[i] == -1) {
STACK_PUSH(oldv, i);
copy_v3_v3(positions[i], src_positions[c]);
newv[i] = c++;
}
else {
@ -606,10 +602,6 @@ Mesh *BKE_mesh_merge_verts(Mesh *mesh,
}
/* Copy over data. #CustomData_add_layer can do this, need to look it up. */
if (totvert_final > 0) {
memcpy(
BKE_mesh_positions_for_write(result), positions, sizeof(float[3]) * STACK_SIZE(positions));
}
if (STACK_SIZE(medge)) {
memcpy(BKE_mesh_edges_for_write(result), medge, sizeof(MEdge) * STACK_SIZE(medge));
}
@ -620,7 +612,6 @@ Mesh *BKE_mesh_merge_verts(Mesh *mesh,
memcpy(BKE_mesh_polys_for_write(result), mpoly, sizeof(MPoly) * STACK_SIZE(mpoly));
}
MEM_freeN(positions);
MEM_freeN(medge);
MEM_freeN(mloop);
MEM_freeN(mpoly);