44 BMLoop *l_iter_src, *l_iter_dst, *l_first_src;
50 l_iter_src = l_first_src;
56 }
while ((l_iter_src = l_iter_src->
next) != l_first_src);
65 l_iter_src = l_first_src;
69 }
while ((
void)(l_iter_dst = l_iter_dst->
next), (l_iter_src = l_iter_src->
next) != l_first_src);
85 for (
uint i = 0; i < verts_src_len; i++) {
86 BMVert *v_src = verts_src[i];
98 for (
uint i = 0; i < edges_src_len; i++) {
99 BMEdge *e_src = edges_src[i];
104 edges_dst[i] = e_dst;
110 for (
uint i = 0; i < faces_src_len; i++) {
111 BMFace *f_src = faces_src[i];
#define BLI_array_alloca(arr, realsize)
Object is a sort of wrapper for general info.
Read Guarded memory(de)allocation.
#define BM_FACE_FIRST_LOOP(p)
void BM_elem_attrs_copy(BMesh *bm_src, BMesh *bm_dst, const void *ele_src, void *ele_dst)
BMVert * BM_vert_create(BMesh *bm, const float co[3], const BMVert *v_example, const eBMCreateFlag create_flag)
Main function for creating a new vertex.
BMFace * BM_face_create(BMesh *bm, BMVert **verts, BMEdge **edges, const int len, const BMFace *f_example, const eBMCreateFlag create_flag)
BMEdge * BM_edge_create(BMesh *bm, BMVert *v1, BMVert *v2, const BMEdge *e_example, const eBMCreateFlag create_flag)
Main function for creating a new edge.
#define BM_elem_index_get(ele)
#define BM_elem_index_set(ele, index)
static BMFace * bm_face_copy_with_arrays(BMesh *bm_src, BMesh *bm_dst, BMFace *f_src, BMVert **verts_dst, BMEdge **edges_dst)
void BM_mesh_copy_arrays(BMesh *bm_src, BMesh *bm_dst, BMVert **verts_src, uint verts_src_len, BMEdge **edges_src, uint edges_src_len, BMFace **faces_src, uint faces_src_len)
static BMEdge * bm_edge_copy_with_arrays(BMesh *bm_src, BMesh *bm_dst, BMEdge *e_src, BMVert **verts_dst)
static BMVert * bm_vert_copy(BMesh *bm_src, BMesh *bm_dst, BMVert *v_src)
void(* MEM_freeN)(void *vmemh)
void *(* MEM_mallocN)(size_t len, const char *str)