[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44083] branches/bmesh/blender/source/ blender: Minor API Edits.
Campbell Barton
ideasman42 at gmail.com
Mon Feb 13 07:59:33 CET 2012
Revision: 44083
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44083
Author: campbellbarton
Date: 2012-02-13 06:59:25 +0000 (Mon, 13 Feb 2012)
Log Message:
-----------
Minor API Edits.
added BM_mesh_elem_flag_enable_all (only had disable function), and add
argunt for vert/edge/face type.
use these functions from EDBM_flag_enable/disable_all (had duplicate
code).
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c
branches/bmesh/blender/source/blender/bmesh/operators/bmo_subdivide.c
branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h 2012-02-13 05:59:14 UTC (rev 44082)
+++ branches/bmesh/blender/source/blender/bmesh/bmesh_marking.h 2012-02-13 06:59:25 UTC (rev 44083)
@@ -47,7 +47,8 @@
* chuck it.*/
int BM_elem_select_test(BMesh *bm, const void *element);
-void BM_mesh_flag_disable_all(BMesh *bm, const char hflag);
+void BM_mesh_elem_flag_enable_all(BMesh *bm, const char htype, const char hflag);
+void BM_mesh_elem_flag_disable_all(BMesh *bm, const char htype, const char hflag);
/* individual element select functions, BM_elem_select_set is a shortcut for these
* that automatically detects which one to use*/
Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c 2012-02-13 05:59:14 UTC (rev 44082)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_marking.c 2012-02-13 06:59:25 UTC (rev 44083)
@@ -754,7 +754,7 @@
}
}
-void BM_mesh_flag_disable_all(BMesh *bm, const char hflag)
+void BM_mesh_elem_flag_disable_all(BMesh *bm, const char htype, const char hflag)
{
const char iter_types[3] = {BM_VERTS_OF_MESH,
BM_EDGES_OF_MESH,
@@ -768,15 +768,44 @@
}
for (i = 0; i < 3; i++) {
- ele = BM_iter_new(&iter, bm, iter_types[i], NULL);
- for ( ; ele; ele = BM_iter_step(&iter)) {
- if (hflag & BM_ELEM_SELECT) BM_elem_select_set(bm, ele, FALSE);
- BM_elem_flag_disable(ele, hflag);
+ if (htype & iter_types[i]) {
+ ele = BM_iter_new(&iter, bm, iter_types[i], NULL);
+ for ( ; ele; ele = BM_iter_step(&iter)) {
+ if (hflag & BM_ELEM_SELECT) {
+ BM_elem_select_set(bm, ele, FALSE);
+ }
+ BM_elem_flag_disable(ele, hflag);
+ }
}
}
}
+void BM_mesh_elem_flag_enable_all(BMesh *bm, const char htype, const char hflag)
+{
+ const char iter_types[3] = {BM_VERTS_OF_MESH,
+ BM_EDGES_OF_MESH,
+ BM_FACES_OF_MESH};
+ BMIter iter;
+ BMHeader *ele;
+ int i;
+ if (hflag & BM_ELEM_SELECT) {
+ BM_select_history_clear(bm);
+ }
+
+ for (i = 0; i < 3; i++) {
+ if (htype & iter_types[i]) {
+ ele = BM_iter_new(&iter, bm, iter_types[i], NULL);
+ for ( ; ele; ele = BM_iter_step(&iter)) {
+ if (hflag & BM_ELEM_SELECT) {
+ BM_elem_select_set(bm, ele, TRUE);
+ }
+ BM_elem_flag_enable(ele, hflag);
+ }
+ }
+ }
+}
+
/***************** Mesh Hiding stuff *********** */
#define BM_ELEM_HIDE_SET(ele, hide) \
Modified: branches/bmesh/blender/source/blender/bmesh/operators/bmo_subdivide.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bmo_subdivide.c 2012-02-13 05:59:14 UTC (rev 44082)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bmo_subdivide.c 2012-02-13 06:59:25 UTC (rev 44083)
@@ -1044,8 +1044,8 @@
BMHeader *ele;
// int i;
- /* deselect inpu */
- BM_mesh_flag_disable_all(bm, BM_ELEM_SELECT);
+ /* deselect input */
+ BM_mesh_elem_flag_disable_all(bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_SELECT);
ele = BMO_iter_new(&iter, bm, &op, "outinner", BM_EDGE|BM_VERT);
for ( ; ele; ele = BMO_iter_step(&iter)) {
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2012-02-13 05:59:14 UTC (rev 44082)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmesh_tools.c 2012-02-13 06:59:25 UTC (rev 44083)
@@ -3563,7 +3563,7 @@
EDBM_InitOpf(em, &bmop, op, "split geom=%hvef", BM_ELEM_SELECT);
BMO_op_exec(em->bm, &bmop);
- BM_mesh_flag_disable_all(em->bm, BM_ELEM_SELECT);
+ BM_mesh_elem_flag_disable_all(em->bm, BM_VERT | BM_EDGE | BM_FACE, BM_ELEM_SELECT);
BMO_slot_buffer_hflag_enable(em->bm, &bmop, "geomout", BM_ELEM_SELECT, BM_ALL);
if (!EDBM_FinishOp(em, &bmop, op, TRUE)) {
return OPERATOR_CANCELLED;
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c 2012-02-13 05:59:14 UTC (rev 44082)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c 2012-02-13 06:59:25 UTC (rev 44083)
@@ -468,44 +468,12 @@
void EDBM_flag_disable_all(BMEditMesh *em, const char hflag)
{
- const char iter_types[3] = {BM_VERTS_OF_MESH,
- BM_EDGES_OF_MESH,
- BM_FACES_OF_MESH};
- BMIter iter;
- BMHeader *ele;
- int i;
-
- if (hflag & BM_ELEM_SELECT)
- BM_select_history_clear(em->bm);
-
- for (i = 0; i < 3; i++) {
- BM_ITER(ele, &iter, em->bm, iter_types[i], NULL) {
- if (hflag & BM_ELEM_SELECT) BM_elem_select_set(em->bm, ele, FALSE);
- BM_elem_flag_disable(ele, hflag);
- }
- }
+ BM_mesh_elem_flag_disable_all(em->bm, BM_VERT|BM_EDGE|BM_FACE, hflag);
}
void EDBM_flag_enable_all(BMEditMesh *em, const char hflag)
{
- const char iter_types[3] = {BM_VERTS_OF_MESH,
- BM_EDGES_OF_MESH,
- BM_FACES_OF_MESH};
- BMIter iter;
- BMHeader *ele;
- int i;
-
- for (i = 0; i < 3; i++) {
- ele = BM_iter_new(&iter, em->bm, iter_types[i], NULL);
- for ( ; ele; ele = BM_iter_step(&iter)) {
- if (hflag & BM_ELEM_SELECT) {
- BM_elem_select_set(em->bm, ele, TRUE);
- }
- else {
- BM_elem_flag_enable(ele, hflag);
- }
- }
- }
+ BM_mesh_elem_flag_enable_all(em->bm, BM_VERT|BM_EDGE|BM_FACE, hflag);
}
/**************-------------- Undo ------------*****************/
More information about the Bf-blender-cvs
mailing list