Blender V5.0
bmesh_py_types.hh File Reference
#include <Python.h>
#include "bmesh.hh"

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

Macros

#define BPy_BMesh_Check(v)
#define BPy_BMVert_Check(v)
#define BPy_BMEdge_Check(v)
#define BPy_BMFace_Check(v)
#define BPy_BMLoop_Check(v)
#define BPy_BMElemSeq_Check(v)
#define BPy_BMVertSeq_Check(v)
#define BPy_BMEdgeSeq_Check(v)
#define BPy_BMFaceSeq_Check(v)
#define BPy_BMLoopSeq_Check(v)
#define BPy_BMIter_Check(v)
#define BPy_BMElem_Check(v)
#define BPY_BM_CHECK_OBJ(obj)
#define BPY_BM_CHECK_INT(obj)
#define BPY_BM_CHECK_SOURCE_OBJ(bm, errmsg, ...)
#define BPY_BM_CHECK_SOURCE_INT(bm, errmsg, ...)
#define BPY_BM_IS_VALID(obj)
#define BM_ITER_BPY_BM_SEQ(ele, iter, bpy_bmelemseq)

Enumerations

enum  { BPY_BMFLAG_NOP = 0 , BPY_BMFLAG_IS_WRAPPED = 1 }

Functions

void BPy_BM_init_types ()
PyObject * BPyInit_bmesh_types ()
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_seq_num, 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_seq_num, char htype, bool do_unique_check, bool do_bm_check, const char *error_prefix)
BMVert ** BPy_BMVert_PySeq_As_Array (BMesh **r_bm, PyObject *seq, Py_ssize_t min, Py_ssize_t max, Py_ssize_t *r_seq_num, bool do_unique_check, bool do_bm_check, const char *error_prefix)
BMEdge ** BPy_BMEdge_PySeq_As_Array (BMesh **r_bm, PyObject *seq, Py_ssize_t min, Py_ssize_t max, Py_ssize_t *r_seq_num, bool do_unique_check, bool do_bm_check, const char *error_prefix)
BMFace ** BPy_BMFace_PySeq_As_Array (BMesh **r_bm, PyObject *seq, Py_ssize_t min, Py_ssize_t max, Py_ssize_t *r_seq_num, bool do_unique_check, bool do_bm_check, const char *error_prefix)
BMLoop ** BPy_BMLoop_PySeq_As_Array (BMesh **r_bm, PyObject *seq, Py_ssize_t min, Py_ssize_t max, Py_ssize_t *r_seq_num, 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_num)
PyObject * BPy_BMVert_Array_As_Tuple (BMesh *bm, BMVert **elem, Py_ssize_t elem_num)
PyObject * BPy_BMEdge_Array_As_Tuple (BMesh *bm, BMEdge **elem, Py_ssize_t elem_num)
PyObject * BPy_BMFace_Array_As_Tuple (BMesh *bm, BMFace **elem, Py_ssize_t elem_num)
PyObject * BPy_BMLoop_Array_As_Tuple (BMesh *bm, BMLoop *const *elem, Py_ssize_t elem_num)
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
int int bpy_bm_check_uv_select_sync_valid (BMesh *bm, const char *error_prefix)
int bpy_bm_uv_layer_offset_or_error (BMesh *bm, const char *error_prefix)
int bpy_bm_check_bm_match_or_error (BMesh *bm_a, BMesh *bm_b, const char *error_prefix)

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

Macro Definition Documentation

◆ BM_ITER_BPY_BM_SEQ

#define BM_ITER_BPY_BM_SEQ ( ele,
iter,
bpy_bmelemseq )
Value:
iter, \
(bpy_bmelemseq)->bm, \
(bpy_bmelemseq)->itype, \
(bpy_bmelemseq)->py_ele ? ((BPy_BMElem *)(bpy_bmelemseq)->py_ele)->ele : NULL); \
ele; \
BM_CHECK_TYPE_ELEM_ASSIGN(ele) = BM_iter_step(iter))
#define BM_CHECK_TYPE_ELEM_ASSIGN(ele)
#define BM_iter_new(iter, bm, itype, data)
BMesh * bm
BMesh const char itype

