[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51646] trunk/blender/source/blender/bmesh /intern: add a function for merging 2 bmesh element flags into a 3rd item.

Campbell Barton ideasman42 at gmail.com
Fri Oct 26 08:19:52 CEST 2012


Revision: 51646
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51646
Author:   campbellbarton
Date:     2012-10-26 06:19:49 +0000 (Fri, 26 Oct 2012)
Log Message:
-----------
add a function for merging 2 bmesh element flags into a 3rd item.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_decimate_unsubdivide.c
    trunk/blender/source/blender/bmesh/intern/bmesh_inline.h

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_decimate_unsubdivide.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_decimate_unsubdivide.c	2012-10-26 05:33:06 UTC (rev 51645)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_decimate_unsubdivide.c	2012-10-26 06:19:49 UTC (rev 51646)
@@ -146,7 +146,7 @@
 				BMLoop *l_new;
 				BLI_assert(l->prev->v != l->next->v);
 				BM_face_split(bm, l->f, l->prev->v, l->next->v, &l_new, NULL, TRUE);
-				BM_elem_flag_enable(l_new->e, l->e->head.hflag | l->prev->e->head.hflag);
+				BM_elem_flag_merge_into(l_new->e, l->e, l->prev->e);
 			}
 		}
 

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_inline.h
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_inline.h	2012-10-26 05:33:06 UTC (rev 51645)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_inline.h	2012-10-26 06:19:49 UTC (rev 51646)
@@ -37,6 +37,7 @@
 #define BM_elem_flag_set(      ele, hflag, val) _bm_elem_flag_set      (&(ele)->head, hflag, val)
 #define BM_elem_flag_toggle(   ele, hflag)      _bm_elem_flag_toggle   (&(ele)->head, hflag)
 #define BM_elem_flag_merge(    ele_a, ele_b)    _bm_elem_flag_merge    (&(ele_a)->head, &(ele_b)->head)
+#define BM_elem_flag_merge_into(ele, ele_a, ele_b)_bm_elem_flag_merge_into (&(ele)->head, &(ele_a)->head, &(ele_b)->head)
 
 BLI_INLINE char _bm_elem_flag_test(const BMHeader *head, const char hflag)
 {
@@ -74,6 +75,11 @@
 	head_a->hflag = head_b->hflag = head_a->hflag | head_b->hflag;
 }
 
+BLI_INLINE void _bm_elem_flag_merge_into(BMHeader *head, const BMHeader *head_a, const BMHeader *head_b)
+{
+	head->hflag = head_a->hflag | head_b->hflag;
+}
+
 /**
  * notes on #BM_elem_index_set(...) usage,
  * Set index is sometimes abused as temp storage, other times we cant be




More information about the Bf-blender-cvs mailing list