38 const int num_vertices,
41 const int num_polygons);
45 const int ptex_face_index,
48 const int coarse_vertex_index,
49 const int coarse_poly_index,
50 const int coarse_corner,
51 const int subdiv_vertex_index);
55 const int ptex_face_index,
58 const int coarse_edge_index,
59 const int coarse_poly_index,
60 const int coarse_corner,
61 const int subdiv_vertex_index);
65 const int ptex_face_index,
68 const int coarse_poly_index,
69 const int coarse_corner,
70 const int subdiv_vertex_index);
74 const int coarse_edge_index,
75 const int subdiv_edge_index,
81 const int ptex_face_index,
84 const int coarse_loop_index,
85 const int coarse_poly_index,
86 const int coarse_corner,
87 const int subdiv_loop_index,
88 const int subdiv_vertex_index,
89 const int subdiv_edge_index);
93 const int coarse_poly_index,
94 const int subdiv_poly_index,
95 const int start_loop_index,
100 const int coarse_vertex_index,
101 const int subdiv_vertex_index);
105 const int coarse_edge_index,
107 const int subdiv_vertex_index);
175 const struct Mesh *coarse_mesh);
void(* SubdivForeachVertexFromEdgeCb)(const struct SubdivForeachContext *context, void *tls, const int ptex_face_index, const float u, const float v, const int coarse_edge_index, const int coarse_poly_index, const int coarse_corner, const int subdiv_vertex_index)
void(* SubdivForeachVertexOfLooseEdgeCb)(const struct SubdivForeachContext *context, void *tls, const int coarse_edge_index, const float u, const int subdiv_vertex_index)
void(* SubdivForeachLoopCb)(const struct SubdivForeachContext *context, void *tls, const int ptex_face_index, const float u, const float v, const int coarse_loop_index, const int coarse_poly_index, const int coarse_corner, const int subdiv_loop_index, const int subdiv_vertex_index, const int subdiv_edge_index)
void(* SubdivForeachVertexFromCornerCb)(const struct SubdivForeachContext *context, void *tls, const int ptex_face_index, const float u, const float v, const int coarse_vertex_index, const int coarse_poly_index, const int coarse_corner, const int subdiv_vertex_index)
void(* SubdivForeachEdgeCb)(const struct SubdivForeachContext *context, void *tls, const int coarse_edge_index, const int subdiv_edge_index, const int subdiv_v1, const int subdiv_v2)
bool(* SubdivForeachTopologyInformationCb)(const struct SubdivForeachContext *context, const int num_vertices, const int num_edges, const int num_loops, const int num_polygons)
void(* SubdivForeachVertexInnerCb)(const struct SubdivForeachContext *context, void *tls, const int ptex_face_index, const float u, const float v, const int coarse_poly_index, const int coarse_corner, const int subdiv_vertex_index)
bool BKE_subdiv_foreach_subdiv_geometry(struct Subdiv *subdiv, const struct SubdivForeachContext *context, const struct SubdivToMeshSettings *mesh_settings, const struct Mesh *coarse_mesh)
void(* SubdivForeachLooseCb)(const struct SubdivForeachContext *context, void *tls, const int coarse_vertex_index, const int subdiv_vertex_index)
struct SubdivForeachContext SubdivForeachContext
void(* SubdivForeachPolygonCb)(const struct SubdivForeachContext *context, void *tls, const int coarse_poly_index, const int subdiv_poly_index, const int start_loop_index, const int num_loops)
ATTR_WARN_UNUSED_RESULT const BMVert * v
struct SELECTID_Context context
SubdivForeachVertexFromEdgeCb vertex_every_edge
SubdivForeachPolygonCb poly
SubdivForeachTopologyInformationCb topology_info
size_t user_data_tls_size
SubdivForeachLooseCb vertex_loose
SubdivForeachVertexInnerCb vertex_inner
SubdivForeachVertexOfLooseEdgeCb vertex_of_loose_edge
void(* user_data_tls_free)(void *tls)
SubdivForeachVertexFromEdgeCb vertex_edge
SubdivForeachVertexFromCornerCb vertex_corner
SubdivForeachVertexFromCornerCb vertex_every_corner