Definition at line 272 of file bmesh_py_types.hh.

Referenced by bpy_bmelemseq_contains(), bpy_bmelemseq_index_update(), bpy_bmelemseq_length(), bpy_bmelemseq_sort(), and bpy_slot_from_py().

◆ BPY_BM_CHECK_INT

◆ BPY_BM_CHECK_OBJ

#define BPY_BM_CHECK_OBJ ( obj)
Value:
return NULL; \
} \
(void)0

Definition at line 237 of file bmesh_py_types.hh.

Referenced by bpy_bm_elem_copy_from(), bpy_bm_elem_hflag_get(), bpy_bm_elem_hide_set(), bpy_bm_elem_index_get(), bpy_bm_elem_select_set(), bpy_bm_geometry_intersect_face_point(), bpy_bm_utils_edge_rotate(), bpy_bm_utils_edge_split(), bpy_bm_utils_face_flip(), bpy_bm_utils_face_split(), bpy_bm_utils_face_split_edgenet(), bpy_bm_utils_face_vert_separate(), bpy_bm_utils_loop_separate(), bpy_bm_utils_uv_select_check(), 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_bmedge_calc_face_angle(), bpy_bmedge_calc_face_angle_signed(), bpy_bmedge_calc_length(), bpy_bmedge_calc_tangent(), bpy_bmedge_is_boundary_get(), bpy_bmedge_is_contiguous_get(), bpy_bmedge_is_convex_get(), bpy_bmedge_is_manifold_get(), bpy_bmedge_is_wire_get(), bpy_bmedge_normal_update(), bpy_bmedge_other_vert(), bpy_bmedgeseq_get(), bpy_bmedgeseq_get__method(), bpy_bmedgeseq_new(), bpy_bmedgeseq_remove(), bpy_bmeditselseq_active_get(), bpy_bmeditselseq_add(), bpy_bmeditselseq_clear(), bpy_bmeditselseq_discard(), bpy_bmeditselseq_iter(), bpy_bmeditselseq_remove(), bpy_bmeditselseq_subscript_int(), bpy_bmeditselseq_subscript_slice(), bpy_bmeditselseq_validate(), bpy_bmelem_subscript(), bpy_bmelemseq_elem_get(), bpy_bmelemseq_ensure_lookup_table(), bpy_bmelemseq_index_update(), bpy_bmelemseq_iter(), bpy_bmelemseq_layers_get(), bpy_bmelemseq_sort(), bpy_bmelemseq_subscript_int(), bpy_bmelemseq_subscript_slice(), bpy_bmesh_calc_loop_triangles(), bpy_bmesh_calc_volume(), bpy_bmesh_clear(), bpy_bmesh_copy(), bpy_bmesh_from_mesh(), bpy_bmesh_from_object(), bpy_bmesh_is_wrapped_get(), bpy_bmesh_normal_update(), bpy_bmesh_select_flush(), bpy_bmesh_select_flush_mode(), bpy_bmesh_select_history_get(), bpy_bmesh_select_mode_get(), bpy_bmesh_to_mesh(), bpy_bmesh_transform(), bpy_bmesh_uv_select_flush(), bpy_bmesh_uv_select_flush_mode(), bpy_bmesh_uv_select_flush_shared(), bpy_bmesh_uv_select_foreach_set(), bpy_bmesh_uv_select_foreach_set_from_mesh(), bpy_bmesh_uv_select_sync_from_mesh(), bpy_bmesh_uv_select_sync_to_mesh(), bpy_bmesh_uv_select_sync_valid_get(), bpy_bmface_calc_area(), bpy_bmface_calc_center_bounds(), bpy_bmface_calc_center_mean(), bpy_bmface_calc_center_median_weighted(), bpy_bmface_calc_perimeter(), bpy_bmface_calc_tangent_edge(), bpy_bmface_calc_tangent_edge_diagonal(), bpy_bmface_calc_tangent_edge_pair(), bpy_bmface_calc_tangent_vert_diagonal(), bpy_bmface_copy(), bpy_bmface_copy_from_face_interp(), bpy_bmface_material_index_get(), bpy_bmface_normal_flip(), bpy_bmface_normal_get(), bpy_bmface_normal_update(), bpy_bmface_uv_select_set(), bpy_bmfaceseq_active_get(), bpy_bmfaceseq_get(), bpy_bmfaceseq_get__method(), bpy_bmfaceseq_new(), bpy_bmfaceseq_remove(), bpy_bmlayeraccess_collection_get(), bpy_bmlayercollection_active_get(), bpy_bmlayercollection_get(), bpy_bmlayercollection_is_singleton_get(), bpy_bmlayercollection_items(), bpy_bmlayercollection_iter(), bpy_bmlayercollection_keys(), bpy_bmlayercollection_new(), bpy_bmlayercollection_remove(), bpy_bmlayercollection_subscript_int(), bpy_bmlayercollection_subscript_slice(), bpy_bmlayercollection_subscript_str(), bpy_bmlayercollection_values(), bpy_bmlayercollection_verify(), bpy_bmlayeritem_copy_from(), bpy_bmlayeritem_name_get(), bpy_bmloop_calc_angle(), bpy_bmloop_calc_normal(), bpy_bmloop_calc_tangent(), bpy_bmloop_copy_from_face_interp(), bpy_bmloop_edge_get(), bpy_bmloop_face_get(), bpy_bmloop_is_convex_get(), bpy_bmloop_link_loop_next_get(), bpy_bmloop_link_loop_prev_get(), bpy_bmloop_link_loop_radial_next_get(), bpy_bmloop_link_loop_radial_prev_get(), bpy_bmloop_uv_select_edge_set(), bpy_bmloop_uv_select_vert_set(), bpy_bmloop_vert_get(), bpy_bmloopseq_get(), BPy_BMO_call(), bpy_bmvert_calc_edge_angle(), bpy_bmvert_calc_shell_factor(), bpy_bmvert_co_get(), bpy_bmvert_copy_from_face_interp(), bpy_bmvert_copy_from_vert_interp(), bpy_bmvert_is_boundary_get(), bpy_bmvert_is_manifold_get(), bpy_bmvert_is_wire_get(), bpy_bmvert_normal_get(), bpy_bmvert_normal_update(), bpy_bmvertseq_get(), bpy_bmvertseq_new(), and bpy_bmvertseq_remove().

