Code Cleanup: use less confusing names for selection flushing.

This commit is contained in:
2012-02-10 03:03:42 +00:00
parent e57bb8081a
commit d7b8e7e9bc
10 changed files with 48 additions and 45 deletions

View File

@@ -159,10 +159,10 @@ int EDBM_get_actSelection(struct BMEditMesh *em, struct BMEditSelection *ese);
/*exactly the same as EDBM_selectmode_flush, but you pass in the selectmode /*exactly the same as EDBM_selectmode_flush, but you pass in the selectmode
instead of using the current one*/ instead of using the current one*/
void EDBM_select_flush(struct BMEditMesh *em, int selectmode); void EDBM_select_mode_flush(struct BMEditMesh *em, int selectmode);
void EDBM_deselectmode_flush(struct BMEditMesh *em); void EDBM_deselect_flush(struct BMEditMesh *em);
void EDBM_selectmode_flush(struct BMEditMesh *em); void EDBM_select_flush(struct BMEditMesh *em);
void EDBM_selectmode_set(struct BMEditMesh *em); void EDBM_selectmode_set(struct BMEditMesh *em);
void EDBM_convertsel(struct BMEditMesh *em, short oldmode, short selectmode); void EDBM_convertsel(struct BMEditMesh *em, short oldmode, short selectmode);

View File

