Blender V5.0
bmesh_py_types_meshdata.cc File Reference
#include <Python.h>
#include "../mathutils/mathutils.hh"
#include "DNA_meshdata_types.h"
#include "BKE_customdata.hh"
#include "BLI_math_base.h"
#include "BLI_math_color.h"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "BKE_deform.hh"
#include "bmesh.hh"
#include "bmesh_py_types_meshdata.hh"
#include "../generic/py_capi_utils.hh"
#include "../generic/python_utildefines.hh"

Go to the source code of this file.

Classes

struct  BPy_BMLoopUV
struct  BPy_BMVertSkin
struct  BPy_BMDeformVert

Macros

#define BPy_BMLoopUV_Check(v)
#define BPy_BMVertSkin_Check(v)
#define MLOOPCOL_FROM_CAPSULE(color_capsule)
#define BPy_BMDeformVert_Check(v)

Functions

 PyDoc_STRVAR (bpy_bmloopuv_uv_doc, "Loops UV (as a 2D Vector).\n" "\n" ":type: :class:`mathutils.Vector`\n")
static PyObject * bpy_bmloopuv_uv_get (BPy_BMLoopUV *self, void *)
static int bpy_bmloopuv_uv_set (BPy_BMLoopUV *self, PyObject *value, void *)
 PyDoc_STRVAR (bpy_bmloopuv_pin_uv_doc, "UV pin state.\n" "\n" ":type: bool\n")
static PyObject * bpy_bmloopuv_pin_uv_get (BPy_BMLoopUV *self, void *)
static int bpy_bmloopuv_pin_uv_set (BPy_BMLoopUV *self, PyObject *value, void *)
static void bm_init_types_bmloopuv ()
int BPy_BMLoopUV_AssignPyObject (BMesh *bm, BMLoop *loop, PyObject *value)
PyObject * BPy_BMLoopUV_CreatePyObject (BMesh *bm, BMLoop *loop, int layer)
 PyDoc_STRVAR (bpy_bmvertskin_radius_doc, "Vert skin radii (as a 2D Vector).\n" "\n" ":type: :class:`mathutils.Vector`\n")
static PyObject * bpy_bmvertskin_radius_get (BPy_BMVertSkin *self, void *)
static int bpy_bmvertskin_radius_set (BPy_BMVertSkin *self, PyObject *value, void *)
 PyDoc_STRVAR (bpy_bmvertskin_flag__use_root_doc, "Use as root vertex. Setting this flag does not clear other roots in the same mesh island.\n" "\n" ":type: bool\n")
 PyDoc_STRVAR (bpy_bmvertskin_flag__use_loose_doc, "Use loose vertex.\n" "\n" ":type: bool\n")
static PyObject * bpy_bmvertskin_flag_get (BPy_BMVertSkin *self, void *flag_p)
static int bpy_bmvertskin_flag_set (BPy_BMVertSkin *self, PyObject *value, void *flag_p)
static void bm_init_types_bmvertskin ()
int BPy_BMVertSkin_AssignPyObject (MVertSkin *mvertskin, PyObject *value)
PyObject * BPy_BMVertSkin_CreatePyObject (MVertSkin *mvertskin)
static void mloopcol_to_float (const MLoopCol *mloopcol, float r_col[4])
static void mloopcol_from_float (MLoopCol *mloopcol, const float col[4])
static int mathutils_bmloopcol_check (BaseMathObject *)
static int mathutils_bmloopcol_get (BaseMathObject *bmo, int)
static int mathutils_bmloopcol_set (BaseMathObject *bmo, int)
static int mathutils_bmloopcol_get_index (BaseMathObject *bmo, int subtype, int)
static int mathutils_bmloopcol_set_index (BaseMathObject *bmo, int subtype, int index)
static void bm_init_types_bmloopcol ()
int BPy_BMLoopColor_AssignPyObject (MLoopCol *mloopcol, PyObject *value)
PyObject * BPy_BMLoopColor_CreatePyObject (MLoopCol *mloopcol)
static Py_ssize_t bpy_bmdeformvert_len (BPy_BMDeformVert *self)
static PyObject * bpy_bmdeformvert_subscript (BPy_BMDeformVert *self, PyObject *key)
static int bpy_bmdeformvert_ass_subscript (BPy_BMDeformVert *self, PyObject *key, PyObject *value)
static int bpy_bmdeformvert_contains (BPy_BMDeformVert *self, PyObject *value)
 PyDoc_STRVAR (bpy_bmdeformvert_keys_doc, ".. method:: keys()\n" "\n" " Return the group indices used by this vertex\n" " (matching Python's dict.keys() functionality).\n" "\n" " :return: the deform group this vertex uses\n" " :rtype: list[int]\n")