◆ BPY_BM_CHECK_SOURCE_INT

#define BPY_BM_CHECK_SOURCE_INT ( bm,
errmsg,
... )
Value:
{ \
void *_args[] = {__VA_ARGS__}; \
if (UNLIKELY(bpy_bm_generic_valid_check_source(bm, errmsg, _args, ARRAY_SIZE(_args)) == -1)) \
{ \
return -1; \
} \
} \
(void)0
#define ARRAY_SIZE(arr)
int bpy_bm_generic_valid_check_source(BMesh *bm_source, const char *error_prefix, void **args, uint args_tot)

Definition at line 260 of file bmesh_py_types.hh.

Referenced by bpy_bmfaceseq_active_set().

◆ BPY_BM_CHECK_SOURCE_OBJ

#define BPY_BM_CHECK_SOURCE_OBJ ( bm,
errmsg,
... )

◆ BPY_BM_IS_VALID

#define BPY_BM_IS_VALID ( obj)
Value:
(LIKELY((obj)->bm != NULL))
#define LIKELY(x)

Definition at line 270 of file bmesh_py_types.hh.

Referenced by bpy_bm_is_valid_get(), and BPy_BMElem_PySeq_As_Array_FAST().

◆ BPy_BMEdge_Check

#define BPy_BMEdge_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMEdge_Type)
PyTypeObject BPy_BMEdge_Type
ATTR_WARN_UNUSED_RESULT const BMVert * v

Definition at line 38 of file bmesh_py_types.hh.

Referenced by bpy_bmedgeseq_remove(), bpy_bmeditselseq_add(), bpy_bmeditselseq_discard(), and bpy_bmeditselseq_remove().

◆ BPy_BMEdgeSeq_Check

#define BPy_BMEdgeSeq_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMEdgeSeq_Type)
PyTypeObject BPy_BMEdgeSeq_Type

Definition at line 43 of file bmesh_py_types.hh.

Referenced by bpy_slot_from_py().

