26 const float f_dst_center[3],
27 const float f_src_center[3],
28 int cd_loop_mdisp_offset);
37 const float f_dst_center[3],
38 const float f_src_center[3],
39 int cd_loop_mdisp_offset);
127 const void **blocks_v,
129 float axis_mat[3][3]);
158 const float *loop_weights);
void BM_face_interp_multires(BMesh *bm, BMFace *f_dst, const BMFace *f_src)
BMDataLayerLookup BM_data_layer_lookup(const BMesh &bm, const blender::StringRef name)
void BM_data_layer_free_n(BMesh *bm, CustomData *data, int type, int n)
void BM_data_layer_free(BMesh *bm, CustomData *data, int type)
float BM_elem_float_data_get(CustomData *cd, void *element, int type)
LinkNode * BM_vert_loop_groups_data_layer_create(BMesh *bm, BMVert *v, int layer_n, const float *loop_weights, MemArena *arena)
void BM_face_interp_multires_ex(BMesh *bm, BMFace *f_dst, const BMFace *f_src, const float f_dst_center[3], const float f_src_center[3], int cd_loop_mdisp_offset)
void BM_vert_interp_from_face(BMesh *bm, BMVert *v_dst, const BMFace *f_src)
void BM_data_layer_add_named(BMesh *bm, CustomData *data, int type, blender::StringRef name)
bool BM_data_layer_free_named(BMesh *bm, CustomData *data, blender::StringRef name)
bool BM_data_layer_has_named(const BMesh *bm, const CustomData *data, int type, blender::StringRef name)
void BM_face_interp_from_face(BMesh *bm, BMFace *f_dst, const BMFace *f_src, bool do_vertex)
void BM_data_layer_copy(BMesh *bm, CustomData *data, int type, int src_n, int dst_n)
void BM_loop_interp_multires_ex(BMesh *bm, BMLoop *l_dst, const BMFace *f_src, const float f_dst_center[3], const float f_src_center[3], int cd_loop_mdisp_offset)
void BM_loop_interp_multires(BMesh *bm, BMLoop *l_dst, const BMFace *f_src)
void BM_data_layer_add(BMesh *bm, CustomData *data, int type)
void BM_data_interp_face_vert_edge(BMesh *bm, const BMVert *v_src_1, const BMVert *v_src_2, BMVert *v, BMEdge *e, float fac)
Data Face-Vert Edge Interpolate.
void BM_uv_map_attr_pin_ensure_for_all_layers(BMesh *bm)
void BM_face_multires_bounds_smooth(BMesh *bm, BMFace *f)
bool BM_uv_map_attr_pin_exists(const BMesh *bm, blender::StringRef uv_map_name)
void BM_loop_interp_from_face(BMesh *bm, BMLoop *l_dst, const BMFace *f_src, bool do_vertex, bool do_multires)
void BM_uv_map_attr_pin_ensure_named(BMesh *bm, blender::StringRef uv_map_name)
void BM_data_layer_ensure_named(BMesh *bm, CustomData *data, int type, blender::StringRef name)
void BM_data_interp_from_verts(BMesh *bm, const BMVert *v_src_1, const BMVert *v_src_2, BMVert *v_dst, float fac)
Data, Interpolate From Verts.
void BM_face_interp_from_face_ex(BMesh *bm, BMFace *f_dst, const BMFace *f_src, bool do_vertex, const void **blocks, const void **blocks_v, float(*cos_2d)[2], float axis_mat[3][3])
Data Interpolate From Face.
void BM_elem_float_data_set(CustomData *cd, void *element, int type, float val)
void BM_vert_loop_groups_data_layer_merge_weights(BMesh *bm, LinkNode *groups, int layer_n, const float *loop_weights)
void BM_vert_loop_groups_data_layer_merge(BMesh *bm, LinkNode *groups, int layer_n)
void BM_data_interp_from_edges(BMesh *bm, const BMEdge *e_src_1, const BMEdge *e_src_2, BMEdge *e_dst, float fac)
Data, Interpolate From Edges.
BMesh const char void * data
ATTR_WARN_UNUSED_RESULT const void * element
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
blender::bke::AttrType type
blender::bke::AttrDomain domain