static PyObject * bpy_bmdeformvert_keys (BPy_BMDeformVert *self)
 PyDoc_STRVAR (bpy_bmdeformvert_values_doc, ".. method:: values()\n" "\n" " Return the weights of the deform vertex\n" " (matching Python's dict.values() functionality).\n" "\n" " :return: The weights that influence this vertex\n" " :rtype: list[float]\n")
static PyObject * bpy_bmdeformvert_values (BPy_BMDeformVert *self)
 PyDoc_STRVAR (bpy_bmdeformvert_items_doc, ".. method:: items()\n" "\n" " Return (group, weight) pairs for this vertex\n" " (matching Python's dict.items() functionality).\n" "\n" " :return: (key, value) pairs for each deform weight of this vertex.\n" " :rtype: list[tuple[int, float]]\n")
static PyObject * bpy_bmdeformvert_items (BPy_BMDeformVert *self)
 PyDoc_STRVAR (bpy_bmdeformvert_get_doc, ".. method:: get(key, default=None)\n" "\n" " Returns the deform weight matching the key or default\n" " when not found (matches Python's dictionary function of the same name).\n" "\n" " :arg key: The key associated with deform weight.\n" " :type key: int\n" " :arg default: Optional argument for the value to return if\n" " *key* is not found.\n" " :type default: Any\n")
static PyObject * bpy_bmdeformvert_get (BPy_BMDeformVert *self, PyObject *args)
 PyDoc_STRVAR (bpy_bmdeformvert_clear_doc, ".. method:: clear()\n" "\n" " Clears all weights.\n")
static PyObject * bpy_bmdeformvert_clear (BPy_BMDeformVert *self)
static void bm_init_types_bmdvert ()
int BPy_BMDeformVert_AssignPyObject (MDeformVert *dvert, PyObject *value)
PyObject * BPy_BMDeformVert_CreatePyObject (MDeformVert *dvert)
void BPy_BM_init_types_meshdata ()

Variables

static PyGetSetDef bpy_bmloopuv_getseters []
PyTypeObject BPy_BMLoopUV_Type
static PyGetSetDef bpy_bmvertskin_getseters []
static PyTypeObject BPy_BMVertSkin_Type
static uchar mathutils_bmloopcol_cb_index = -1
static Mathutils_Callback mathutils_bmloopcol_cb
static PySequenceMethods bpy_bmdeformvert_as_sequence
static PyMappingMethods bpy_bmdeformvert_as_mapping
static PyMethodDef bpy_bmdeformvert_methods []
PyTypeObject BPy_BMDeformVert_Type

Detailed Description

This file defines custom-data types which can't be accessed as primitive Python types such as MDeformVert. It also exposed UV map data in a way compatible with the (deprecated) #MLoopUV type. MLoopUV used to be a struct containing both the UV information and various selection flags. This has since been split up into a float2 attribute and three boolean attributes for the selection/pin states. For backwards compatibility, the original #MLoopUV is emulated in the python API. This comes at a performance penalty however, and the plan is to provide direct access to the boolean layers for faster access. Eventually (probably in 4.0) BPy_BMLoopUV should be removed on the Python side as well.

Definition in file bmesh_py_types_meshdata.cc.

