diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-01-14 06:59:18 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-01-14 07:14:39 +0300 |
commit | 65b82e09d94e77f7d8fb079f24fe82aee8e2509e (patch) | |
tree | 3524bf14fef8df443f5c05a7bcd7731a4ba5525c /source/blender/editors/transform/transform_conversions.c | |
parent | 9c7adcfd8b58b01dba6dd3abd871fc82c71b5ad7 (diff) |
Fix T57852: Mesh X Mirror option not working
D3869 by @lichtwerk w/ own edits
Diffstat (limited to 'source/blender/editors/transform/transform_conversions.c')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 6e4386a4171..cf911a995a1 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -2676,12 +2676,9 @@ static void createTransEditVerts(TransInfo *t) * Optional, allocate if needed. */ int *dists_index = NULL; - if (t->flag & T_MIRROR) { - /* TODO(campbell): xform: We need support for many mirror objects at once! */ - if (tc->is_active) { - EDBM_verts_mirror_cache_begin(em, 0, false, (t->flag & T_PROP_EDIT) == 0, use_topology); - mirror = 1; - } + if (tc->mirror.axis_flag) { + EDBM_verts_mirror_cache_begin(em, 0, false, (t->flag & T_PROP_EDIT) == 0, use_topology); + mirror = 1; } /** @@ -2791,7 +2788,7 @@ static void createTransEditVerts(TransInfo *t) BM_ITER_MESH (eve, &iter, bm, BM_VERTS_OF_MESH) { if (BM_elem_flag_test(eve, BM_ELEM_SELECT) && eve->co[0] != 0.0f) { if (eve->co[0] < 0.0f) { - t->mirror = -1; + tc->mirror.sign = -1.0f; mirror = -1; } break; @@ -2895,7 +2892,7 @@ cleanup: if (dists_index) MEM_freeN(dists_index); - if (t->flag & T_MIRROR) { + if (tc->mirror.axis_flag) { EDBM_verts_mirror_cache_end(em); } } @@ -6381,7 +6378,7 @@ static void special_aftertrans_update__mesh(bContext *UNUSED(C), TransInfo *t) char hflag; bool has_face_sel = (bm->totfacesel != 0); - if (t->flag & T_MIRROR) { + if (tc->mirror.axis_flag) { TransData *td; int i; |