[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [56564] trunk/blender/source/blender/ python/bmesh/bmesh_py_types.c: use BM_face_create_ngon_verts for python api face creation

Campbell Barton ideasman42 at gmail.com
Wed May 8 14:59:46 CEST 2013


Revision: 56564
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=56564
Author:   campbellbarton
Date:     2013-05-08 12:59:46 +0000 (Wed, 08 May 2013)
Log Message:
-----------
use BM_face_create_ngon_verts for python api face creation
(avoid doing it inline).

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

Modified: trunk/blender/source/blender/python/bmesh/bmesh_py_types.c
===================================================================
--- trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2013-05-08 12:59:35 UTC (rev 56563)
+++ trunk/blender/source/blender/python/bmesh/bmesh_py_types.c	2013-05-08 12:59:46 UTC (rev 56564)
@@ -1974,10 +1974,8 @@
 	else {
 		BMesh *bm = self->bm;
 		Py_ssize_t vert_seq_len;
-		Py_ssize_t i, i_next;
 
 		BMVert **vert_array = NULL;
-		BMEdge **edge_array = NULL;
 
 		PyObject *ret = NULL;
 
@@ -2005,15 +2003,8 @@
 		/* Go ahead and make the face!
 		 * --------------------------- */
 
-		edge_array = (BMEdge **)PyMem_MALLOC(vert_seq_len * sizeof(BMEdge **));
+		f_new = BM_face_create_ngon_verts(bm, vert_array, vert_seq_len, 0, false, true);
 
-		/* ensure edges */
-		for (i = vert_seq_len - 1, i_next = 0; i_next < vert_seq_len; (i = i_next++)) {
-			edge_array[i] = BM_edge_create(bm, vert_array[i], vert_array[i_next], NULL, BM_CREATE_NO_DOUBLE);
-		}
-
-		f_new = BM_face_create(bm, vert_array, edge_array, vert_seq_len, 0);
-
 		if (UNLIKELY(f_new == NULL)) {
 			PyErr_SetString(PyExc_ValueError,
 			                "faces.new(verts): couldn't create the new face, internal error");
@@ -2029,7 +2020,6 @@
 		/* pass through */
 cleanup:
 		if (vert_array) PyMem_FREE(vert_array);
-		if (edge_array) PyMem_FREE(edge_array);
 		return ret;
 	}
 }




More information about the Bf-blender-cvs mailing list