Macro Definition Documentation

◆ BPy_BMDeformVert_Check

#define BPy_BMDeformVert_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMDeformVert_Type)
PyTypeObject BPy_BMDeformVert_Type
ATTR_WARN_UNUSED_RESULT const BMVert * v

This is python type wraps a deform vert as a python dictionary, hiding the MDeformWeight on access, since the mapping is very close, eg:

weight = BKE_defvert_find_weight(dv, group_nr);
float BKE_defvert_find_weight(const MDeformVert *dvert, int defgroup)
Definition deform.cc:774
void BKE_defvert_remove_group(MDeformVert *dvert, MDeformWeight *dw)
Definition deform.cc:880
weight = dv[group_nr]
del dv[group_nr]
Note
There is nothing BMesh specific here, its only that BMesh is the only part of blender that uses a hand written API like this. This type could eventually be used to access lattice weights.
Many of Blender-API's dictionary-like-wrappers act like ordered dictionaries, This is intentionally not ordered, the weights can be in any order and it won't matter, the order should not be used in the API in any meaningful way (as with a python dict) only expose as mapping, not a sequence.

Definition at line 429 of file bmesh_py_types_meshdata.cc.

Referenced by BPy_BMDeformVert_AssignPyObject().

◆ BPy_BMLoopUV_Check

#define BPy_BMLoopUV_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMLoopUV_Type)
PyTypeObject BPy_BMLoopUV_Type

Definition at line 44 of file bmesh_py_types_meshdata.cc.

Referenced by BPy_BMLoopUV_AssignPyObject().

◆ BPy_BMVertSkin_Check

#define BPy_BMVertSkin_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMVertSkin_Type)
static PyTypeObject BPy_BMVertSkin_Type

Definition at line 179 of file bmesh_py_types_meshdata.cc.

Referenced by BPy_BMVertSkin_AssignPyObject().

◆ MLOOPCOL_FROM_CAPSULE

#define MLOOPCOL_FROM_CAPSULE ( color_capsule)
Value:
((MLoopCol *)PyCapsule_GetPointer(color_capsule, nullptr))

Definition at line 309 of file bmesh_py_types_meshdata.cc.

Referenced by mathutils_bmloopcol_get(), and mathutils_bmloopcol_set().

Function Documentation

◆ bm_init_types_bmdvert()

void bm_init_types_bmdvert ( )
static

◆ bm_init_types_bmloopcol()

void bm_init_types_bmloopcol ( )
static

◆ bm_init_types_bmloopuv()

void bm_init_types_bmloopuv ( )
static

Definition at line 129 of file bmesh_py_types_meshdata.cc.

References bpy_bmloopuv_getseters, and BPy_BMLoopUV_Type.

Referenced by BPy_BM_init_types_meshdata().

◆ bm_init_types_bmvertskin()

void bm_init_types_bmvertskin ( )
static

◆ BPy_BM_init_types_meshdata()

void BPy_BM_init_types_meshdata ( )

◆ bpy_bmdeformvert_ass_subscript()

int bpy_bmdeformvert_ass_subscript ( BPy_BMDeformVert * self,
PyObject * key,
PyObject * value )
static

◆ BPy_BMDeformVert_AssignPyObject()

int BPy_BMDeformVert_AssignPyObject ( MDeformVert * dvert,
PyObject * value )
nodiscard

◆ bpy_bmdeformvert_clear()

PyObject * bpy_bmdeformvert_clear ( BPy_BMDeformVert * self)
static

Definition at line 669 of file bmesh_py_types_meshdata.cc.

References BKE_defvert_clear(), and self.

◆ bpy_bmdeformvert_contains()

int bpy_bmdeformvert_contains ( BPy_BMDeformVert * self,
PyObject * value )
static

Definition at line 520 of file bmesh_py_types_meshdata.cc.

References BKE_defvert_find_index(), and self.

◆ BPy_BMDeformVert_CreatePyObject()

