Blender V4.3
mesh_iterators.cc File Reference
#include "BKE_customdata.hh"
#include "BKE_editmesh.hh"
#include "BKE_editmesh_cache.hh"
#include "BKE_mesh.hh"
#include "BKE_mesh_iterators.hh"
#include "BLI_bitmap.h"
#include "BLI_math_vector.h"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  MappedVCosData
 

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, const 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)
 
static void get_vertexcos__mapFunc (void *user_data, int index, const float co[3], const float[3])
 
void BKE_mesh_foreach_mapped_vert_coords_get (const Mesh *mesh_eval, float(*r_cos)[3], const int totcos)
 

Detailed Description

Functions for iterating mesh features.

Definition in file mesh_iterators.cc.

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],
const int totcos )

◆ get_vertexcos__mapFunc()

static void get_vertexcos__mapFunc ( void * user_data,
int index,
const float co[3],
const float [3] )
static