minor edits for bmesh api
This commit is contained in:
@@ -71,7 +71,7 @@ static void recount_totsels(BMesh *bm)
|
|||||||
* (ie: all verts of an edge selects the edge and so on).
|
* (ie: all verts of an edge selects the edge and so on).
|
||||||
* This should only be called by system and not tool authors.
|
* This should only be called by system and not tool authors.
|
||||||
*/
|
*/
|
||||||
void BM_mesh_select_mode_flush(BMesh *bm)
|
void BM_mesh_select_mode_flush_ex(BMesh *bm, const short selectmode)
|
||||||
{
|
{
|
||||||
BMEdge *e;
|
BMEdge *e;
|
||||||
BMLoop *l_iter;
|
BMLoop *l_iter;
|
||||||
@@ -83,7 +83,7 @@ void BM_mesh_select_mode_flush(BMesh *bm)
|
|||||||
|
|
||||||
int ok;
|
int ok;
|
||||||
|
|
||||||
if (bm->selectmode & SCE_SELECT_VERTEX) {
|
if (selectmode & SCE_SELECT_VERTEX) {
|
||||||
BM_ITER_MESH (e, &eiter, bm, BM_EDGES_OF_MESH) {
|
BM_ITER_MESH (e, &eiter, bm, BM_EDGES_OF_MESH) {
|
||||||
if (BM_elem_flag_test(e->v1, BM_ELEM_SELECT) &&
|
if (BM_elem_flag_test(e->v1, BM_ELEM_SELECT) &&
|
||||||
BM_elem_flag_test(e->v2, BM_ELEM_SELECT) &&
|
BM_elem_flag_test(e->v2, BM_ELEM_SELECT) &&
|
||||||
@@ -113,7 +113,7 @@ void BM_mesh_select_mode_flush(BMesh *bm)
|
|||||||
BM_elem_flag_set(f, BM_ELEM_SELECT, ok);
|
BM_elem_flag_set(f, BM_ELEM_SELECT, ok);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (bm->selectmode & SCE_SELECT_EDGE) {
|
else if (selectmode & SCE_SELECT_EDGE) {
|
||||||
BM_ITER_MESH (f, &fiter, bm, BM_FACES_OF_MESH) {
|
BM_ITER_MESH (f, &fiter, bm, BM_FACES_OF_MESH) {
|
||||||
ok = TRUE;
|
ok = TRUE;
|
||||||
if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
|
if (!BM_elem_flag_test(f, BM_ELEM_HIDDEN)) {
|
||||||
@@ -139,6 +139,11 @@ void BM_mesh_select_mode_flush(BMesh *bm)
|
|||||||
recount_totsels(bm);
|
recount_totsels(bm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BM_mesh_select_mode_flush(BMesh *bm)
|
||||||
|
{
|
||||||
|
BM_mesh_select_mode_flush_ex(bm, bm->selectmode);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* mode independent flushing up/down
|
* mode independent flushing up/down
|
||||||
*/
|
*/
|
||||||
|
@@ -60,6 +60,7 @@ void BM_edge_select_set(BMesh *bm, BMEdge *e, int select);
|
|||||||
void BM_face_select_set(BMesh *bm, BMFace *f, int select);
|
void BM_face_select_set(BMesh *bm, BMFace *f, int select);
|
||||||
|
|
||||||
void BM_mesh_select_mode_set(BMesh *bm, int selectmode);
|
void BM_mesh_select_mode_set(BMesh *bm, int selectmode);
|
||||||
|
void BM_mesh_select_mode_flush_ex(BMesh *bm, const short selectmode);
|
||||||
void BM_mesh_select_mode_flush(BMesh *bm);
|
void BM_mesh_select_mode_flush(BMesh *bm);
|
||||||
|
|
||||||
void BM_mesh_deselect_flush(BMesh *bm);
|
void BM_mesh_deselect_flush(BMesh *bm);
|
||||||
|
@@ -104,14 +104,14 @@ struct BMFace *EDBM_face_at_index(struct BMEditMesh *em, int index);
|
|||||||
void EDBM_select_more(struct BMEditMesh *em);
|
void EDBM_select_more(struct BMEditMesh *em);
|
||||||
void EDBM_select_less(struct BMEditMesh *em);
|
void EDBM_select_less(struct BMEditMesh *em);
|
||||||
|
|
||||||
void EDBM_selectmode_flush_ex(struct BMEditMesh *em, int selectmode);
|
void EDBM_selectmode_flush_ex(struct BMEditMesh *em, const short selectmode);
|
||||||
void EDBM_selectmode_flush(struct BMEditMesh *em);
|
void EDBM_selectmode_flush(struct BMEditMesh *em);
|
||||||
|
|
||||||
void EDBM_deselect_flush(struct BMEditMesh *em);
|
void EDBM_deselect_flush(struct BMEditMesh *em);
|
||||||
void EDBM_select_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_selectmode_convert(struct BMEditMesh *em, short oldmode, short selectmode);
|
void EDBM_selectmode_convert(struct BMEditMesh *em, short oldmode, const short selectmode);
|
||||||
void undo_push_mesh(struct bContext *C, const char *name);
|
void undo_push_mesh(struct bContext *C, const char *name);
|
||||||
|
|
||||||
int EDBM_vert_color_check(struct BMEditMesh *em);
|
int EDBM_vert_color_check(struct BMEditMesh *em);
|
||||||
|
@@ -1682,15 +1682,15 @@ void EDBM_selectmode_set(BMEditMesh *em)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void EDBM_selectmode_convert(BMEditMesh *em, short oldmode, short selectmode)
|
void EDBM_selectmode_convert(BMEditMesh *em, const short selectmode_old, const short selectmode_new)
|
||||||
{
|
{
|
||||||
BMEdge *eed;
|
BMEdge *eed;
|
||||||
BMFace *efa;
|
BMFace *efa;
|
||||||
BMIter iter;
|
BMIter iter;
|
||||||
|
|
||||||
/* have to find out what the selectionmode was previously */
|
/* have to find out what the selectionmode was previously */
|
||||||
if (oldmode == SCE_SELECT_VERTEX) {
|
if (selectmode_old == SCE_SELECT_VERTEX) {
|
||||||
if (selectmode == SCE_SELECT_EDGE) {
|
if (selectmode_new == SCE_SELECT_EDGE) {
|
||||||
/* select all edges associated with every selected vertex */
|
/* select all edges associated with every selected vertex */
|
||||||
eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
|
eed = BM_iter_new(&iter, em->bm, BM_EDGES_OF_MESH, NULL);
|
||||||
for (; eed; eed = BM_iter_step(&iter)) {
|
for (; eed; eed = BM_iter_step(&iter)) {
|
||||||
@@ -1701,7 +1701,7 @@ void EDBM_selectmode_convert(BMEditMesh *em, short oldmode, short selectmode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (selectmode == SCE_SELECT_FACE) {
|
else if (selectmode_new == SCE_SELECT_FACE) {
|
||||||
BMIter liter;
|
BMIter liter;
|
||||||
BMLoop *l;
|
BMLoop *l;
|
||||||
|
|
||||||
@@ -1718,9 +1718,8 @@ void EDBM_selectmode_convert(BMEditMesh *em, short oldmode, short selectmode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (selectmode_old == SCE_SELECT_EDGE) {
|
||||||
if (oldmode == SCE_SELECT_EDGE) {
|
if (selectmode_new == SCE_SELECT_FACE) {
|
||||||
if (selectmode == SCE_SELECT_FACE) {
|
|
||||||
BMIter liter;
|
BMIter liter;
|
||||||
BMLoop *l;
|
BMLoop *l;
|
||||||
|
|
||||||
|
@@ -452,11 +452,9 @@ BMFace *EDBM_face_at_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_selectmode_flush_ex(BMEditMesh *em, int selectmode)
|
void EDBM_selectmode_flush_ex(BMEditMesh *em, const short selectmode)
|
||||||
{
|
{
|
||||||
em->bm->selectmode = selectmode;
|
BM_mesh_select_mode_flush_ex(em->bm, selectmode);
|
||||||
BM_mesh_select_mode_flush(em->bm);
|
|
||||||
em->bm->selectmode = em->selectmode;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EDBM_selectmode_flush(BMEditMesh *em)
|
void EDBM_selectmode_flush(BMEditMesh *em)
|
||||||
|
@@ -170,12 +170,12 @@ void convertViewVec(TransInfo *t, float r_vec[3], int dx, int dy)
|
|||||||
if (t->options & CTX_MASK) {
|
if (t->options & CTX_MASK) {
|
||||||
/* clamp w/h, mask only */
|
/* clamp w/h, mask only */
|
||||||
if (mulx / divx < muly / divy) {
|
if (mulx / divx < muly / divy) {
|
||||||
divx = divy = divx;
|
divy = divx;
|
||||||
mulx = muly = mulx;
|
muly = mulx;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
divx = divy = divy;
|
divx = divy;
|
||||||
mulx = muly = muly;
|
mulx = muly;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user