PyObject * BPy_BMDeformVert_CreatePyObject ( MDeformVert * dvert)
nodiscard

Definition at line 738 of file bmesh_py_types_meshdata.cc.

References BPy_BMDeformVert_Type, and self.

Referenced by BPy_BMLayerItem_GetItem().

◆ bpy_bmdeformvert_get()

PyObject * bpy_bmdeformvert_get ( BPy_BMDeformVert * self,
PyObject * args )
static

Definition at line 645 of file bmesh_py_types_meshdata.cc.

References BKE_defvert_find_index(), self, and MDeformWeight::weight.

◆ bpy_bmdeformvert_items()

PyObject * bpy_bmdeformvert_items ( BPy_BMDeformVert * self)
static

◆ bpy_bmdeformvert_keys()

PyObject * bpy_bmdeformvert_keys ( BPy_BMDeformVert * self)
static

Definition at line 567 of file bmesh_py_types_meshdata.cc.

References MDeformWeight::def_nr, i, ret, and self.

◆ bpy_bmdeformvert_len()

Py_ssize_t bpy_bmdeformvert_len ( BPy_BMDeformVert * self)
static

Definition at line 439 of file bmesh_py_types_meshdata.cc.

References self.

◆ bpy_bmdeformvert_subscript()

PyObject * bpy_bmdeformvert_subscript ( BPy_BMDeformVert * self,
PyObject * key )
static

Definition at line 444 of file bmesh_py_types_meshdata.cc.

References BKE_defvert_find_index(), i, self, and MDeformWeight::weight.

◆ bpy_bmdeformvert_values()

PyObject * bpy_bmdeformvert_values ( BPy_BMDeformVert * self)
static

Definition at line 591 of file bmesh_py_types_meshdata.cc.

References i, ret, self, and MDeformWeight::weight.

◆ BPy_BMLoopColor_AssignPyObject()

int BPy_BMLoopColor_AssignPyObject ( MLoopCol * mloopcol,
PyObject * value )
nodiscard

Definition at line 380 of file bmesh_py_types_meshdata.cc.

References mathutils_array_parse(), and mloopcol_from_float().

Referenced by BPy_BMLayerItem_SetItem().

◆ BPy_BMLoopColor_CreatePyObject()

PyObject * BPy_BMLoopColor_CreatePyObject ( MLoopCol * mloopcol)
nodiscard

◆ BPy_BMLoopUV_AssignPyObject()

int BPy_BMLoopUV_AssignPyObject ( BMesh * bm,
BMLoop * loop,
PyObject * value )
nodiscard

◆ BPy_BMLoopUV_CreatePyObject()

PyObject * BPy_BMLoopUV_CreatePyObject ( BMesh * bm,
BMLoop * loop,
int layer )
nodiscard

◆ bpy_bmloopuv_pin_uv_get()

PyObject * bpy_bmloopuv_pin_uv_get ( BPy_BMLoopUV * self,
void *  )
static

Definition at line 91 of file bmesh_py_types_meshdata.cc.

References self.

◆ bpy_bmloopuv_pin_uv_set()

int bpy_bmloopuv_pin_uv_set ( BPy_BMLoopUV * self,
PyObject * value,
void *  )
static

Definition at line 97 of file bmesh_py_types_meshdata.cc.

References BLI_assert, PyC_Long_AsBool(), and self.

◆ bpy_bmloopuv_uv_get()

PyObject * bpy_bmloopuv_uv_get ( BPy_BMLoopUV * self,
void *  )
static

Definition at line 68 of file bmesh_py_types_meshdata.cc.

References self, and Vector_CreatePyObject_wrap().

◆ bpy_bmloopuv_uv_set()

int bpy_bmloopuv_uv_set ( BPy_BMLoopUV * self,
PyObject * value,
void *  )
static

Definition at line 73 of file bmesh_py_types_meshdata.cc.

References copy_v2_v2(), mathutils_array_parse(), and self.

◆ BPy_BMVertSkin_AssignPyObject()

