[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