diff options
author | Campbell Barton <ideasman42@gmail.com> | 2014-02-28 14:10:32 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2014-02-28 14:26:19 +0400 |
commit | 771b0e354c3ce3fbce5f73c3ca42e8ce0465659a (patch) | |
tree | e2033178ce60e29bf21142317654a04cdcd55b61 /source/blender/editors/util | |
parent | 433b20b7eab28a9fdf0eecea990e667fd9072a26 (diff) |
Fix Crazyspace with proportional editing
Diffstat (limited to 'source/blender/editors/util')
-rw-r--r-- | source/blender/editors/util/crazyspace.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/util/crazyspace.c b/source/blender/editors/util/crazyspace.c index 67b805943bf..86d2017e997 100644 --- a/source/blender/editors/util/crazyspace.c +++ b/source/blender/editors/util/crazyspace.c @@ -152,7 +152,8 @@ float (*crazyspace_get_mapped_editverts(Scene *scene, Object *obedit))[3] return vertexcos; } -void crazyspace_set_quats_editmesh(BMEditMesh *em, float (*origcos)[3], float (*mappedcos)[3], float (*quats)[4]) +void crazyspace_set_quats_editmesh(BMEditMesh *em, float (*origcos)[3], float (*mappedcos)[3], float (*quats)[4], + const bool use_select) { BMFace *f; BMIter iter; @@ -172,8 +173,12 @@ void crazyspace_set_quats_editmesh(BMEditMesh *em, float (*origcos)[3], float (* l_iter = l_first = BM_FACE_FIRST_LOOP(f); do { - if (!BM_elem_flag_test(l_iter->v, BM_ELEM_SELECT) || BM_elem_flag_test(l_iter->v, BM_ELEM_HIDDEN)) + if (BM_elem_flag_test(l_iter->v, BM_ELEM_HIDDEN) || + BM_elem_flag_test(l_iter->v, BM_ELEM_TAG) || + (use_select && !BM_elem_flag_test(l_iter->v, BM_ELEM_SELECT))) + { continue; + } if (!BM_elem_flag_test(l_iter->v, BM_ELEM_TAG)) { const float *co_prev, *co_curr, *co_next; /* orig */ |