[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44428] trunk/blender/source/blender: fix for own regression in r44361 (broke BM_vert_in_face)

Campbell Barton ideasman42 at gmail.com
Sat Feb 25 15:56:44 CET 2012


Revision: 44428
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44428
Author:   campbellbarton
Date:     2012-02-25 14:56:37 +0000 (Sat, 25 Feb 2012)
Log Message:
-----------
fix for own regression in r44361 (broke BM_vert_in_face)

also fix py api: bmesh.utils.face_split(face, v1, v2)

Revision Links:
--------------
    http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44361

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
    trunk/blender/source/blender/python/bmesh/bmesh_py_types.c
    trunk/blender/source/blender/python/bmesh/bmesh_py_utils.c

Modified: trunk/blender/source/blender/bmesh/intern/bmesh_queries.c
===================================================================
--- trunk/blender/source/blender/bmesh/intern/bmesh_queries.c	2012-02-25 11:21:20 UTC (rev 44427)
+++ trunk/blender/source/blender/bmesh/intern/bmesh_queries.c	2012-02-25 14:56:37 UTC (rev 44428)
@@ -101,7 +101,26 @@
 
 int BM_vert_in_face(BMFace *f, BMVert *v)
 {
-	return bmesh_radial_find_first_faceloop(BM_FACE_FIRST_LOOP(f), v) != NULL;
+	BMLoop *l_iter, *l_first;
+
+#ifdef USE_BMESH_HOLES
+	BMLoopList *lst;
+	for (lst = f->loops.first; lst; lst = lst->next)
+#endif
+	{
+#ifdef USE_BMESH_HOLES
+		l_iter = l_first = lst->first;
+#else
+		l_iter = l_first = f->l_first;
+#endif
+		do {
+			if (l_iter->v == v) {
+				return TRUE;
+			}
+		} while ((l_iter = l_iter->next) != l_first);
+	}
+
+	return FALSE;
 }
 
 /*
@@ -551,7 +570,7 @@
 		return angle_normalized_v3v3(l1->f->no, l2->f->no);
 	}
 	else {
-		return (float)M_PI / 2.0f; /* acos(0.0) */
+		return DEG2RADF(90.0f);
 	}
 }
 
@@ -581,7 +600,7 @@
 		return M_PI - angle_v3v3v3(v1->co, v->co, v2->co);
 	}
 	else {
-		return (float)M_PI / 2.0f; /* acos(0.0) */
+		return DEG2RADF(90.0f);
 	}
 }
 

Modified: trunk/blender/source/blender/python/bmesh/bmesh_py_types.c
===================================================================
--- trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2012-02-25 11:21:20 UTC (rev 44427)
+++ trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2012-02-25 14:56:37 UTC (rev 44428)
@@ -708,6 +708,9 @@
 ".. method:: calc_edge_angle()\n"
 "\n"
 "   Return the angle between 2 connected edges.\n"
+"\n"
+"   :return: The angle between both edges in radians.\n"
+"   :rtype: float\n"
 );
 static PyObject *bpy_bmvert_calc_edge_angle(BPy_BMVert *self)
 {

Modified: trunk/blender/source/blender/python/bmesh/bmesh_py_utils.c
===================================================================
--- trunk/blender/source/blender/python/bmesh/bmesh_py_utils.c	2012-02-25 11:21:20 UTC (rev 44427)
+++ trunk/blender/source/blender/python/bmesh/bmesh_py_utils.c	2012-02-25 14:56:37 UTC (rev 44428)
@@ -327,7 +327,7 @@
 	BMFace *f_new = NULL;
 	BMLoop *l_new = NULL;
 
-	if (!PyArg_ParseTuple(args, "O!O!|O!:face_split",
+	if (!PyArg_ParseTuple(args, "O!O!O!|O!:face_split",
 	                      &BPy_BMFace_Type, &py_face,
 	                      &BPy_BMVert_Type, &py_vert_a,
 	                      &BPy_BMVert_Type, &py_vert_b,
@@ -362,7 +362,7 @@
 	bm = py_face->bm;
 
 	f_new = BM_face_split(bm, py_face->f,
-	                      py_vert_a->v, py_vert_a->v,
+	                      py_vert_a->v, py_vert_b->v,
 	                      &l_new, py_edge_example ? py_edge_example->e : NULL);
 
 	if (f_new && l_new) {




More information about the Bf-blender-cvs mailing list