◆ BPy_BMElem_Check

#define BPy_BMElem_Check ( v)
Value:
(Py_TYPE(v)->tp_hash == BPy_BMVert_Type.tp_hash)
PyTypeObject BPy_BMVert_Type

Definition at line 48 of file bmesh_py_types.hh.

Referenced by bpy_bm_generic_valid_check_source(), and bpy_slot_from_py_elem_check().

◆ BPy_BMElemSeq_Check

#define BPy_BMElemSeq_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMElemSeq_Type)
PyTypeObject BPy_BMElemSeq_Type

Definition at line 41 of file bmesh_py_types.hh.

Referenced by bpy_slot_from_py().

◆ BPy_BMesh_Check

#define BPy_BMesh_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMesh_Type)
PyTypeObject BPy_BMesh_Type

Definition at line 36 of file bmesh_py_types.hh.

Referenced by bpy_bm_generic_valid_check_source(), and BPy_BMO_call().

◆ BPy_BMFace_Check

#define BPy_BMFace_Check ( v)

◆ BPy_BMFaceSeq_Check

#define BPy_BMFaceSeq_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMFaceSeq_Type)
PyTypeObject BPy_BMFaceSeq_Type

Definition at line 44 of file bmesh_py_types.hh.

Referenced by bpy_slot_from_py().

◆ BPy_BMIter_Check

#define BPy_BMIter_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMIter_Type)
PyTypeObject BPy_BMIter_Type

Definition at line 46 of file bmesh_py_types.hh.

◆ BPy_BMLoop_Check

#define BPy_BMLoop_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMLoop_Type)
PyTypeObject BPy_BMLoop_Type

Definition at line 40 of file bmesh_py_types.hh.

Referenced by bpy_bm_utils_loop_separate().

◆ BPy_BMLoopSeq_Check

#define BPy_BMLoopSeq_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMLoopSeq_Type)
PyTypeObject BPy_BMLoopSeq_Type

Definition at line 45 of file bmesh_py_types.hh.

◆ BPy_BMVert_Check

#define BPy_BMVert_Check ( v)

◆ BPy_BMVertSeq_Check

#define BPy_BMVertSeq_Check ( v)
Value:
(Py_TYPE(v) == &BPy_BMVertSeq_Type)
PyTypeObject BPy_BMVertSeq_Type

Definition at line 42 of file bmesh_py_types.hh.

Referenced by bpy_slot_from_py().

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
BPY_BMFLAG_NOP 
BPY_BMFLAG_IS_WRAPPED 

Definition at line 130 of file bmesh_py_types.hh.

Function Documentation

◆ bpy_bm_check_bm_match_or_error()

int bpy_bm_check_bm_match_or_error ( BMesh * bm_a,
BMesh * bm_b,
const char * error_prefix )
nodiscard

◆ bpy_bm_check_uv_select_sync_valid()

int int bpy_bm_check_uv_select_sync_valid ( BMesh * bm,
const char * error_prefix )
nodiscard

◆ bpy_bm_generic_valid_check()

int bpy_bm_generic_valid_check ( BPy_BMGeneric * self)
nodiscard

Definition at line 5124 of file bmesh_py_types.cc.

References BM_mesh_is_valid(), LIKELY, and self.

Referenced by bpy_bm_generic_valid_check_source().

◆ 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 )
nodiscard

References bm.

◆ BPy_BM_init_types()

◆ bpy_bm_uv_layer_offset_or_error()

int bpy_bm_uv_layer_offset_or_error ( BMesh * bm,
const char * error_prefix )
nodiscard

◆ BPy_BMEdge_Array_As_Tuple()

PyObject * BPy_BMEdge_Array_As_Tuple ( BMesh * bm,
BMEdge ** elem,
Py_ssize_t elem_num )
nodiscard

Definition at line 5417 of file bmesh_py_types.cc.

References bm, BPy_BMEdge_CreatePyObject(), i, and ret.

◆ BPy_BMEdge_CreatePyObject()

◆ BPy_BMEdge_PySeq_As_Array()

