31 self->opname = opname;
33 return (PyObject *)
self;
38 return PyUnicode_FromFormat(
"<%.200s bmesh.ops.%.200s()>", Py_TYPE(
self)->tp_name,
self->opname);
56 while (*slot_types[i].name) {
60 const int name_len = is_out ? (strchr(slot_types[i].name,
'.') - slot_types[i].name) :
61 sizeof(slot_types[i].name);
62 const char *value =
"<Unknown>";
63 switch (slot_types[i].
type) {
69 value = slot_types[i].enum_flags[0].identifier;
100 i ?
", %.*s=%s%s%s%s%s" :
"%.*s=%s%s%s%s%s",
128 ret = PyUnicode_FromFormat(
"%.200s bmesh.ops.%.200s(bmesh, %s)\n -> dict(%s)",
129 Py_TYPE(
self)->tp_name,
149 PyVarObject_HEAD_INIT(
NULL, 0)
"BMeshOpFunc",
232 const char *opname = PyUnicode_AsUTF8(pyname);
238 PyErr_Format(PyExc_AttributeError,
"BMeshOpsModule: operator \"%.200s\" doesn't exist", opname);
250 for (i = 0; i < tot; i++) {
265 PyModuleDef_HEAD_INIT,
A dynamically sized string ADT.
DynStr * BLI_dynstr_new(void) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
char * BLI_dynstr_get_cstring(const DynStr *ds) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BLI_dynstr_free(DynStr *ds) ATTR_NONNULL()
void BLI_dynstr_appendf(DynStr *__restrict ds, const char *__restrict format,...) ATTR_PRINTF_FORMAT(2
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
const int bmo_opdefines_total
const BMOpDefine * bmo_opdefines[]
@ BMO_OP_SLOT_SUBTYPE_ELEM_IS_SINGLE
@ BMO_OP_SLOT_ELEMENT_BUF
int BMO_opcode_from_opname(const char *opname)
@ BMO_OP_SLOT_SUBTYPE_INT_FLAG
@ BMO_OP_SLOT_SUBTYPE_INT_ENUM
static PyObject * bpy_bmesh_ops_module_dir(PyObject *UNUSED(self))
static struct PyMethodDef BPy_BM_ops_methods[]
static PyObject * bpy_bmesh_op_repr(BPy_BMeshOpFunc *self)
static PyObject * bpy_bmesh_op_doc_get(BPy_BMeshOpFunc *self, void *UNUSED(closure))
static PyObject * bpy_bmesh_op_CreatePyObject(const char *opname)
static PyGetSetDef bpy_bmesh_op_getseters[]
PyDoc_STRVAR(BPy_BM_ops_doc, "Access to BMesh operators")
PyObject * BPyInit_bmesh_ops(void)
static PyTypeObject bmesh_op_Type
static PyObject * bpy_bmesh_ops_module_getattro(PyObject *UNUSED(self), PyObject *pyname)
static struct PyModuleDef BPy_BM_ops_module_def
static char * bmp_slots_as_args(const BMOSlotType slot_types[BMO_OP_MAX_SLOTS], const bool is_out)
PyObject * BPy_BMO_call(BPy_BMeshOpFunc *self, PyObject *args, PyObject *kw)
void(* MEM_freeN)(void *vmemh)