Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_convert.c
| Show First 20 Lines • Show All 1,773 Lines • ▼ Show 20 Lines | if ((t->scene->toolsettings->automerge) && ((t->flag & T_EDIT) && t->obedit_type == OB_MESH)) { | ||||
| FOREACH_TRANS_DATA_CONTAINER (t, tc) { | FOREACH_TRANS_DATA_CONTAINER (t, tc) { | ||||
| BMEditMesh *em = BKE_editmesh_from_object(tc->obedit); | BMEditMesh *em = BKE_editmesh_from_object(tc->obedit); | ||||
| BMesh *bm = em->bm; | BMesh *bm = em->bm; | ||||
| char hflag; | char hflag; | ||||
| bool has_face_sel = (bm->totfacesel != 0); | bool has_face_sel = (bm->totfacesel != 0); | ||||
| if (tc->mirror.axis_flag) { | if (tc->mirror.axis_flag) { | ||||
| TransData *td; | TransDataMirror *tdm; | ||||
| int i; | int i; | ||||
| /* Rather then adjusting the selection (which the user would notice) | /* Rather then adjusting the selection (which the user would notice) | ||||
| * tag all mirrored verts, then auto-merge those. */ | * tag all mirrored verts, then auto-merge those. */ | ||||
| BM_mesh_elem_hflag_disable_all(bm, BM_VERT, BM_ELEM_TAG, false); | BM_mesh_elem_hflag_disable_all(bm, BM_VERT, BM_ELEM_TAG, false); | ||||
| for (i = 0, td = tc->data; i < tc->data_len; i++, td++) { | for (i = tc->mirror.data_len, tdm = tc->mirror.data; i--; tdm++) { | ||||
| if (td->extra) { | BM_elem_flag_enable((BMVert *)tdm->extra, BM_ELEM_TAG); | ||||
| BM_elem_flag_enable((BMVert *)td->extra, BM_ELEM_TAG); | |||||
| } | |||||
| } | } | ||||
| hflag = BM_ELEM_SELECT | BM_ELEM_TAG; | hflag = BM_ELEM_SELECT | BM_ELEM_TAG; | ||||
| } | } | ||||
| else { | else { | ||||
| hflag = BM_ELEM_SELECT; | hflag = BM_ELEM_SELECT; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 951 Lines • Show Last 20 Lines | |||||