[Bf-blender-cvs] [64b090037c] temp-select-pick: Merge branch 'master' into temp-select-pick

Campbell Barton noreply at git.blender.org
Tue Mar 7 16:20:10 CET 2017


Commit: 64b090037c7c032f58bd273f7e001af86d0c3b7e
Author: Campbell Barton
Date:   Sun Mar 5 21:00:20 2017 +1100
Branches: temp-select-pick
https://developer.blender.org/rB64b090037c7c032f58bd273f7e001af86d0c3b7e

Merge branch 'master' into temp-select-pick

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



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

diff --cc source/blender/editors/armature/armature_select.c
index be8e0bb152,a3b4b342fa..7366270550
--- a/source/blender/editors/armature/armature_select.c
+++ b/source/blender/editors/armature/armature_select.c
@@@ -304,39 -303,12 +304,33 @@@ static EditBone *get_nearest_editbonepo
  		ebone_next_act = NULL;
  	}
  
- 	rect.xmin = mval[0] - 5;
- 	rect.xmax = mval[0] + 5;
- 	rect.ymin = mval[1] - 5;
- 	rect.ymax = mval[1] + 5;
+ 	BLI_rcti_init_pt_size(&rect, mval, 5);
  
 -	hits = view3d_opengl_select(vc, buffer, MAXPICKBUF, &rect, true);
 +	bool use_cycle = true;
 +	bool do_nearest = false;
 +
 +	/* define if we use solid nearest select or not */
 +	if (use_cycle) {
 +		if (vc->v3d->drawtype > OB_WIRE) {
 +			do_nearest = true;
 +			if (len_manhattan_v2v2_int(mval, last_mval) < 3) {
 +				do_nearest = false;
 +			}
 +		}
 +		copy_v2_v2_int(last_mval, mval);
 +	}
 +	else {
 +		if (vc->v3d->drawtype > OB_WIRE) {
 +			do_nearest = true;
 +		}
 +	}
 +
 +	const int select_mode = (do_nearest ? VIEW3D_SELECT_DEPTH_SORT_NEAREST : VIEW3D_SELECT_DEPTH_SORT_ALL);
 +
 +	hits = view3d_opengl_select(vc, buffer, MAXPICKBUF, &rect, select_mode);
  	if (hits == 0) {
- 		rect.xmin = mval[0] - 12;
- 		rect.xmax = mval[0] + 12;
- 		rect.ymin = mval[1] - 12;
- 		rect.ymax = mval[1] + 12;
+ 		BLI_rcti_init_pt_size(&rect, mval, 12);
 -		hits = view3d_opengl_select(vc, buffer, MAXPICKBUF, &rect, true);
 +		hits = view3d_opengl_select(vc, buffer, MAXPICKBUF, &rect, select_mode);
  	}
  	/* See if there are any selected bones in this group */
  	if (hits > 0) {
diff --cc source/blender/editors/armature/editarmature_sketch.c
index dc30a78fe7,3168c7373f..e878e25e1b
--- a/source/blender/editors/armature/editarmature_sketch.c
+++ b/source/blender/editors/armature/editarmature_sketch.c
@@@ -1907,12 -1907,9 +1907,9 @@@ static bool sk_selectStroke(bContext *C
  
  	view3d_set_viewcontext(C, &vc);
  
- 	rect.xmin = mval[0] - 5;
- 	rect.xmax = mval[0] + 5;
- 	rect.ymin = mval[1] - 5;
- 	rect.ymax = mval[1] + 5;
+ 	BLI_rcti_init_pt_size(&rect, mval, 5);
  
 -	hits = view3d_opengl_select(&vc, buffer, MAXPICKBUF, &rect, true);
 +	hits = view3d_opengl_select(&vc, buffer, MAXPICKBUF, &rect, VIEW3D_SELECT_DEPTH_SORT_NEAREST);
  
  	if (hits > 0) {
  		int besthitresult = -1;
diff --cc source/blender/editors/metaball/mball_edit.c
index 5f5c994f33,9c42d3eb08..29e9f046a2
--- a/source/blender/editors/metaball/mball_edit.c
+++ b/source/blender/editors/metaball/mball_edit.c
@@@ -592,12 -592,9 +592,9 @@@ bool ED_mball_select_pick(bContext *C, 
  
  	view3d_set_viewcontext(C, &vc);
  
- 	rect.xmin = mval[0] - 12;
- 	rect.xmax = mval[0] + 12;
- 	rect.ymin = mval[1] - 12;
- 	rect.ymax = mval[1] + 12;
+ 	BLI_rcti_init_pt_size(&rect, mval, 12);
  
 -	hits = view3d_opengl_select(&vc, buffer, MAXPICKBUF, &rect, true);
 +	hits = view3d_opengl_select(&vc, buffer, MAXPICKBUF, &rect, VIEW3D_SELECT_DEPTH_SORT_NEAREST);
  
  	/* does startelem exist? */
  	ml = mb->editelems->first;




More information about the Bf-blender-cvs mailing list