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.
This commit is contained in:
Campbell Barton
2013-02-03 02:54:24 +00:00
parent ad2b4c6e54
commit f0d4b85fef
2 changed files with 10 additions and 12 deletions

View File

@@ -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]);
}
}
}
}

View File

@@ -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 */