@@ -766,7 +766,7 @@ static int similar_edge_select_exec(bContext *C, wmOperator *op)
/* select the output */ /* select the output */
BMO_HeaderFlag_Buffer(em->bm, &bmop, "edgeout", BM_SELECT, BM_ALL); BMO_HeaderFlag_Buffer(em->bm, &bmop, "edgeout", BM_SELECT, BM_ALL);
EDBM_selectmode_flush(em); EDBM_select_flush(em);
/* finish the operator */ /* finish the operator */
if (!EDBM_FinishOp(em, &bmop, op, TRUE)) { if (!EDBM_FinishOp(em, &bmop, op, TRUE)) {
@@ -817,7 +817,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED; return OPERATOR_CANCELLED;
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
/* dependencies graph and notification stuff */ /* dependencies graph and notification stuff */
DAG_id_tag_update(ob->data, OB_RECALC_DATA); DAG_id_tag_update(ob->data, OB_RECALC_DATA);
@@ -956,14 +956,14 @@ static int loop_multiselect(bContext *C, wmOperator *op)
eed = edarray[edindex]; eed = edarray[edindex];
walker_select(em, BMW_EDGERING, eed, 1); walker_select(em, BMW_EDGERING, eed, 1);
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
else{ else{
for(edindex = 0; edindex < totedgesel; edindex +=1) { for(edindex = 0; edindex < totedgesel; edindex +=1) {
eed = edarray[edindex]; eed = edarray[edindex];
walker_select(em, BMW_LOOP, eed, 1); walker_select(em, BMW_LOOP, eed, 1);
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
MEM_freeN(edarray); MEM_freeN(edarray);
// if (EM_texFaceCheck()) // if (EM_texFaceCheck())
@@ -1041,7 +1041,7 @@ static void mouse_mesh_loop(bContext *C, int mval[2], short extend, short ring)
walker_select(em, BMW_LOOP, eed, select); walker_select(em, BMW_LOOP, eed, select);
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
// if (EM_texFaceCheck()) // if (EM_texFaceCheck())
/* sets as active, useful for other tools */ /* sets as active, useful for other tools */
@@ -1394,7 +1394,7 @@ static void mouse_mesh_shortest_path(bContext *C, int mval[2])
edgetag_context_set(em, vc.scene, e, act); /* switch the edge option */ edgetag_context_set(em, vc.scene, e, act); /* switch the edge option */
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
/* even if this is selected it may not be in the selection list */ /* even if this is selected it may not be in the selection list */
if (edgetag_context_check(vc.scene, em, e)==0) if (edgetag_context_check(vc.scene, em, e)==0)
@@ -1506,7 +1506,7 @@ int mouse_mesh(bContext *C, const int mval[2], short extend)
} }
} }
EDBM_selectmode_flush(vc.em); EDBM_select_flush(vc.em);
// if (EM_texFaceCheck()) { // if (EM_texFaceCheck()) {
@@ -1575,7 +1575,7 @@ void EDBM_selectmode_set(BMEditMesh *em)
efa = BMIter_New(&iter, em->bm, BM_FACES_OF_MESH, NULL); efa = BMIter_New(&iter, em->bm, BM_FACES_OF_MESH, NULL);
for ( ; efa; efa=BMIter_Step(&iter)) BM_Select(em->bm, efa, FALSE);*/ for ( ; efa; efa=BMIter_Step(&iter)) BM_Select(em->bm, efa, FALSE);*/
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
else if (em->selectmode & SCE_SELECT_EDGE) { else if (em->selectmode & SCE_SELECT_EDGE) {
/* deselect vertices, and select again based on edge select */ /* deselect vertices, and select again based on edge select */
@@ -1590,7 +1590,7 @@ void EDBM_selectmode_set(BMEditMesh *em)
} }
/* selects faces based on edge status */ /* selects faces based on edge status */
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
else if (em->selectmode & SCE_SELECT_FACE) { else if (em->selectmode & SCE_SELECT_FACE) {
/* deselect eges, and select again based on face select */ /* deselect eges, and select again based on face select */
@@ -1809,7 +1809,7 @@ static int select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event
BM_Select(bm, e->v2, sel); BM_Select(bm, e->v2, sel);
} }
BMW_End(&walker); BMW_End(&walker);
EDBM_select_flush(em, SCE_SELECT_VERTEX); EDBM_select_mode_flush(em, SCE_SELECT_VERTEX);
} }
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit);
@@ -1908,7 +1908,7 @@ static int select_linked_exec(bContext *C, wmOperator *op)
} }
BMW_End(&walker); BMW_End(&walker);
} }
EDBM_select_flush(em, SCE_SELECT_VERTEX); EDBM_select_mode_flush(em, SCE_SELECT_VERTEX);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit);
@@ -2052,7 +2052,7 @@ static void walker_deselect_nth(BMEditMesh *em, int nth, int offset, BMHeader *h
BMO_pop(bm); BMO_pop(bm);
/* Flush selection up */ /* Flush selection up */
EDBM_select_flush(em, flushtype); EDBM_select_mode_flush(em, flushtype);
} }
static void deselect_nth_active(BMEditMesh *em, BMVert **v_p, BMEdge **e_p, BMFace **f_p) static void deselect_nth_active(BMEditMesh *em, BMVert **v_p, BMEdge **e_p, BMFace **f_p)
@@ -2067,7 +2067,7 @@ static void deselect_nth_active(BMEditMesh *em, BMVert **v_p, BMEdge **e_p, BMFa
*e_p= NULL; *e_p= NULL;
*f_p= NULL; *f_p= NULL;
EDBM_selectmode_flush(em); EDBM_select_flush(em);
ese= (BMEditSelection*)em->bm->selected.last; ese= (BMEditSelection*)em->bm->selected.last;
if (ese) { if (ese) {
@@ -2399,7 +2399,7 @@ static int mesh_select_random_exec(bContext *C, wmOperator *op)
BM_Select(em->bm, eve, TRUE); BM_Select(em->bm, eve, TRUE);
} }
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
else if (em->selectmode & SCE_SELECT_EDGE) { else if (em->selectmode & SCE_SELECT_EDGE) {
BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) { BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) {
@@ -2407,7 +2407,7 @@ static int mesh_select_random_exec(bContext *C, wmOperator *op)
BM_Select(em->bm, eed, TRUE); BM_Select(em->bm, eed, TRUE);
} }
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
else { else {
BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) {
@@ -2415,7 +2415,7 @@ static int mesh_select_random_exec(bContext *C, wmOperator *op)
BM_Select(em->bm, efa, TRUE); BM_Select(em->bm, efa, TRUE);
} }
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);

View File

