diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-02-03 06:54:24 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-02-03 06:54:24 +0400 |
commit | f0d4b85feffb625efb406d3fba81b076a3a1fc4f (patch) | |
tree | 46a5edb0a725c379ddde54453b47ad1ae105ca53 | |
parent | ad2b4c6e542d733fe3b771586d6fea6c12b6ed16 (diff) |
improve BMesh api use from r54265, no need to do edge lookups from the faces verts since the face stores these already.
also remove ScrArea.cursor, historic runtime variable.
-rw-r--r-- | source/blender/bmesh/intern/bmesh_log.c | 19 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_screen_types.h | 3 |
2 files changed, 10 insertions, 12 deletions
diff --git a/source/blender/bmesh/intern/bmesh_log.c b/source/blender/bmesh/intern/bmesh_log.c index 1d77ff6ebe9..2389751fa74 100644 --- a/source/blender/bmesh/intern/bmesh_log.c +++ b/source/blender/bmesh/intern/bmesh_log.c @@ -252,24 +252,21 @@ static void bm_log_faces_unmake(BMesh *bm, BMLog *log, GHash *faces) void *key = BLI_ghashIterator_getKey(&gh_iter); unsigned int id = GET_INT_FROM_POINTER(key); BMFace *f = bm_log_face_from_id(log, id); - BMVert *v_tri[3]; BMEdge *e_tri[3]; + BMLoop *l_iter; int i; - /* Remove any unused edges */ - BM_face_as_array_vert_tri(f, v_tri); - for (i = 0; i < 3; i++) { - BMVert *v1 = v_tri[i]; - BMVert *v2 = v_tri[i == 2 ? 0 : i + 1]; - e_tri[i] = BM_edge_exists(v1, v2); + l_iter = BM_FACE_FIRST_LOOP(f); + for (i = 0; i < 3; i++, l_iter = l_iter->next) { + e_tri[i] = l_iter->e; } + /* Remove any unused edges */ BM_face_kill(bm, f); - for (i = 0; i < 3; i++) { - BMEdge *e = e_tri[i]; - if (BM_edge_face_count(e) == 0) - BM_edge_kill(bm, e); + if (BM_edge_is_wire(e_tri[i])) { + BM_edge_kill(bm, e_tri[i]); + } } } } diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h index ae8b341f536..ceae4e28d1f 100644 --- a/source/blender/makesdna/DNA_screen_types.h +++ b/source/blender/makesdna/DNA_screen_types.h @@ -143,9 +143,10 @@ typedef struct ScrArea { short headertype; /* OLD! 0=no header, 1= down, 2= up */ short do_refresh; /* private, for spacetype refresh callback */ - short cursor, flag; + short flag; short region_active_win; /* index of last used region of 'RGN_TYPE_WINDOW' * runtuime variable, updated by executing operators */ + short pad; struct SpaceType *type; /* callbacks for this space type */ |