int BPy_BMVertSkin_AssignPyObject ( MVertSkin * mvertskin,
PyObject * value )
nodiscard

Definition at line 282 of file bmesh_py_types_meshdata.cc.

References BPy_BMVertSkin_Check, data, and UNLIKELY.

Referenced by BPy_BMLayerItem_SetItem().

◆ BPy_BMVertSkin_CreatePyObject()

PyObject * BPy_BMVertSkin_CreatePyObject ( MVertSkin * mvertskin)
nodiscard

Definition at line 293 of file bmesh_py_types_meshdata.cc.

References BPy_BMVertSkin_Type, and self.

Referenced by BPy_BMLayerItem_GetItem().

◆ bpy_bmvertskin_flag_get()

PyObject * bpy_bmvertskin_flag_get ( BPy_BMVertSkin * self,
void * flag_p )
static

Definition at line 221 of file bmesh_py_types_meshdata.cc.

References flag, POINTER_AS_INT, and self.

◆ bpy_bmvertskin_flag_set()

int bpy_bmvertskin_flag_set ( BPy_BMVertSkin * self,
PyObject * value,
void * flag_p )
static

Definition at line 227 of file bmesh_py_types_meshdata.cc.

References flag, POINTER_AS_INT, PyC_Long_AsBool(), and self.

◆ bpy_bmvertskin_radius_get()

PyObject * bpy_bmvertskin_radius_get ( BPy_BMVertSkin * self,
void *  )
static

Definition at line 192 of file bmesh_py_types_meshdata.cc.

References self, and Vector_CreatePyObject_wrap().

◆ bpy_bmvertskin_radius_set()

int bpy_bmvertskin_radius_set ( BPy_BMVertSkin * self,
PyObject * value,
void *  )
static

Definition at line 197 of file bmesh_py_types_meshdata.cc.

References copy_v2_v2(), mathutils_array_parse(), and self.

◆ mathutils_bmloopcol_check()

int mathutils_bmloopcol_check ( BaseMathObject * )
static

Definition at line 324 of file bmesh_py_types_meshdata.cc.

◆ mathutils_bmloopcol_get()

int mathutils_bmloopcol_get ( BaseMathObject * bmo,
int  )
static

◆ mathutils_bmloopcol_get_index()

int mathutils_bmloopcol_get_index ( BaseMathObject * bmo,
int subtype,
int  )
static

Definition at line 344 of file bmesh_py_types_meshdata.cc.

References mathutils_bmloopcol_get().

◆ mathutils_bmloopcol_set()

int mathutils_bmloopcol_set ( BaseMathObject * bmo,
int  )
static

◆ mathutils_bmloopcol_set_index()

int mathutils_bmloopcol_set_index ( BaseMathObject * bmo,
int subtype,
int index )
static

◆ mloopcol_from_float()

void mloopcol_from_float ( MLoopCol * mloopcol,
const float col[4] )
static

◆ mloopcol_to_float()

void mloopcol_to_float ( const MLoopCol * mloopcol,
float r_col[4] )
static

Definition at line 312 of file bmesh_py_types_meshdata.cc.

References MLoopCol::r, and rgba_uchar_to_float().

Referenced by mathutils_bmloopcol_get().

◆ PyDoc_STRVAR() [1/10]

PyDoc_STRVAR ( bpy_bmdeformvert_clear_doc ,
".. method:: clear()\n" "\n" " Clears all weights.\n"  )

◆ PyDoc_STRVAR() [2/10]

PyDoc_STRVAR ( bpy_bmdeformvert_get_doc ,
".. method:: get(key, default=None)\n" "\n" " Returns the deform weight matching the key or default\n" " when not found (matches Python's dictionary function of the same name).\n" "\n" " :arg key: The key associated with deform weight.\n" " :type key: int\n" " :arg default: Optional argument for the value to return if\n" " *key* is not found.\n" " :type default: Any\n"  )

◆ PyDoc_STRVAR() [3/10]

