Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | BPy_BMGeneric |
struct | BPy_BMElem |
struct | BPy_BMesh |
struct | BPy_BMVert |
struct | BPy_BMEdge |
struct | BPy_BMFace |
struct | BPy_BMLoop |
struct | BPy_BMElemSeq |
struct | BPy_BMIter |
Typedefs | |
typedef struct BPy_BMGeneric | BPy_BMGeneric |
typedef struct BPy_BMElem | BPy_BMElem |
typedef struct BPy_BMesh | BPy_BMesh |
typedef struct BPy_BMVert | BPy_BMVert |
typedef struct BPy_BMEdge | BPy_BMEdge |
typedef struct BPy_BMFace | BPy_BMFace |
typedef struct BPy_BMLoop | BPy_BMLoop |
typedef struct BPy_BMElemSeq | BPy_BMElemSeq |
typedef struct BPy_BMIter | BPy_BMIter |
Enumerations | |
enum | { BPY_BMFLAG_NOP = 0 , BPY_BMFLAG_IS_WRAPPED = 1 } |
Functions | |
void | BPy_BM_init_types (void) |
PyObject * | BPyInit_bmesh_types (void) |
PyObject * | BPy_BMesh_CreatePyObject (BMesh *bm, int flag) |
PyObject * | BPy_BMVert_CreatePyObject (BMesh *bm, BMVert *v) |
PyObject * | BPy_BMEdge_CreatePyObject (BMesh *bm, BMEdge *e) |
PyObject * | BPy_BMFace_CreatePyObject (BMesh *bm, BMFace *f) |
PyObject * | BPy_BMLoop_CreatePyObject (BMesh *bm, BMLoop *l) |
PyObject * | BPy_BMElemSeq_CreatePyObject (BMesh *bm, BPy_BMElem *py_ele, char itype) |
PyObject * | BPy_BMVertSeq_CreatePyObject (BMesh *bm) |
PyObject * | BPy_BMEdgeSeq_CreatePyObject (BMesh *bm) |
PyObject * | BPy_BMFaceSeq_CreatePyObject (BMesh *bm) |
PyObject * | BPy_BMLoopSeq_CreatePyObject (BMesh *bm) |
PyObject * | BPy_BMIter_CreatePyObject (BMesh *bm) |
PyObject * | BPy_BMElem_CreatePyObject (BMesh *bm, BMHeader *ele) |
void * | BPy_BMElem_PySeq_As_Array_FAST (BMesh **r_bm, PyObject *seq_fast, Py_ssize_t min, Py_ssize_t max, Py_ssize_t *r_size, char htype, bool do_unique_check, bool do_bm_check, const char *error_prefix) |
void * | BPy_BMElem_PySeq_As_Array (BMesh **r_bm, PyObject *seq, Py_ssize_t min, Py_ssize_t max, Py_ssize_t *r_size, char htype, bool do_unique_check, bool do_bm_check, const char *error_prefix) |
PyObject * | BPy_BMElem_Array_As_Tuple (BMesh *bm, BMHeader **elem, Py_ssize_t elem_len) |
PyObject * | BPy_BMVert_Array_As_Tuple (BMesh *bm, BMVert **elem, Py_ssize_t elem_len) |
PyObject * | BPy_BMEdge_Array_As_Tuple (BMesh *bm, BMEdge **elem, Py_ssize_t elem_len) |
PyObject * | BPy_BMFace_Array_As_Tuple (BMesh *bm, BMFace **elem, Py_ssize_t elem_len) |
PyObject * | BPy_BMLoop_Array_As_Tuple (BMesh *bm, BMLoop **elem, Py_ssize_t elem_len) |
int | BPy_BMElem_CheckHType (PyTypeObject *type, char htype) |
char * | BPy_BMElem_StringFromHType_ex (char htype, char ret[32]) |
char * | BPy_BMElem_StringFromHType (char htype) |
int | bpy_bm_generic_valid_check (BPy_BMGeneric *self) |
int | bpy_bm_generic_valid_check_source (BMesh *bm_source, const char *error_prefix, void **args, uint args_tot) ATTR_NONNULL(1 |
Variables | |
PyTypeObject | BPy_BMesh_Type |
PyTypeObject | BPy_BMVert_Type |
PyTypeObject | BPy_BMEdge_Type |
PyTypeObject | BPy_BMFace_Type |
PyTypeObject | BPy_BMLoop_Type |
PyTypeObject | BPy_BMElemSeq_Type |
PyTypeObject | BPy_BMVertSeq_Type |
PyTypeObject | BPy_BMEdgeSeq_Type |
PyTypeObject | BPy_BMFaceSeq_Type |
PyTypeObject | BPy_BMLoopSeq_Type |
PyTypeObject | BPy_BMIter_Type |
#define BM_ITER_BPY_BM_SEQ | ( | ele, | |
iter, | |||
bpy_bmelemseq | |||
) |
Definition at line 220 of file bmesh_py_types.h.
#define BPY_BM_CHECK_INT | ( | obj | ) |
Definition at line 190 of file bmesh_py_types.h.
#define BPY_BM_CHECK_OBJ | ( | obj | ) |
Definition at line 185 of file bmesh_py_types.h.
Definition at line 208 of file bmesh_py_types.h.
Macros like BPY_BM_CHECK_OBJ/BPY_BM_CHECK_INT
that ensure we're from the right BMesh.
Definition at line 199 of file bmesh_py_types.h.
Definition at line 218 of file bmesh_py_types.h.
#define BPy_BMEdge_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMEdge_Type) |
Definition at line 26 of file bmesh_py_types.h.
#define BPy_BMEdgeSeq_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMEdgeSeq_Type) |
Definition at line 31 of file bmesh_py_types.h.
Definition at line 36 of file bmesh_py_types.h.
#define BPy_BMElemSeq_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMElemSeq_Type) |
Definition at line 29 of file bmesh_py_types.h.
#define BPy_BMesh_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMesh_Type) |
Definition at line 24 of file bmesh_py_types.h.
#define BPy_BMFace_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMFace_Type) |
Definition at line 27 of file bmesh_py_types.h.
#define BPy_BMFaceSeq_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMFaceSeq_Type) |
Definition at line 32 of file bmesh_py_types.h.
#define BPy_BMIter_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMIter_Type) |
Definition at line 34 of file bmesh_py_types.h.
#define BPy_BMLoop_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMLoop_Type) |
Definition at line 28 of file bmesh_py_types.h.
#define BPy_BMLoopSeq_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMLoopSeq_Type) |
Definition at line 33 of file bmesh_py_types.h.
#define BPy_BMVert_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMVert_Type) |
Definition at line 25 of file bmesh_py_types.h.
#define BPy_BMVertSeq_Check | ( | v | ) | (Py_TYPE(v) == &BPy_BMVertSeq_Type) |
Definition at line 30 of file bmesh_py_types.h.
typedef struct BPy_BMEdge BPy_BMEdge |
typedef struct BPy_BMElem BPy_BMElem |
typedef struct BPy_BMElemSeq BPy_BMElemSeq |
typedef struct BPy_BMFace BPy_BMFace |
typedef struct BPy_BMGeneric BPy_BMGeneric |
typedef struct BPy_BMIter BPy_BMIter |
typedef struct BPy_BMLoop BPy_BMLoop |
typedef struct BPy_BMVert BPy_BMVert |
anonymous enum |
Enumerator | |
---|---|
BPY_BMFLAG_NOP | |
BPY_BMFLAG_IS_WRAPPED |
Definition at line 118 of file bmesh_py_types.h.
int bpy_bm_generic_valid_check | ( | BPy_BMGeneric * | self | ) |
Definition at line 3990 of file bmesh_py_types.c.
References BM_mesh_validate(), LIKELY, and self.
Referenced by bpy_bm_generic_valid_check_source().
int bpy_bm_generic_valid_check_source | ( | BMesh * | bm_source, |
const char * | error_prefix, | ||
void ** | args, | ||
uint | args_tot | ||
) |
Definition at line 3581 of file bmesh_py_types.c.
References bpy_bm_elem_as_mapping, bpy_bm_elem_hash(), bpy_bm_hash(), bpy_bmedge_dealloc(), bpy_bmedge_getseters, bpy_bmedge_methods, bpy_bmedge_repr(), BPy_BMEdge_Type, bpy_bmedgeseq_getseters, bpy_bmedgeseq_methods, BPy_BMEdgeSeq_Type, bpy_bmelemseq_as_mapping, bpy_bmelemseq_as_sequence, bpy_bmelemseq_dealloc(), bpy_bmelemseq_iter(), bpy_bmelemseq_methods, BPy_BMElemSeq_Type, bpy_bmesh_dealloc(), bpy_bmesh_getseters, bpy_bmesh_methods, bpy_bmesh_repr(), BPy_BMesh_Type, bpy_bmface_dealloc(), bpy_bmface_getseters, bpy_bmface_methods, bpy_bmface_repr(), BPy_BMFace_Type, bpy_bmfaceseq_getseters, bpy_bmfaceseq_methods, BPy_BMFaceSeq_Type, bpy_bmiter_next(), BPy_BMIter_Type, bpy_bmloop_dealloc(), bpy_bmloop_getseters, bpy_bmloop_methods, bpy_bmloop_repr(), BPy_BMLoop_Type, bpy_bmloopseq_getseters, bpy_bmloopseq_methods, BPy_BMLoopSeq_Type, bpy_bmvert_dealloc(), bpy_bmvert_getseters, bpy_bmvert_methods, bpy_bmvert_repr(), BPy_BMVert_Type, bpy_bmvertseq_getseters, bpy_bmvertseq_methods, BPy_BMVertSeq_Type, and NULL.
Referenced by BPyInit_bmesh().
Definition at line 4206 of file bmesh_py_types.c.
References bm, BPy_BMEdge_CreatePyObject(), and ret.
Definition at line 3840 of file bmesh_py_types.c.
References BLI_assert, bm, BM_data_layer_add(), BPy_BMEdge_Type, CD_BM_ELEM_PYPTR, CustomData_bmesh_get(), BMHeader::data, e, BMesh::edata, BMVert::head, NULL, ptr, and UNLIKELY.
Referenced by bpy_bm_utils_edge_rotate(), bpy_bm_utils_edge_split(), bpy_bm_utils_vert_collapse_edge(), bpy_bm_utils_vert_collapse_faces(), BPy_BMEdge_Array_As_Tuple(), bpy_bmedgeseq_get__method(), bpy_bmedgeseq_new(), BPy_BMElem_CreatePyObject(), and bpy_bmloop_edge_get().
PyObject* BPy_BMEdgeSeq_CreatePyObject | ( | BMesh * | bm | ) |
Definition at line 3937 of file bmesh_py_types.c.
References bm, BM_EDGES_OF_MESH, BPy_BMEdgeSeq_Type, and NULL.
Referenced by bpy_bmedgeseq_get().
Definition at line 4188 of file bmesh_py_types.c.
References bm, BPy_BMElem_CreatePyObject(), and ret.
int BPy_BMElem_CheckHType | ( | PyTypeObject * | type, |
char | htype | ||
) |
Definition at line 4237 of file bmesh_py_types.c.
References BM_EDGE, BM_FACE, BM_LOOP, BM_VERT, BPy_BMEdge_Type, BPy_BMFace_Type, BPy_BMLoop_Type, BPy_BMVert_Type, and type.
Referenced by BPy_BMElem_PySeq_As_Array_FAST().
Just checks type and creates vert/edge/face/loop.
Definition at line 3972 of file bmesh_py_types.c.
References BLI_assert_unreachable, bm, BM_EDGE, BM_FACE, BM_LOOP, BM_VERT, BPy_BMEdge_CreatePyObject(), BPy_BMFace_CreatePyObject(), BPy_BMLoop_CreatePyObject(), BPy_BMVert_CreatePyObject(), BMHeader::htype, and NULL.
Referenced by bpy_bmeditseliter_next(), bpy_bmeditselseq_active_get(), bpy_bmeditselseq_subscript_int(), bpy_bmeditselseq_subscript_slice(), BPy_BMElem_Array_As_Tuple(), bpy_bmelemseq_subscript_int(), bpy_bmelemseq_subscript_slice(), bpy_bmfaceseq_active_get(), bpy_bmiter_next(), and bpy_slot_to_py().
void* BPy_BMElem_PySeq_As_Array | ( | BMesh ** | r_bm, |
PyObject * | seq, | ||
Py_ssize_t | min, | ||
Py_ssize_t | max, | ||
Py_ssize_t * | r_size, | ||
char | htype, | ||
bool | do_unique_check, | ||
bool | do_bm_check, | ||
const char * | error_prefix | ||
) |
Definition at line 4164 of file bmesh_py_types.c.
References BPy_BMElem_PySeq_As_Array_FAST(), max, min, NULL, and ret.
Referenced by bpy_bm_utils_face_join(), bpy_bm_utils_face_split_edgenet(), bpy_bm_utils_vert_separate(), bpy_bmedgeseq_get__method(), bpy_bmedgeseq_new(), BPy_BMEditSel_Assign(), bpy_bmfaceseq_get__method(), bpy_bmfaceseq_new(), bpy_bmvert_copy_from_vert_interp(), and bpy_slot_from_py().
void* BPy_BMElem_PySeq_As_Array_FAST | ( | BMesh ** | r_bm, |
PyObject * | seq_fast, | ||
Py_ssize_t | min, | ||
Py_ssize_t | max, | ||
Py_ssize_t * | r_size, | ||
char | htype, | ||
bool | do_unique_check, | ||
bool | do_bm_check, | ||
const char * | error_prefix | ||
) |
Generic python seq as BMVert/Edge/Face array, return value must be freed with PyMem_FREE(...);
The 'bm_r' value is assigned when empty, and used when set.
Definition at line 4053 of file bmesh_py_types.c.
References bm, BPy_BMElem::bm, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_INTERNAL_TAG, BPY_BM_IS_VALID, BPy_BMElem_CheckHType(), BPy_BMElem_StringFromHType(), BPy_BMElem::ele, max, min, NULL, and UNLIKELY.
Referenced by BPy_BMElem_PySeq_As_Array().
char* BPy_BMElem_StringFromHType | ( | char | htype | ) |
Definition at line 4266 of file bmesh_py_types.c.
References BPy_BMElem_StringFromHType_ex(), and ret.
Referenced by BPy_BMElem_PySeq_As_Array_FAST(), and bpy_slot_from_py_elem_check().
char* BPy_BMElem_StringFromHType_ex | ( | char | htype, |
char | ret[32] | ||
) |
Use for error strings only, not thread safe,
Definition at line 4245 of file bmesh_py_types.c.
References BM_EDGE, BM_FACE, BM_LOOP, BM_VERT, BPy_BMEdge_Type, BPy_BMFace_Type, BPy_BMLoop_Type, BPy_BMVert_Type, and ret.
Referenced by BPy_BMElem_StringFromHType(), bpy_bmlayeritem_ptr_get(), and bpy_slot_from_py_elemseq_check().
PyObject* BPy_BMElemSeq_CreatePyObject | ( | BMesh * | bm, |
BPy_BMElem * | py_ele, | ||
char | itype | ||
) |
Definition at line 3918 of file bmesh_py_types.c.
References bm, BPy_BMElemSeq_Type, and itype.
Referenced by bpy_bmelemseq_elem_get().
PyObject* BPy_BMesh_CreatePyObject | ( | BMesh * | bm, |
int | flag | ||
) |
Definition at line 3787 of file bmesh_py_types.c.
References bm, BM_data_layer_add(), BPy_BMesh_Type, CD_BM_ELEM_PYPTR, BMesh::edata, BMesh::ldata, BMesh::pdata, BMesh::py_handle, and BMesh::vdata.
Referenced by bpy_bm_from_edit_mesh(), bpy_bm_new(), and bpy_bmesh_copy().
Definition at line 4216 of file bmesh_py_types.c.
References bm, BPy_BMFace_CreatePyObject(), and ret.
Referenced by bpy_bm_utils_face_split_edgenet().
Definition at line 3866 of file bmesh_py_types.c.
References BLI_assert, bm, BM_data_layer_add(), BPy_BMFace_Type, CD_BM_ELEM_PYPTR, CustomData_bmesh_get(), BMHeader::data, BMFace::head, NULL, BMesh::pdata, ptr, and UNLIKELY.
Referenced by bpy_bm_utils_face_join(), bpy_bm_utils_face_split(), BPy_BMElem_CreatePyObject(), BPy_BMFace_Array_As_Tuple(), bpy_bmface_copy(), bpy_bmfaceseq_get__method(), bpy_bmfaceseq_new(), and bpy_bmloop_face_get().
PyObject* BPy_BMFaceSeq_CreatePyObject | ( | BMesh * | bm | ) |
Definition at line 3946 of file bmesh_py_types.c.
References bm, BM_FACES_OF_MESH, BPy_BMFaceSeq_Type, and NULL.
Referenced by bpy_bmfaceseq_get().
PyObject* BPy_BMIter_CreatePyObject | ( | BMesh * | bm | ) |
Definition at line 3964 of file bmesh_py_types.c.
References bm, and BPy_BMIter_Type.
Referenced by bpy_bmelemseq_iter().
Definition at line 4226 of file bmesh_py_types.c.
References bm, BPy_BMLoop_CreatePyObject(), and ret.
Referenced by bpy_bmesh_calc_loop_triangles().
Definition at line 3892 of file bmesh_py_types.c.
References BLI_assert, bm, BM_data_layer_add(), BPy_BMLoop_Type, CD_BM_ELEM_PYPTR, CustomData_bmesh_get(), BMHeader::data, BMLoop::head, l, BMesh::ldata, NULL, ptr, and UNLIKELY.
Referenced by bpy_bm_utils_face_split(), BPy_BMElem_CreatePyObject(), BPy_BMLoop_Array_As_Tuple(), bpy_bmloop_link_loop_next_get(), bpy_bmloop_link_loop_prev_get(), bpy_bmloop_link_loop_radial_next_get(), and bpy_bmloop_link_loop_radial_prev_get().
PyObject* BPy_BMLoopSeq_CreatePyObject | ( | BMesh * | bm | ) |
Definition at line 3955 of file bmesh_py_types.c.
References bm, BPy_BMLoopSeq_Type, and NULL.
Referenced by bpy_bmloopseq_get().
Definition at line 4197 of file bmesh_py_types.c.
References bm, BPy_BMVert_CreatePyObject(), and ret.
Referenced by bpy_bm_utils_vert_separate().
Definition at line 3814 of file bmesh_py_types.c.
References BLI_assert, bm, BM_data_layer_add(), BPy_BMVert_Type, CD_BM_ELEM_PYPTR, CustomData_bmesh_get(), BMHeader::data, BMVert::head, NULL, ptr, UNLIKELY, v, and BMesh::vdata.
Referenced by bpy_bm_utils_edge_split(), bpy_bm_utils_face_vert_separate(), bpy_bm_utils_loop_separate(), bpy_bmedge_other_vert(), BPy_BMElem_CreatePyObject(), bpy_bmloop_vert_get(), BPy_BMVert_Array_As_Tuple(), and bpy_bmvertseq_new().
PyObject* BPy_BMVertSeq_CreatePyObject | ( | BMesh * | bm | ) |
Definition at line 3928 of file bmesh_py_types.c.
References bm, BM_VERTS_OF_MESH, BPy_BMVertSeq_Type, and NULL.
Referenced by bpy_bmvertseq_get().
PyObject* BPyInit_bmesh_types | ( | void | ) |
Definition at line 3749 of file bmesh_py_types.c.
References BPy_BM_types_module_def, BPy_BMDeformVert_Type, BPy_BMEdge_Type, BPy_BMEdgeSeq_Type, BPy_BMEditSelIter_Type, BPy_BMEditSelSeq_Type, BPy_BMElemSeq_Type, BPy_BMesh_Type, BPy_BMFace_Type, BPy_BMFaceSeq_Type, BPy_BMIter_Type, BPy_BMLayerAccessEdge_Type, BPy_BMLayerAccessFace_Type, BPy_BMLayerAccessLoop_Type, BPy_BMLayerAccessVert_Type, BPy_BMLayerCollection_Type, BPy_BMLayerItem_Type, BPy_BMLoop_Type, BPy_BMLoopSeq_Type, BPy_BMLoopUV_Type, BPy_BMVert_Type, and BPy_BMVertSeq_Type.
Referenced by BPyInit_bmesh().
|
extern |
Definition at line 3571 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), bpy_bm_itype_as_pytype(), bpy_bm_utils_edge_rotate(), bpy_bm_utils_edge_split(), bpy_bm_utils_face_split(), bpy_bm_utils_vert_collapse_edge(), bpy_bm_utils_vert_collapse_faces(), BPy_BMEdge_CreatePyObject(), bpy_bmedgeseq_new(), BPy_BMElem_CheckHType(), BPy_BMElem_StringFromHType_ex(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3576 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), BPy_BMEdgeSeq_CreatePyObject(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3574 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), BPy_BMElemSeq_CreatePyObject(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3569 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), BPy_BMesh_CreatePyObject(), BPyInit_bmesh_types(), and C_BVHTree_FromBMesh().
|
extern |
Definition at line 3572 of file bmesh_py_types.c.
Referenced by bpy_bm_geometry_intersect_face_point(), BPy_BM_init_types(), bpy_bm_itype_as_pytype(), bpy_bm_utils_face_split(), bpy_bm_utils_face_split_edgenet(), bpy_bm_utils_face_vert_separate(), BPy_BMElem_CheckHType(), BPy_BMElem_StringFromHType_ex(), bpy_bmface_copy_from_face_interp(), BPy_BMFace_CreatePyObject(), bpy_bmfaceseq_new(), bpy_bmloop_copy_from_face_interp(), bpy_bmvert_copy_from_face_interp(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3577 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), BPy_BMFaceSeq_CreatePyObject(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3579 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), BPy_BMIter_CreatePyObject(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3573 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), bpy_bm_itype_as_pytype(), bpy_bmedge_calc_tangent(), BPy_BMElem_CheckHType(), BPy_BMElem_StringFromHType_ex(), BPy_BMLoop_CreatePyObject(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3578 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), BPy_BMLoopSeq_CreatePyObject(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3570 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), bpy_bm_itype_as_pytype(), bpy_bm_utils_edge_split(), bpy_bm_utils_face_split(), bpy_bm_utils_face_vert_separate(), bpy_bm_utils_vert_collapse_edge(), bpy_bm_utils_vert_collapse_faces(), bpy_bm_utils_vert_dissolve(), bpy_bm_utils_vert_separate(), bpy_bm_utils_vert_splice(), BPy_BMElem_CheckHType(), BPy_BMElem_StringFromHType_ex(), BPy_BMVert_CreatePyObject(), bpy_bmvertseq_new(), and BPyInit_bmesh_types().
|
extern |
Definition at line 3575 of file bmesh_py_types.c.
Referenced by BPy_BM_init_types(), BPy_BMVertSeq_CreatePyObject(), and BPyInit_bmesh_types().