[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52343] trunk/blender/source/blender: bmesh: BM_verts_in_face was using bmesh operator flag which is no longer ensured to be available ,

Campbell Barton ideasman42 at gmail.com
Mon Nov 19 01:54:58 CET 2012


Revision: 52343
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52343
Author:   campbellbarton
Date:     2012-11-19 00:54:55 +0000 (Mon, 19 Nov 2012)
Log Message:
-----------
bmesh: BM_verts_in_face was using bmesh operator flag which is no longer ensured to be available,
use internal apiflag instead, Thanks to Nicholas Bishop for spotting.

also quiet some warnings.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
    trunk/blender/source/blender/bmesh/intern/bmesh_core.c
    trunk/blender/source/blender/bmesh/intern/bmesh_private.h
    trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
    trunk/blender/source/blender/bmesh/intern/bmesh_queries.h
    trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
    trunk/blender/source/blender/bmesh/operators/bmo_create.c
    trunk/blender/source/blender/bmesh/operators/bmo_hull.c
    trunk/blender/source/blender/editors/mesh/editmesh_rip.c
    trunk/blender/source/blender/python/bmesh/bmesh_py_types.c

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -8367,10 +8367,10 @@
 	{
 		Object *ob;
 		for (ob = main->object.first; ob; ob = ob->id.next) {
-			if (ob->step_height == 0.0) {
-				ob->step_height = 0.150;
-				ob->jump_speed = 10.0;
-				ob->fall_speed = 55.0;
+			if (ob->step_height == 0.0f) {
+				ob->step_height = 0.15f;
+				ob->jump_speed = 10.0f;
+				ob->fall_speed = 55.0f;
 			}
 		}
 	}

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_construct.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_construct.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -99,7 +99,7 @@
 
 	if (nodouble) {
 		/* check if face exists or overlaps */
-		is_overlap = BM_face_exists(bm, verts, len, &f);
+		is_overlap = BM_face_exists(verts, len, &f);
 	}
 
 	/* make new face */

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_core.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_core.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_core.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -311,7 +311,7 @@
 
 	if (nodouble) {
 		/* Check if face already exists */
-		overlap = BM_face_exists(bm, verts, len, &f);
+		overlap = BM_face_exists(verts, len, &f);
 		if (overlap) {
 			return f;
 		}

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_private.h
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_private.h	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_private.h	2012-11-19 00:54:55 UTC (rev 52343)
@@ -56,11 +56,16 @@
 int bmesh_radial_length(BMLoop *l);
 int bmesh_disk_count(BMVert *v);
 
-/* NOTE: ensure different parts of the API do not conflict
+/**
+ * Internal BMHeader.api_flag
+ * \note Ensure different parts of the API do not conflict
  * on using these internal flags!*/
-#define _FLAG_JF	1 /* join faces */
-#define _FLAG_MF	2 /* make face */
-#define _FLAG_MV	2 /* make face, vertex */
+enum {
+	_FLAG_JF       = (1 << 0),  /* join faces */
+	_FLAG_MF       = (1 << 1),  /* make face */
+	_FLAG_MV       = (1 << 1),  /* make face, vertex */
+	_FLAG_OVERLAP  = (1 << 2)   /* general overlap flag  */
+};
 
 #define BM_ELEM_API_FLAG_ENABLE(element, f)  ((element)->head.api_flag |=  (f))
 #define BM_ELEM_API_FLAG_DISABLE(element, f) ((element)->head.api_flag &= ~(f))

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_queries.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_queries.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -39,8 +39,6 @@
 #include "bmesh.h"
 #include "intern/bmesh_private.h"
 
-#define BM_OVERLAP (1 << 13)
-
 /**
  * Returns whether or not a given vertex is
  * is part of a given edge.
@@ -240,7 +238,7 @@
  * Compares the number of vertices in an array
  * that appear in a given face
  */
-int BM_verts_in_face(BMesh *bm, BMFace *f, BMVert **varr, int len)
+int BM_verts_in_face(BMFace *f, BMVert **varr, int len)
 {
 	BMLoop *l_iter, *l_first;
 
@@ -251,7 +249,7 @@
 	int i, count = 0;
 	
 	for (i = 0; i < len; i++) {
-		BMO_elem_flag_enable(bm, varr[i], BM_OVERLAP);
+		BM_ELEM_API_FLAG_ENABLE(varr[i], _FLAG_OVERLAP);
 	}
 
 #ifdef USE_BMESH_HOLES
@@ -266,14 +264,16 @@
 #endif
 
 		do {
-			if (BMO_elem_flag_test(bm, l_iter->v, BM_OVERLAP)) {
+			if (BM_ELEM_API_FLAG_TEST(l_iter->v, _FLAG_OVERLAP)) {
 				count++;
 			}
 
 		} while ((l_iter = l_iter->next) != l_first);
 	}
 
-	for (i = 0; i < len; i++) BMO_elem_flag_disable(bm, varr[i], BM_OVERLAP);
+	for (i = 0; i < len; i++) {
+		BM_ELEM_API_FLAG_DISABLE(varr[i], _FLAG_OVERLAP);
+	}
 
 	return count;
 }
@@ -1217,7 +1217,7 @@
  * \returns TRUE for overlap
  *
  */
-int BM_face_exists_overlap(BMesh *bm, BMVert **varr, int len, BMFace **r_overlapface)
+int BM_face_exists_overlap(BMVert **varr, int len, BMFace **r_overlapface)
 {
 	BMIter viter;
 	BMFace *f;
@@ -1225,7 +1225,7 @@
 
 	for (i = 0; i < len; i++) {
 		BM_ITER_ELEM (f, &viter, varr[i], BM_FACES_OF_VERT) {
-			amount = BM_verts_in_face(bm, f, varr, len);
+			amount = BM_verts_in_face(f, varr, len);
 			if (amount >= len) {
 				if (r_overlapface) {
 					*r_overlapface = f;
@@ -1247,7 +1247,7 @@
  * there is a face with exactly those vertices
  * (and only those vertices).
  */
-int BM_face_exists(BMesh *bm, BMVert **varr, int len, BMFace **r_existface)
+int BM_face_exists(BMVert **varr, int len, BMFace **r_existface)
 {
 	BMIter viter;
 	BMFace *f;
@@ -1255,7 +1255,7 @@
 
 	for (i = 0; i < len; i++) {
 		BM_ITER_ELEM (f, &viter, varr[i], BM_FACES_OF_VERT) {
-			amount = BM_verts_in_face(bm, f, varr, len);
+			amount = BM_verts_in_face(f, varr, len);
 			if (amount == len && amount == f->len) {
 				if (r_existface) {
 					*r_existface = f;

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_queries.h
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_queries.h	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_queries.h	2012-11-19 00:54:55 UTC (rev 52343)
@@ -28,7 +28,7 @@
  */
 
 int     BM_vert_in_face(BMFace *f, BMVert *v);
-int     BM_verts_in_face(BMesh *bm, BMFace *f, BMVert **varr, int len);
+int     BM_verts_in_face(BMFace *f, BMVert **varr, int len);
 
 int     BM_edge_in_face(BMFace *f, BMEdge *e);
 int     BM_edge_in_loop(BMEdge *e, BMLoop *l);
@@ -77,9 +77,9 @@
 BMEdge *BM_edge_exists(BMVert *v1, BMVert *v2);
 BMEdge *BM_edge_find_double(BMEdge *e);
 
-int     BM_face_exists_overlap(BMesh *bm, BMVert **varr, int len, BMFace **r_existface);
+int     BM_face_exists_overlap(BMVert **varr, int len, BMFace **r_existface);
 
-int     BM_face_exists(BMesh *bm, BMVert **varr, int len, BMFace **r_existface);
+int     BM_face_exists(BMVert **varr, int len, BMFace **r_existface);
 
 int     BM_face_exists_multi(BMVert **varr, BMEdge **earr, int len);
 int     BM_face_exists_multi_edge(BMEdge **earr, int len);

Modified: trunk/blender/source/blender/bmesh/operators/bmo_bevel.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_bevel.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/operators/bmo_bevel.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -20,7 +20,7 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-/** \file blender/bmesh/operators/bmesh_bevel.c
+/** \file blender/bmesh/operators/bmo_bevel.c
  *  \ingroup bmesh
  */
 

Modified: trunk/blender/source/blender/bmesh/operators/bmo_create.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/operators/bmo_create.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -769,7 +769,7 @@
 				verts[i] = node->v;
 			}
 
-			if (BM_face_exists(bm, verts, i, &f)) {
+			if (BM_face_exists(verts, i, &f)) {
 				if (!BMO_elem_flag_test(bm, f, FACE_IGNORE)) {
 					BLI_ghash_remove(gh, endv, NULL, NULL);
 					continue;

Modified: trunk/blender/source/blender/bmesh/operators/bmo_hull.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_hull.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/bmesh/operators/bmo_hull.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -119,7 +119,7 @@
 			};
 			BMFace *f, *example = NULL;
 
-			if (BM_face_exists(bm, t->v, 3, &f)) {
+			if (BM_face_exists(t->v, 3, &f)) {
 				/* If the operator is run with "use_existing_faces"
 				 * disabled, but an output face in the hull is the
 				 * same as a face in the existing mesh, it should not

Modified: trunk/blender/source/blender/editors/mesh/editmesh_rip.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -489,7 +489,7 @@
 			}
 
 			/* face should never exist */
-			BLI_assert(BM_face_exists(bm, f_verts, f_verts[3] ? 4 : 3, &f) == FALSE);
+			BLI_assert(BM_face_exists(f_verts, f_verts[3] ? 4 : 3, &f) == FALSE);
 
 			f = BM_face_create_quad_tri_v(bm, f_verts, f_verts[3] ? 4 : 3, f_example, FALSE);
 

Modified: trunk/blender/source/blender/python/bmesh/bmesh_py_types.c
===================================================================
--- trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2012-11-19 00:41:11 UTC (rev 52342)
+++ trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2012-11-19 00:54:55 UTC (rev 52343)
@@ -1790,7 +1790,7 @@
 		}
 
 		/* check if the face exists */
-		if (BM_face_exists(bm, vert_array, vert_seq_len, NULL)) {
+		if (BM_face_exists(vert_array, vert_seq_len, NULL)) {
 			PyErr_SetString(PyExc_ValueError,
 			                "faces.new(verts): face already exists");
 			goto cleanup;
@@ -2012,7 +2012,7 @@
 			return NULL;
 		}
 
-		if (BM_face_exists(bm, vert_array, vert_seq_len, &f)) {
+		if (BM_face_exists(vert_array, vert_seq_len, &f)) {
 			ret = BPy_BMFace_CreatePyObject(bm, f);
 		}
 		else {




More information about the Bf-blender-cvs mailing list