Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormano-wii <germano.costa@ig.com.br>2019-09-11 19:48:42 +0300
committermano-wii <germano.costa@ig.com.br>2019-09-11 19:49:18 +0300
commit3bd4f229beb1e18802d93c9f5a44b0ec80828a26 (patch)
tree1776fbabac0554092f0f45b2e22de457235b75b1 /source/blender/editors/transform/transform_convert.c
parent003802db83b561f9ff061811c6cde83356e5b277 (diff)
Transform: Edit Mesh: Support mirror on all axes
Part of T68930 Now two other mirror options that can be enabled simultaneously: Mirror Y and Z. Reviewers: campbellbarton Reviewed By: campbellbarton Subscribers: ThatAsherGuy Differential Revision: https://developer.blender.org/D5720
Diffstat (limited to 'source/blender/editors/transform/transform_convert.c')
-rw-r--r--source/blender/editors/transform/transform_convert.c26
1 files changed, 4 insertions, 22 deletions
diff --git a/source/blender/editors/transform/transform_convert.c b/source/blender/editors/transform/transform_convert.c
index dfdd7b71332..1e783e0e7b8 100644
--- a/source/blender/editors/transform/transform_convert.c
+++ b/source/blender/editors/transform/transform_convert.c
@@ -1778,18 +1778,16 @@ static void special_aftertrans_update__mesh(bContext *UNUSED(C), TransInfo *t)
char hflag;
bool has_face_sel = (bm->totfacesel != 0);
- if (tc->mirror.axis_flag) {
- TransData *td;
+ if (tc->mirror.use_mirror_any) {
+ TransDataMirror *tdm;
int i;
/* Rather then adjusting the selection (which the user would notice)
* tag all mirrored verts, then auto-merge those. */
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++) {
- if (td->extra) {
- BM_elem_flag_enable((BMVert *)td->extra, BM_ELEM_TAG);
- }
+ for (i = tc->mirror.data_len, tdm = tc->mirror.data; i--; tdm++) {
+ BM_elem_flag_enable((BMVert *)tdm->extra, BM_ELEM_TAG);
}
hflag = BM_ELEM_SELECT | BM_ELEM_TAG;
@@ -1850,26 +1848,10 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
* on transform completion since it's
* really slow -joeedh */
projectEdgeSlideData(t, true);
-
- FOREACH_TRANS_DATA_CONTAINER (t, tc) {
- EdgeSlideData *sld = tc->custom.mode.data;
-
- if (sld == NULL) {
- continue;
- }
-
- /* Free temporary faces to avoid auto-merging and deleting
- * during cleanup - psy-fi. */
- freeEdgeSlideTempFaces(sld);
- }
}
else if (t->mode == TFM_VERT_SLIDE) {
/* as above */
projectVertSlideData(t, true);
- FOREACH_TRANS_DATA_CONTAINER (t, tc) {
- VertSlideData *sld = tc->custom.mode.data;
- freeVertSlideTempFaces(sld);
- }
}
if (t->obedit_type == OB_MESH) {