[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