add destructive argument to bmesh.update_edit_mesh()

This commit is contained in:
2012-12-12 06:57:41 +00:00
parent 44b634bcb1
commit 3e8b56b321

View File

@@ -98,7 +98,7 @@ static PyObject *bpy_bm_from_edit_mesh(PyObject *UNUSED(self), PyObject *value)
} }
PyDoc_STRVAR(bpy_bm_update_edit_mesh_doc, PyDoc_STRVAR(bpy_bm_update_edit_mesh_doc,
".. method:: update_edit_mesh(mesh, tessface=True)\n" ".. method:: update_edit_mesh(mesh, tessface=True, destructive=True)\n"
"\n" "\n"
" Update the mesh after changes to the BMesh in editmode, \n" " Update the mesh after changes to the BMesh in editmode, \n"
" optionally recalculating n-gon tessellation.\n" " optionally recalculating n-gon tessellation.\n"
@@ -107,14 +107,17 @@ PyDoc_STRVAR(bpy_bm_update_edit_mesh_doc,
" :type mesh: :class:`bpy.types.Mesh`\n" " :type mesh: :class:`bpy.types.Mesh`\n"
" :arg tessface: Option to recalculate n-gon tessellation.\n" " :arg tessface: Option to recalculate n-gon tessellation.\n"
" :type tessface: boolean\n" " :type tessface: boolean\n"
" :arg destructive: Use when grometry has been added or removed.\n"
" :type destructive: boolean\n"
); );
static PyObject *bpy_bm_update_edit_mesh(PyObject *UNUSED(self), PyObject *args) static PyObject *bpy_bm_update_edit_mesh(PyObject *UNUSED(self), PyObject *args)
{ {
PyObject *py_me; PyObject *py_me;
Mesh *me; Mesh *me;
int do_tessface = TRUE; int do_tessface = TRUE;
int is_destructive = TRUE;
if (!PyArg_ParseTuple(args, "O|i:update_edit_mesh", &py_me, &do_tessface)) { if (!PyArg_ParseTuple(args, "O|ii:update_edit_mesh", &py_me, &do_tessface, &is_destructive)) {
return NULL; return NULL;
} }
@@ -134,10 +137,11 @@ static PyObject *bpy_bm_update_edit_mesh(PyObject *UNUSED(self), PyObject *args)
/* XXX, not great - infact this function could just not use the context at all /* XXX, not great - infact this function could just not use the context at all
* postpone that change until after release: BMESH_TODO - campbell */ * postpone that change until after release: BMESH_TODO - campbell */
extern struct bContext *BPy_GetContext(void); extern struct bContext *BPy_GetContext(void);
extern void EDBM_update_generic(struct bContext *C, BMEditMesh *em, const short do_tessface); extern void EDBM_update_generic(struct bContext *C, BMEditMesh *em,
const short do_tessface, const short is_destructive);
struct bContext *C = BPy_GetContext(); struct bContext *C = BPy_GetContext();
EDBM_update_generic(C, me->edit_btmesh, do_tessface); EDBM_update_generic(C, me->edit_btmesh, do_tessface, is_destructive);
} }
Py_RETURN_NONE; Py_RETURN_NONE;