@@ -1445,7 +1445,7 @@ void EDBM_hide_mesh(BMEditMesh *em, int swap)
BM_Hide(em->bm, h, 1); BM_Hide(em->bm, h, 1);
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
/*original hide flushing comment (OUTDATED): /*original hide flushing comment (OUTDATED):
hide happens on least dominant select mode, and flushes up, not down! (helps preventing errors in subsurf) */ hide happens on least dominant select mode, and flushes up, not down! (helps preventing errors in subsurf) */
@@ -1532,7 +1532,7 @@ void EDBM_reveal_mesh(BMEditMesh *em)
} }
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
static int reveal_mesh_exec(bContext *C, wmOperator *UNUSED(op)) static int reveal_mesh_exec(bContext *C, wmOperator *UNUSED(op))
@@ -2296,7 +2296,7 @@ static int select_vertex_path_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED; return OPERATOR_CANCELLED;
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
/* dependencies graph and notification stuff */ /* dependencies graph and notification stuff */
/* DAG_object_flush_update(scene, ob, OB_RECALC_DATA); /* DAG_object_flush_update(scene, ob, OB_RECALC_DATA);
@@ -2541,7 +2541,7 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event)
BM_Select(bm, ripvert, TRUE); BM_Select(bm, ripvert, TRUE);
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
BLI_assert(singlesel ? (bm->totvertsel > 0) : (bm->totedgesel > 0)); BLI_assert(singlesel ? (bm->totvertsel > 0) : (bm->totedgesel > 0));
@@ -2788,7 +2788,7 @@ static int select_axis_exec(bContext *C, wmOperator *op)
} }
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;
@@ -3303,7 +3303,7 @@ static int mesh_separate_loose(Main *bmain, Scene *scene, Base *editbase, wmOper
/*Flush the selection to clear edge/face selections to match /*Flush the selection to clear edge/face selections to match
selected vertices*/ selected vertices*/
EDBM_select_flush(em, SCE_SELECT_VERTEX); EDBM_select_mode_flush(em, SCE_SELECT_VERTEX);
/*A "while(true)" loop should work here as each iteration should /*A "while(true)" loop should work here as each iteration should
select and remove at least one vertex and when all vertices select and remove at least one vertex and when all vertices
@@ -3342,7 +3342,7 @@ static int mesh_separate_loose(Main *bmain, Scene *scene, Base *editbase, wmOper
/*Flush the selection to get edge/face selections matching /*Flush the selection to get edge/face selections matching
the vertex selection*/ the vertex selection*/
EDBM_select_flush(em, SCE_SELECT_VERTEX); EDBM_select_mode_flush(em, SCE_SELECT_VERTEX);
if (bm->totvert == bm->totvertsel) { if (bm->totvert == bm->totvertsel) {
/* Every vertex selected, nothing to separate, work is done */ /* Every vertex selected, nothing to separate, work is done */
@@ -3849,7 +3849,7 @@ static int select_by_number_vertices_exec(bContext *C, wmOperator *op)
} }
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;
@@ -3905,7 +3905,7 @@ static int select_loose_verts_exec(bContext *C, wmOperator *UNUSED(op))
} }
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;
@@ -3933,7 +3933,7 @@ static int select_mirror_exec(bContext *C, wmOperator *op)
int extend= RNA_boolean_get(op->ptr, "extend"); int extend= RNA_boolean_get(op->ptr, "extend");
EDBM_select_mirrored(obedit, em, extend); EDBM_select_mirrored(obedit, em, extend);
EDBM_selectmode_flush(em); EDBM_select_flush(em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;

View File

@@ -418,21 +418,24 @@ BMFace *EDBM_get_face_for_index(BMEditMesh *tm, int index)
return (tm->face_index && index<tm->bm->totface && index>=0) ? tm->face_index[index] : NULL; return (tm->face_index && index<tm->bm->totface && index>=0) ? tm->face_index[index] : NULL;
} }
void EDBM_select_flush(BMEditMesh *em, int selectmode) void EDBM_select_mode_flush(BMEditMesh *em, int selectmode)
{ {
em->bm->selectmode = selectmode; em->bm->selectmode = selectmode;
BM_SelectMode_Flush(em->bm); BM_SelectMode_Flush(em->bm);
em->bm->selectmode = em->selectmode; em->bm->selectmode = em->selectmode;
} }
void EDBM_deselectmode_flush(BMEditMesh *em) void EDBM_deselect_flush(BMEditMesh *em)
{ {
/* function below doesnt use. just do this to keep the values in sync */
em->bm->selectmode = em->selectmode;
BM_DeSelect_Flush(em->bm); BM_DeSelect_Flush(em->bm);
} }
void EDBM_selectmode_flush(BMEditMesh *em) void EDBM_select_flush(BMEditMesh *em)
{ {
/* function below doesnt use. just do this to keep the values in sync */
em->bm->selectmode = em->selectmode; em->bm->selectmode = em->selectmode;
BM_Select_Flush(em->bm); BM_Select_Flush(em->bm);
} }
@@ -449,7 +452,7 @@ void EDBM_select_more(BMEditMesh *em)
BMO_HeaderFlag_Buffer(em->bm, &bmop, "geomout", BM_SELECT, BM_ALL); BMO_HeaderFlag_Buffer(em->bm, &bmop, "geomout", BM_SELECT, BM_ALL);
BMO_Finish_Op(em->bm, &bmop); BMO_Finish_Op(em->bm, &bmop);
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
void EDBM_select_less(BMEditMesh *em) void EDBM_select_less(BMEditMesh *em)
@@ -464,7 +467,7 @@ void EDBM_select_less(BMEditMesh *em)
BMO_HeaderFlag_Buffer(em->bm, &bmop, "geomout", BM_SELECT, BM_ALL); BMO_HeaderFlag_Buffer(em->bm, &bmop, "geomout", BM_SELECT, BM_ALL);
BMO_Finish_Op(em->bm, &bmop); BMO_Finish_Op(em->bm, &bmop);
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
int EDBM_get_actSelection(BMEditMesh *em, BMEditSelection *ese) int EDBM_get_actSelection(BMEditMesh *em, BMEditSelection *ese)

