Blender V4.3
BKE_mesh_iterators.hh File Reference

Go to the source code of this file.

Enumerations

enum  MeshForeachFlag { MESH_FOREACH_NOP = 0 , MESH_FOREACH_USE_NORMAL = (1 << 0) }
 

Functions

void BKE_mesh_foreach_mapped_vert (const Mesh *mesh, void(*func)(void *user_data, int index, const float co[3], const float no[3]), void *user_data, MeshForeachFlag flag)
 
void BKE_mesh_foreach_mapped_edge (Mesh *mesh, int tot_edges, void(*func)(void *user_data, int index, const float v0co[3], const float v1co[3]), void *user_data)
 
void BKE_mesh_foreach_mapped_loop (Mesh *mesh, void(*func)(void *user_data, int vertex_index, int face_index, const float co[3], const float no[3]), void *user_data, MeshForeachFlag flag)
 
void BKE_mesh_foreach_mapped_face_center (Mesh *mesh, void(*func)(void *user_data, int index, const float cent[3], const float no[3]), void *user_data, MeshForeachFlag flag)
 
void BKE_mesh_foreach_mapped_subdiv_face_center (Mesh *mesh, void(*func)(void *user_data, int index, const float cent[3], const float no[3]), void *user_data, MeshForeachFlag flag)
 
void BKE_mesh_foreach_mapped_vert_coords_get (const Mesh *mesh_eval, float(*r_cos)[3], int totcos)
 

Enumeration Type Documentation

◆ MeshForeachFlag

Enumerator
MESH_FOREACH_NOP 
MESH_FOREACH_USE_NORMAL 

Definition at line 12 of file BKE_mesh_iterators.hh.

Function Documentation

◆ BKE_mesh_foreach_mapped_edge()

void BKE_mesh_foreach_mapped_edge ( Mesh * mesh,
int tot_edges,
void(* func )(void *user_data, int index, const float v0co[3], const float v1co[3]),
void * user_data )

Copied from #cdDM_foreachMappedEdge.

Parameters
tot_edgesNumber of original edges. Used to avoid calling the callback with invalid edge indices.

Definition at line 90 of file mesh_iterators.cc.

References bm, BMEditMesh::bm, BM_EDGES_OF_MESH, BM_elem_index_get, BM_ITER_MESH_INDEX, BM_mesh_elem_index_ensure(), BM_VERT, CD_ORIGINDEX, BMVert::co, CustomData_get_layer(), ORIGINDEX_NONE, BMEdge::v1, and BMEdge::v2.

Referenced by mesh_foreachScreenEdge(), and mesh_foreachScreenEdge_clip_bb_segment().

◆ BKE_mesh_foreach_mapped_face_center()

void BKE_mesh_foreach_mapped_face_center ( Mesh * mesh,
void(* func )(void *user_data, int index, const float cent[3], const float no[3]),
void * user_data,
MeshForeachFlag flag )

◆ BKE_mesh_foreach_mapped_loop()

void BKE_mesh_foreach_mapped_loop ( Mesh * mesh,
void(* func )(void *user_data, int vertex_index, int face_index, const float co[3], const float no[3]),
void * user_data,
MeshForeachFlag flag )

◆ BKE_mesh_foreach_mapped_subdiv_face_center()

void BKE_mesh_foreach_mapped_subdiv_face_center ( Mesh * mesh,
void(* func )(void *user_data, int index, const float cent[3], const float no[3]),
void * user_data,
MeshForeachFlag flag )

◆ BKE_mesh_foreach_mapped_vert()

◆ BKE_mesh_foreach_mapped_vert_coords_get()

void BKE_mesh_foreach_mapped_vert_coords_get ( const Mesh * mesh_eval,
float(*) r_cos[3],
int totcos )