Commit: 771b0e354c3ce3fbce5f73c3ca42e8ce0465659a
Author: Campbell Barton
Date:   Fri Feb 28 21:10:32 2014 +1100
https://developer.blender.org/rB771b0e354c3ce3fbce5f73c3ca42e8ce0465659a

Fix Crazyspace with proportional editing

===================================================================

M       source/blender/editors/include/ED_util.h
M       source/blender/editors/transform/transform_conversions.c
M       source/blender/editors/util/crazyspace.c

===================================================================

diff --git a/source/blender/editors/include/ED_util.h 
b/source/blender/editors/include/ED_util.h
index 9d1f88c..f268595 100644
--- a/source/blender/editors/include/ED_util.h
+++ b/source/blender/editors/include/ED_util.h
@@ -81,7 +81,8 @@ void    undo_editmode_clear(void);
 
 /* crazyspace.c */
 float (*crazyspace_get_mapped_editverts(struct Scene *scene, struct Object 
*obedit))[3];
-void crazyspace_set_quats_editmesh(struct BMEditMesh *em, float (*origcos)[3], 
float (*mappedcos)[3], float (*quats)[4]);
+void crazyspace_set_quats_editmesh(struct BMEditMesh *em, float (*origcos)[3], 
float (*mappedcos)[3], float (*quats)[4],
+                                   const bool use_select);
 void crazyspace_set_quats_mesh(struct Mesh *me, float (*origcos)[3], float 
(*mappedcos)[3], float (*quats)[4]);
 int sculpt_get_first_deform_matrices(struct Scene *scene, struct Object *ob, 
float (**deformmats)[3][3], float (**deformcos)[3]);
 void crazyspace_build_sculpt(struct Scene *scene, struct Object *ob, float 
(**deformmats)[3][3], float (**deformcos)[3]);
diff --git a/source/blender/editors/transform/transform_conversions.c 
b/source/blender/editors/transform/transform_conversions.c
index 3112382..a8c6f47 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -2252,7 +2252,7 @@ static void createTransEditVerts(TransInfo *t)
                {
                        mappedcos = crazyspace_get_mapped_editverts(t->scene, 
t->obedit);
                        quats = MEM_mallocN(em->bm->totvert * sizeof(*quats), 
"crazy quats");
-                       crazyspace_set_quats_editmesh(em, defcos, mappedcos, 
quats);
+                       crazyspace_set_quats_editmesh(em, defcos, mappedcos, 
quats, !propmode);
                        if (mappedcos)
                                MEM_freeN(mappedcos);
                }
diff --git a/source/blender/editors/util/crazyspace.c 
b/source/blender/editors/util/crazyspace.c
index 67b8059..86d2017 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 */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to