diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-28 21:13:09 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-06-28 21:13:09 +0400 |
commit | 77e0709e48a067b765bd79382e202aa7a781d65a (patch) | |
tree | 73e9a3bd4768b8f9f98e3470e645b3a5cbfbacdf /source/blender/editors/mesh/editmesh_utils.c | |
parent | e5ff9cced440708c34a48a274cc8dc24ff3b2d49 (diff) |
Fix #35551: the topology mirror setting affected shape key and vertex group but
this was confusing as there was no setting visible for it. Now these menus
contain an entry to mirror without and with topology mirror.
Diffstat (limited to 'source/blender/editors/mesh/editmesh_utils.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_utils.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c index 560c314405e..834db3f9ad1 100644 --- a/source/blender/editors/mesh/editmesh_utils.c +++ b/source/blender/editors/mesh/editmesh_utils.c @@ -1151,13 +1151,13 @@ static BMVert *cache_mirr_intptr_as_bmvert(intptr_t *index_lookup, int index) * \param em Editmesh. * \param use_self Allow a vertex to point to its self (middle verts). * \param use_select Restrict to selected verts. - * \param is_topo Use topology mirror. + * \param use_topology Use topology mirror. * \param maxdist Distance for close point test. * \param r_index Optional array to write into, as an alternative to a customdata layer (length of total verts). */ void EDBM_verts_mirror_cache_begin_ex(BMEditMesh *em, const int axis, const bool use_self, const bool use_select, /* extra args */ - const bool is_topo, float maxdist, int *r_index) + const bool use_topology, float maxdist, int *r_index) { Mesh *me = (Mesh *)em->ob->data; BMesh *bm = em->bm; @@ -1188,7 +1188,7 @@ void EDBM_verts_mirror_cache_begin_ex(BMEditMesh *em, const int axis, const bool BM_mesh_elem_index_ensure(bm, BM_VERT); - if (is_topo) { + if (use_topology) { ED_mesh_mirrtopo_init(me, -1, &mesh_topo_store, true); } else { @@ -1208,7 +1208,7 @@ void EDBM_verts_mirror_cache_begin_ex(BMEditMesh *em, const int axis, const bool BMVert *v_mirr; int *idx = VERT_INTPTR(v, i); - if (is_topo) { + if (use_topology) { v_mirr = cache_mirr_intptr_as_bmvert(mesh_topo_store.index_lookup, i); } else { @@ -1233,7 +1233,7 @@ void EDBM_verts_mirror_cache_begin_ex(BMEditMesh *em, const int axis, const bool #undef VERT_INTPTR - if (is_topo) { + if (use_topology) { ED_mesh_mirrtopo_free(&mesh_topo_store); } else { @@ -1242,17 +1242,13 @@ void EDBM_verts_mirror_cache_begin_ex(BMEditMesh *em, const int axis, const bool } void EDBM_verts_mirror_cache_begin(BMEditMesh *em, const int axis, - const bool use_self, const bool use_select) + const bool use_self, const bool use_select, + const bool use_topology) { - Mesh *me = (Mesh *)em->ob->data; - bool is_topo; - - is_topo = (me && (me->editflag & ME_EDIT_MIRROR_TOPO)); - EDBM_verts_mirror_cache_begin_ex(em, axis, use_self, use_select, /* extra args */ - is_topo, BM_SEARCH_MAXDIST_MIRR, NULL); + use_topology, BM_SEARCH_MAXDIST_MIRR, NULL); } BMVert *EDBM_verts_mirror_get(BMEditMesh *em, BMVert *v) |