[Bf-blender-cvs] [b45a464794d] temp-object-multi-mode: Fix index offset (uv unwrap works now)
Campbell Barton
noreply at git.blender.org
Tue Mar 13 04:34:36 CET 2018
Commit: b45a464794d4974772141944a7daac8a57c43e2a
Author: Campbell Barton
Date: Tue Mar 13 14:42:22 2018 +1100
Branches: temp-object-multi-mode
https://developer.blender.org/rBb45a464794d4974772141944a7daac8a57c43e2a
Fix index offset (uv unwrap works now)
===================================================================
M source/blender/bmesh/intern/bmesh_mesh.c
===================================================================
diff --git a/source/blender/bmesh/intern/bmesh_mesh.c b/source/blender/bmesh/intern/bmesh_mesh.c
index 16ccbae1581..67bb788ee61 100644
--- a/source/blender/bmesh/intern/bmesh_mesh.c
+++ b/source/blender/bmesh/intern/bmesh_mesh.c
@@ -1181,9 +1181,6 @@ void BM_mesh_elem_index_ensure_ex(BMesh *bm, const char htype, int elem_offset[4
BM_ITER_MESH (ele, &iter, bm, BM_VERTS_OF_MESH) {
BM_elem_index_set(ele, index++); /* set_ok */
}
- if (elem_offset) {
- elem_offset[0] = index;
- }
BLI_assert(elem_offset || index == bm->totvert);
}
else {
@@ -1200,9 +1197,6 @@ void BM_mesh_elem_index_ensure_ex(BMesh *bm, const char htype, int elem_offset[4
BM_ITER_MESH (ele, &iter, bm, BM_EDGES_OF_MESH) {
BM_elem_index_set(ele, index++); /* set_ok */
}
- if (elem_offset) {
- elem_offset[1] = index;
- }
BLI_assert(elem_offset || index == bm->totedge);
}
else {
@@ -1236,11 +1230,6 @@ void BM_mesh_elem_index_ensure_ex(BMesh *bm, const char htype, int elem_offset[4
}
}
- if (elem_offset) {
- elem_offset[2] = index_loop;
- elem_offset[3] = index;
- }
-
BLI_assert(elem_offset || !update_face || index == bm->totface);
if (update_loop) {
BLI_assert(elem_offset || !update_loop || index_loop == bm->totloop);
@@ -1255,21 +1244,25 @@ finally:
bm->elem_index_dirty &= ~htype;
if (elem_offset) {
if (htype & BM_VERT) {
+ elem_offset[0] += bm->totvert;
if (elem_offset[0] != bm->totvert) {
bm->elem_index_dirty |= BM_VERT;
}
}
if (htype & BM_EDGE) {
+ elem_offset[1] += bm->totedge;
if (elem_offset[1] != bm->totedge) {
bm->elem_index_dirty |= BM_EDGE;
}
}
if (htype & BM_LOOP) {
+ elem_offset[2] += bm->totloop;
if (elem_offset[2] != bm->totloop) {
bm->elem_index_dirty |= BM_LOOP;
}
}
if (htype & BM_FACE) {
+ elem_offset[3] += bm->totface;
if (elem_offset[3] != bm->totface) {
bm->elem_index_dirty |= BM_FACE;
}
More information about the Bf-blender-cvs
mailing list