View File

@@ -152,7 +152,7 @@ static void make_prim_finish(bContext *C, int *state, int enter_editmode)
/* Primitive has all verts selected, use vert select flush /* Primitive has all verts selected, use vert select flush
to push this up to edges & faces. */ to push this up to edges & faces. */
EDBM_select_flush(em, SCE_SELECT_VERTEX); EDBM_select_mode_flush(em, SCE_SELECT_VERTEX);
DAG_id_tag_update(obedit->data, OB_RECALC_DATA); DAG_id_tag_update(obedit->data, OB_RECALC_DATA);
WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data);

View File

@@ -333,11 +333,11 @@ static void ringsel_finish(bContext *C, wmOperator *op)
/* sets as active, useful for other tools */ /* sets as active, useful for other tools */
if(em->selectmode & SCE_SELECT_VERTEX) if(em->selectmode & SCE_SELECT_VERTEX)
EDBM_selectmode_flush(em); EDBM_select_flush(em);
if(em->selectmode & SCE_SELECT_EDGE) if(em->selectmode & SCE_SELECT_EDGE)
EDBM_selectmode_flush(em); EDBM_select_flush(em);
EDBM_selectmode_flush(lcd->em); EDBM_select_flush(lcd->em);
WM_event_add_notifier(C, NC_GEOM|ND_SELECT, lcd->ob->data); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, lcd->ob->data);
} }
} }

View File

@@ -155,7 +155,7 @@ static void select_editbmesh_hook(Object *ob, HookModifierData *hmd)
nr++; nr++;
} }
EDBM_selectmode_flush(em); EDBM_select_flush(em);
} }
static int return_editlattice_indexar(Lattice *editlatt, int *tot, int **indexar, float *cent) static int return_editlattice_indexar(Lattice *editlatt, int *tot, int **indexar, float *cent)

View File

@@ -602,8 +602,8 @@ static void vgroup_select_verts(Object *ob, int select)
} }
/* this has to be called, because this function operates on vertices only */ /* this has to be called, because this function operates on vertices only */
if(select) EDBM_selectmode_flush(em); // vertices to edges/faces if(select) EDBM_select_flush(em); // vertices to edges/faces
else EDBM_deselectmode_flush(em); else EDBM_deselect_flush(em);
} }
else { else {
if (me->dvert) { if (me->dvert) {

View File

@@ -562,7 +562,7 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves,
} }
EDBM_free_backbuf(); EDBM_free_backbuf();
EDBM_selectmode_flush(vc->em); EDBM_select_flush(vc->em);
} }
#if 0 #if 0
@@ -1819,7 +1819,7 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten
EDBM_free_backbuf(); EDBM_free_backbuf();
EDBM_selectmode_flush(vc->em); EDBM_select_flush(vc->em);
return OPERATOR_FINISHED; return OPERATOR_FINISHED;
} }
@@ -2348,7 +2348,7 @@ static void mesh_circle_select(ViewContext *vc, int select, const int mval[2], f
} }
EDBM_free_backbuf(); EDBM_free_backbuf();
EDBM_selectmode_flush(vc->em); EDBM_select_flush(vc->em);
} }
static void paint_facesel_circle_select(ViewContext *vc, int select, const int mval[2], float rad) static void paint_facesel_circle_select(ViewContext *vc, int select, const int mval[2], float rad)

View File

@@ -2179,7 +2179,7 @@ static int mouse_select(bContext *C, float co[2], int extend, int loop)
if(sync) { if(sync) {
/* flush for mesh selection */ /* flush for mesh selection */
if(ts->selectmode != SCE_SELECT_FACE) { if(ts->selectmode != SCE_SELECT_FACE) {
if(flush==1) EDBM_select_flush(em, ts->selectmode); if(flush==1) EDBM_select_mode_flush(em, ts->selectmode);
//else if(flush==-1) EDBM_deselect_flush(em); <-- I think this takes care of itself. . . //else if(flush==-1) EDBM_deselect_flush(em); <-- I think this takes care of itself. . .
} }
} }