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 ------------*****************/

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to