[Bf-blender-cvs] [f9aa8c6] blender-v2.73-release: BMesh: Tweak behavior for select more/less

Campbell Barton noreply at git.blender.org
Tue Jan 20 10:23:34 CET 2015


Commit: f9aa8c64e6d7f8a08f8386370782344df08a3db2
Author: Campbell Barton
Date:   Tue Jan 13 02:36:51 2015 +1100
Branches: blender-v2.73-release
https://developer.blender.org/rBf9aa8c64e6d7f8a08f8386370782344df08a3db2

BMesh: Tweak behavior for select more/less

Stepping over faces gives overall nice results but it stopped wire edges from working.
Now step over wire too.

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

M	source/blender/bmesh/operators/bmo_utils.c

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

diff --git a/source/blender/bmesh/operators/bmo_utils.c b/source/blender/bmesh/operators/bmo_utils.c
index e7b65a1..da1991a 100644
--- a/source/blender/bmesh/operators/bmo_utils.c
+++ b/source/blender/bmesh/operators/bmo_utils.c
@@ -236,6 +236,20 @@ static void bmo_region_extend_expand(
 							bmo_face_flag_set_flush(bm, f, SEL_FLAG, true);
 						}
 					}
+
+					/* handle wire edges (when stepping over faces) */
+					{
+						BMIter eiter;
+						BMEdge *e;
+						BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
+							if (BM_edge_is_wire(e)) {
+								if (!BMO_elem_flag_test(bm, e, SEL_FLAG)) {
+									BMO_elem_flag_enable(bm, e, SEL_FLAG);
+									BMO_elem_flag_enable(bm, BM_edge_other_vert(e, v), SEL_FLAG);
+								}
+							}
+						}
+					}
 				}
 			}
 		}
@@ -306,6 +320,21 @@ static void bmo_region_extend_contract(
 						break;
 					}
 				}
+
+				/* handle wire edges (when stepping over faces) */
+				if (!found) {
+					BMIter eiter;
+					BMEdge *e;
+
+					BM_ITER_ELEM (e, &eiter, v, BM_EDGES_OF_VERT) {
+						if (BM_edge_is_wire(e)) {
+							if (!BMO_elem_flag_test(bm, e, SEL_ORIG)) {
+								found = true;
+								break;
+							}
+						}
+					}
+				}
 			}
 
 			if (found) {




More information about the Bf-blender-cvs mailing list