PyDoc_STRVAR ( bpy_bmdeformvert_items_doc ,
".. method:: items()\n" "\n" " Return (group, weight) pairs for this vertex\n" " (matching Python's dict.items() functionality).\n" "\n" " :return: (key, value) pairs for each deform weight of this vertex.\n" " :rtype: list]\n" [tuple[int, float] )

◆ PyDoc_STRVAR() [4/10]

PyDoc_STRVAR ( bpy_bmdeformvert_keys_doc ,
".. method:: keys()\n" "\n" " Return the group indices used by this vertex\n" " (matching Python's dict.keys() functionality).\n" "\n" " :return: the deform group this vertex uses\n" " :rtype: list\n" [int] )

◆ PyDoc_STRVAR() [5/10]

PyDoc_STRVAR ( bpy_bmdeformvert_values_doc ,
".. method:: values()\n" "\n" " Return the weights of the deform vertex\n" " (matching Python's dict.values() functionality).\n" "\n" " :return: The weights that influence this vertex\n" " :rtype: list\n" [float] )

◆ PyDoc_STRVAR() [6/10]

PyDoc_STRVAR ( bpy_bmloopuv_pin_uv_doc ,
"UV pin state.\n" "\n" ":type: bool\n"  )

◆ PyDoc_STRVAR() [7/10]

PyDoc_STRVAR ( bpy_bmloopuv_uv_doc ,
"Loops UV (as a 2D Vector).\n" "\n" ":type: :class:`mathutils.Vector`\n"  )

◆ PyDoc_STRVAR() [8/10]

PyDoc_STRVAR ( bpy_bmvertskin_flag__use_loose_doc ,
"Use loose vertex.\n" "\n" ":type: bool\n"  )

◆ PyDoc_STRVAR() [9/10]

PyDoc_STRVAR ( bpy_bmvertskin_flag__use_root_doc ,
"Use as root vertex. Setting this flag does not clear other roots in the same mesh island.\n" "\n" ":type: bool\n"  )

◆ PyDoc_STRVAR() [10/10]

PyDoc_STRVAR ( bpy_bmvertskin_radius_doc ,
"Vert skin radii (as a 2D Vector).\n" "\n" ":type: :class:`mathutils.Vector`\n"  )

Variable Documentation

◆ bpy_bmdeformvert_as_mapping

PyMappingMethods bpy_bmdeformvert_as_mapping
static
Initial value:
= {
}
static PyObject * bpy_bmdeformvert_subscript(BPy_BMDeformVert *self, PyObject *key)
static int bpy_bmdeformvert_ass_subscript(BPy_BMDeformVert *self, PyObject *key, PyObject *value)
static Py_ssize_t bpy_bmdeformvert_len(BPy_BMDeformVert *self)

Definition at line 548 of file bmesh_py_types_meshdata.cc.

Referenced by bm_init_types_bmdvert().

◆ bpy_bmdeformvert_as_sequence

PySequenceMethods bpy_bmdeformvert_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int bpy_bmdeformvert_contains(BPy_BMDeformVert *self, PyObject *value)

Definition at line 533 of file bmesh_py_types_meshdata.cc.

Referenced by bm_init_types_bmdvert().

◆ bpy_bmdeformvert_methods

PyMethodDef bpy_bmdeformvert_methods[]
static
Initial value:
= {
{"keys", (PyCFunction)bpy_bmdeformvert_keys, METH_NOARGS, bpy_bmdeformvert_keys_doc},
{"values", (PyCFunction)bpy_bmdeformvert_values, METH_NOARGS, bpy_bmdeformvert_values_doc},
{"items", (PyCFunction)bpy_bmdeformvert_items, METH_NOARGS, bpy_bmdeformvert_items_doc},
{"get", (PyCFunction)bpy_bmdeformvert_get, METH_VARARGS, bpy_bmdeformvert_get_doc},
{"clear", (PyCFunction)bpy_bmdeformvert_clear, METH_NOARGS, bpy_bmdeformvert_clear_doc},
{nullptr, nullptr, 0, nullptr},
}
static PyObject * bpy_bmdeformvert_items(BPy_BMDeformVert *self)
static PyObject * bpy_bmdeformvert_clear(BPy_BMDeformVert *self)
static PyObject * bpy_bmdeformvert_keys(BPy_BMDeformVert *self)
static PyObject * bpy_bmdeformvert_get(BPy_BMDeformVert *self, PyObject *args)
static PyObject * bpy_bmdeformvert_values(BPy_BMDeformVert *self)

Definition at line 686 of file bmesh_py_types_meshdata.cc.

Referenced by bm_init_types_bmdvert().

◆ BPy_BMDeformVert_Type

PyTypeObject BPy_BMDeformVert_Type

◆ bpy_bmloopuv_getseters

PyGetSetDef bpy_bmloopuv_getseters[]
static
Initial value:
= {
{"uv", (getter)bpy_bmloopuv_uv_get, (setter)bpy_bmloopuv_uv_set, bpy_bmloopuv_uv_doc, nullptr},
{"pin_uv",
bpy_bmloopuv_pin_uv_doc,
nullptr},
{nullptr, nullptr, nullptr, nullptr, nullptr}
}
static int bpy_bmloopuv_uv_set(BPy_BMLoopUV *self, PyObject *value, void *)
static PyObject * bpy_bmloopuv_pin_uv_get(BPy_BMLoopUV *self, void *)
static int bpy_bmloopuv_pin_uv_set(BPy_BMLoopUV *self, PyObject *value, void *)
static PyObject * bpy_bmloopuv_uv_get(BPy_BMLoopUV *self, void *)

Definition at line 116 of file bmesh_py_types_meshdata.cc.

Referenced by bm_init_types_bmloopuv().

◆ BPy_BMLoopUV_Type

PyTypeObject BPy_BMLoopUV_Type

◆ bpy_bmvertskin_getseters

PyGetSetDef bpy_bmvertskin_getseters[]
static
Initial value:
= {
{"radius",
bpy_bmvertskin_radius_doc,
nullptr},
{"use_root",
bpy_bmvertskin_flag__use_root_doc,
(void *)MVERT_SKIN_ROOT},
{"use_loose",
bpy_bmvertskin_flag__use_loose_doc,
(void *)MVERT_SKIN_LOOSE},
{nullptr, nullptr, nullptr, nullptr, nullptr}
}
@ MVERT_SKIN_LOOSE
@ MVERT_SKIN_ROOT
static int bpy_bmvertskin_flag_set(BPy_BMVertSkin *self, PyObject *value, void *flag_p)
static PyObject * bpy_bmvertskin_flag_get(BPy_BMVertSkin *self, void *flag_p)
static PyObject * bpy_bmvertskin_radius_get(BPy_BMVertSkin *self, void *)
static int bpy_bmvertskin_radius_set(BPy_BMVertSkin *self, PyObject *value, void *)

Definition at line 244 of file bmesh_py_types_meshdata.cc.

Referenced by bm_init_types_bmvertskin().

◆ BPy_BMVertSkin_Type

PyTypeObject BPy_BMVertSkin_Type
static

◆ mathutils_bmloopcol_cb

Mathutils_Callback mathutils_bmloopcol_cb
static
Initial value:
= {
}
static int mathutils_bmloopcol_set(BaseMathObject *bmo, int)
static int mathutils_bmloopcol_get_index(BaseMathObject *bmo, int subtype, int)
static int mathutils_bmloopcol_set_index(BaseMathObject *bmo, int subtype, int index)
static int mathutils_bmloopcol_get(BaseMathObject *bmo, int)
static int mathutils_bmloopcol_check(BaseMathObject *)

Definition at line 366 of file bmesh_py_types_meshdata.cc.

Referenced by bm_init_types_bmloopcol().

◆ mathutils_bmloopcol_cb_index

uchar mathutils_bmloopcol_cb_index = -1
static