Blender  V3.3
BKE_mesh_iterators.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #pragma once
3 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 struct Mesh;
13 
14 typedef enum MeshForeachFlag {
16  /* foreachMappedVert, foreachMappedLoop, foreachMappedFaceCenter */
19 
21  struct Mesh *mesh,
22  void (*func)(void *userData, int index, const float co[3], const float no[3]),
23  void *userData,
31  struct Mesh *mesh,
32  int tot_edges,
33  void (*func)(void *userData, int index, const float v0co[3], const float v1co[3]),
34  void *userData);
36  void (*func)(void *userData,
37  int vertex_index,
38  int face_index,
39  const float co[3],
40  const float no[3]),
41  void *userData,
44  struct Mesh *mesh,
45  void (*func)(void *userData, int index, const float cent[3], const float no[3]),
46  void *userData,
49  struct Mesh *mesh,
50  void (*func)(void *userData, int index, const float cent[3], const float no[3]),
51  void *userData,
53 
54 void BKE_mesh_foreach_mapped_vert_coords_get(struct Mesh *me_eval, float (*r_cos)[3], int totcos);
55 
56 #ifdef __cplusplus
57 }
58 #endif
void BKE_mesh_foreach_mapped_vert_coords_get(struct Mesh *me_eval, float(*r_cos)[3], int totcos)
void BKE_mesh_foreach_mapped_edge(struct Mesh *mesh, int tot_edges, void(*func)(void *userData, int index, const float v0co[3], const float v1co[3]), void *userData)
void BKE_mesh_foreach_mapped_loop(struct Mesh *mesh, void(*func)(void *userData, int vertex_index, int face_index, const float co[3], const float no[3]), void *userData, MeshForeachFlag flag)
void BKE_mesh_foreach_mapped_vert(struct Mesh *mesh, void(*func)(void *userData, int index, const float co[3], const float no[3]), void *userData, MeshForeachFlag flag)
MeshForeachFlag
@ MESH_FOREACH_NOP
@ MESH_FOREACH_USE_NORMAL
void BKE_mesh_foreach_mapped_subdiv_face_center(struct Mesh *mesh, void(*func)(void *userData, int index, const float cent[3], const float no[3]), void *userData, MeshForeachFlag flag)
void BKE_mesh_foreach_mapped_face_center(struct Mesh *mesh, void(*func)(void *userData, int index, const float cent[3], const float no[3]), void *userData, MeshForeachFlag flag)
size_t index
uint16_t flag