static void bm_log_verts_unmake(BMesh *bm, BMLog *log, GHash *verts) { GHashIterator gh_iter; GHASH_ITER (gh_iter, verts) { void *key = BLI_ghashIterator_getKey(&gh_iter); BMLogVert *lv = BLI_ghashIterator_getValue(&gh_iter); unsigned int id = GET_INT_FROM_POINTER(key); BMVert *v = bm_log_vert_from_id(log, id); /* Ensure the log has the final values of the vertex before * deleting it */ bm_log_vert_bmvert_copy(bm, lv, v); BM_vert_kill(bm, v); }
static void bm_log_verts_unmake(BMesh *bm, BMLog *log, GHash *verts) { const int cd_vert_mask_offset = CustomData_get_offset(&bm->vdata, CD_PAINT_MASK); GHashIterator gh_iter; GHASH_ITER (gh_iter, verts) { void *key = BLI_ghashIterator_getKey(&gh_iter); BMLogVert *lv = BLI_ghashIterator_getValue(&gh_iter); unsigned int id = GET_UINT_FROM_POINTER(key); BMVert *v = bm_log_vert_from_id(log, id); /* Ensure the log has the final values of the vertex before * deleting it */ bm_log_vert_bmvert_copy(lv, v, cd_vert_mask_offset); BM_vert_kill(bm, v); }