[Bf-blender-cvs] [ee64fa07170] refactor-mesh-position-generic: Fix mesh merge function
Hans Goudey
noreply at git.blender.org
Thu Sep 15 18:44:14 CEST 2022
Commit: ee64fa071703c480479a6205a89d49fca024d1b9
Author: Hans Goudey
Date: Thu Sep 15 09:50:14 2022 -0500
Branches: refactor-mesh-position-generic
https://developer.blender.org/rBee64fa071703c480479a6205a89d49fca024d1b9
Fix mesh merge function
===================================================================
M source/blender/blenkernel/intern/mesh_merge.c
===================================================================
diff --git a/source/blender/blenkernel/intern/mesh_merge.c b/source/blender/blenkernel/intern/mesh_merge.c
index cdc88b3b6ee..fbc4ac3d208 100644
--- a/source/blender/blenkernel/intern/mesh_merge.c
+++ b/source/blender/blenkernel/intern/mesh_merge.c
@@ -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);
More information about the Bf-blender-cvs
mailing list