BMEdge ** BPy_BMEdge_PySeq_As_Array ( BMesh ** r_bm,
PyObject * seq,
Py_ssize_t min,
Py_ssize_t max,
Py_ssize_t * r_seq_num,
bool do_unique_check,
bool do_bm_check,
const char * error_prefix )
nodiscard

◆ BPy_BMEdgeSeq_CreatePyObject()

PyObject * BPy_BMEdgeSeq_CreatePyObject ( BMesh * bm)
nodiscard

Definition at line 5071 of file bmesh_py_types.cc.

References bm, BM_EDGES_OF_MESH, BPy_BMEdgeSeq_Type, and self.

Referenced by bpy_bmedgeseq_get().

◆ BPy_BMElem_Array_As_Tuple()

PyObject * BPy_BMElem_Array_As_Tuple ( BMesh * bm,
BMHeader ** elem,
Py_ssize_t elem_num )
nodiscard

Definition at line 5399 of file bmesh_py_types.cc.

References bm, BPy_BMElem_CreatePyObject(), i, and ret.

◆ BPy_BMElem_CheckHType()

int BPy_BMElem_CheckHType ( PyTypeObject * type,
char htype )
nodiscard

◆ BPy_BMElem_CreatePyObject()

◆ BPy_BMElem_PySeq_As_Array()

void * BPy_BMElem_PySeq_As_Array ( BMesh ** r_bm,
PyObject * seq,
Py_ssize_t min,
Py_ssize_t max,
Py_ssize_t * r_seq_num,
char htype,
bool do_unique_check,
bool do_bm_check,
const char * error_prefix )
nodiscard

◆ BPy_BMElem_PySeq_As_Array_FAST()

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_seq_num,
char htype,
bool do_unique_check,
bool do_bm_check,
const char * error_prefix )
nodiscard

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 5215 of file bmesh_py_types.cc.

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, i, max, min, and UNLIKELY.

Referenced by BPy_BMElem_PySeq_As_Array().

◆ BPy_BMElem_StringFromHType()

char * BPy_BMElem_StringFromHType ( char htype)
nodiscard

◆ BPy_BMElem_StringFromHType_ex()

char * BPy_BMElem_StringFromHType_ex ( char htype,
char ret[32] )
nodiscard

Use for error strings only, not thread safe,

Returns
a string like '(BMVert/BMEdge/BMFace/BMLoop)'

Definition at line 5456 of file bmesh_py_types.cc.

References BLI_string_join_array_by_sep_char(), BM_EDGE, BM_FACE, BM_LOOP, BM_VERT, BPy_BMEdge_Type, BPy_BMFace_Type, BPy_BMLoop_Type, BPy_BMVert_Type, i, and ret.

Referenced by BPy_BMElem_StringFromHType(), bpy_bmlayeritem_ptr_get(), and bpy_slot_from_py_elemseq_check().

◆ BPy_BMElemSeq_CreatePyObject()

PyObject * BPy_BMElemSeq_CreatePyObject ( BMesh * bm,
BPy_BMElem * py_ele,
char itype )
nodiscard

Definition at line 5052 of file bmesh_py_types.cc.

References bm, BPy_BMElemSeq_Type, itype, and self.

Referenced by bpy_bmelemseq_elem_get().

◆ BPy_BMesh_CreatePyObject()

PyObject * BPy_BMesh_CreatePyObject ( BMesh * bm,
int flag )
nodiscard

◆ BPy_BMFace_Array_As_Tuple()

PyObject * BPy_BMFace_Array_As_Tuple ( BMesh * bm,
BMFace ** elem,
Py_ssize_t elem_num )
nodiscard

Definition at line 5427 of file bmesh_py_types.cc.

References bm, BPy_BMFace_CreatePyObject(), i, and ret.

Referenced by bpy_bm_utils_face_split_edgenet().

◆ BPy_BMFace_CreatePyObject()

◆ BPy_BMFace_PySeq_As_Array()

BMFace ** BPy_BMFace_PySeq_As_Array ( BMesh ** r_bm,
PyObject * seq,
Py_ssize_t min,
Py_ssize_t max,
Py_ssize_t * r_seq_num,
bool do_unique_check,
bool do_bm_check,
const char * error_prefix )
nodiscard

◆ BPy_BMFaceSeq_CreatePyObject()

