[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39463] branches/bmesh/blender/source/ blender/editors: bmesh todo: material mesh select/deselect added.

Campbell Barton ideasman42 at gmail.com
Tue Aug 16 20:45:03 CEST 2011


Revision: 39463
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39463
Author:   campbellbarton
Date:     2011-08-16 18:45:03 +0000 (Tue, 16 Aug 2011)
Log Message:
-----------
bmesh todo: material mesh select/deselect added.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/editors/include/ED_mesh.h
    branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
    branches/bmesh/blender/source/blender/editors/render/render_shading.c

Modified: branches/bmesh/blender/source/blender/editors/include/ED_mesh.h
===================================================================
--- branches/bmesh/blender/source/blender/editors/include/ED_mesh.h	2011-08-16 18:22:29 UTC (rev 39462)
+++ branches/bmesh/blender/source/blender/editors/include/ED_mesh.h	2011-08-16 18:45:03 UTC (rev 39463)
@@ -178,6 +178,8 @@
 int			EDBM_init_backbuf_border(struct ViewContext *vc, short xmin, short ymin, short xmax, short ymax);
 int			EDBM_init_backbuf_circle(struct ViewContext *vc, short xs, short ys, short rads);
 
+void EDBM_deselect_by_material(struct BMEditMesh *em, const short index, const short select);
+
 void EDBM_select_swap(struct BMEditMesh *em); /* exported for UV */
 void EDBM_set_actFace(struct BMEditMesh *em, struct BMFace *efa);
 

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2011-08-16 18:22:29 UTC (rev 39462)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_select.c	2011-08-16 18:45:03 UTC (rev 39463)
@@ -1362,6 +1362,21 @@
 }
 
 
+void EDBM_deselect_by_material(struct BMEditMesh *em, const short index, const short select)
+{
+	BMIter iter;
+	BMFace *efa;
+
+	BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) {
+		if (BM_TestHFlag(efa, BM_HIDDEN))
+			continue;
+		if(efa->mat_nr == index) {
+			BM_Select(em->bm, efa, select);
+		}
+	}
+}
+
+
 void EDBM_select_swap(BMEditMesh *em) /* exported for UV */
 {
 	BMIter iter;

Modified: branches/bmesh/blender/source/blender/editors/render/render_shading.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/render/render_shading.c	2011-08-16 18:22:29 UTC (rev 39462)
+++ branches/bmesh/blender/source/blender/editors/render/render_shading.c	2011-08-16 18:45:03 UTC (rev 39463)
@@ -225,15 +225,11 @@
 		return OPERATOR_CANCELLED;
 
 	if(ob->type == OB_MESH) {
-/*BMESH_TODO
 		BMEditMesh *em= ((Mesh*)ob->data)->edit_btmesh;
+
 		if(em) {
-			if(select)
-				EM_select_by_material(em, ob->actcol-1);
-			else
-				EM_deselect_by_material(em, ob->actcol-1);
+			EDBM_deselect_by_material(em, ob->actcol-1, select);
 		}
-*/
 	}
 	else if ELEM(ob->type, OB_CURVE, OB_SURF) {
 		ListBase *nurbs= ED_curve_editnurbs((Curve*)ob->data);




More information about the Bf-blender-cvs mailing list