PyObject * BPy_BMFaceSeq_CreatePyObject ( BMesh * bm)
nodiscard

Definition at line 5080 of file bmesh_py_types.cc.

References bm, BM_FACES_OF_MESH, BPy_BMFaceSeq_Type, and self.

Referenced by bpy_bmfaceseq_get().

◆ BPy_BMIter_CreatePyObject()

PyObject * BPy_BMIter_CreatePyObject ( BMesh * bm)
nodiscard

Definition at line 5098 of file bmesh_py_types.cc.

References bm, BPy_BMIter_Type, and self.

Referenced by bpy_bmelemseq_iter().

◆ BPy_BMLoop_Array_As_Tuple()

PyObject * BPy_BMLoop_Array_As_Tuple ( BMesh * bm,
BMLoop *const * elem,
Py_ssize_t elem_num )
nodiscard

Definition at line 5437 of file bmesh_py_types.cc.

References bm, BPy_BMLoop_CreatePyObject(), i, and ret.

Referenced by bpy_bmesh_calc_loop_triangles().

◆ BPy_BMLoop_CreatePyObject()

◆ BPy_BMLoop_PySeq_As_Array()

BMLoop ** BPy_BMLoop_PySeq_As_Array ( BMesh ** r_bm,
PyObject * seq,
Py_ssize_t min,
Py_ssize_t max,
Py_ssize_t * r_seq_num,
bool do_unique_check,
bool do_bm_check,
const char * error_prefix )
nodiscard

Definition at line 5386 of file bmesh_py_types.cc.

References BM_LOOP, BPy_BMElem_PySeq_As_Array(), max, and min.

Referenced by bpy_bmesh_uv_select_foreach_set().

◆ BPy_BMLoopSeq_CreatePyObject()

PyObject * BPy_BMLoopSeq_CreatePyObject ( BMesh * bm)
nodiscard

Definition at line 5089 of file bmesh_py_types.cc.

References bm, BPy_BMLoopSeq_Type, and self.

Referenced by bpy_bmloopseq_get().

◆ BPy_BMVert_Array_As_Tuple()

PyObject * BPy_BMVert_Array_As_Tuple ( BMesh * bm,
BMVert ** elem,
Py_ssize_t elem_num )
nodiscard

Definition at line 5408 of file bmesh_py_types.cc.

References bm, BPy_BMVert_CreatePyObject(), i, and ret.

Referenced by bpy_bm_utils_vert_separate().

◆ BPy_BMVert_CreatePyObject()

◆ BPy_BMVert_PySeq_As_Array()

BMVert ** BPy_BMVert_PySeq_As_Array ( BMesh ** r_bm,
PyObject * seq,
Py_ssize_t min,
Py_ssize_t max,
Py_ssize_t * r_seq_num,
bool do_unique_check,
bool do_bm_check,
const char * error_prefix )
nodiscard

◆ BPy_BMVertSeq_CreatePyObject()

PyObject * BPy_BMVertSeq_CreatePyObject ( BMesh * bm)
nodiscard

Definition at line 5062 of file bmesh_py_types.cc.

References bm, BM_VERTS_OF_MESH, BPy_BMVertSeq_Type, and self.

Referenced by bpy_bmvertseq_get().

◆ BPyInit_bmesh_types()

Variable Documentation

◆ BPy_BMEdge_Type

◆ BPy_BMEdgeSeq_Type

PyTypeObject BPy_BMEdgeSeq_Type
extern

◆ BPy_BMElemSeq_Type

PyTypeObject BPy_BMElemSeq_Type
extern

◆ BPy_BMesh_Type

PyTypeObject BPy_BMesh_Type
extern

◆ BPy_BMFace_Type

◆ BPy_BMFaceSeq_Type

PyTypeObject BPy_BMFaceSeq_Type
extern

◆ BPy_BMIter_Type

PyTypeObject BPy_BMIter_Type
extern

◆ BPy_BMLoop_Type

◆ BPy_BMLoopSeq_Type

PyTypeObject BPy_BMLoopSeq_Type
extern

◆ BPy_BMVert_Type

◆ BPy_BMVertSeq_Type

PyTypeObject BPy_BMVertSeq_Type
extern