18#define STD_UV_CONNECT_LIMIT 0.0001f
103 const bool *hide_poly,
104 const bool *select_poly,
105 const int *corner_verts,
106 const float (*mloopuv)[2],
107 unsigned int totvert,
108 const float limit[2],
125 const int *corner_verts,
142 MeshElemMap **r_map,
int **r_mem,
int totsource,
const int *final_origindex,
int totfinal);
150 const int *corner_tri_faces,
151 int corner_tris_num);
184 short innercut_type);
189 const int *items_indices,
190 int num_island_items,
191 int *island_item_indices,
192 int num_innercut_items,
193 int *innercut_item_indices);
199 const bool *uv_seams,
201 const int *corner_verts,
202 const int *corner_edges,
217 const bool *uv_seams,
219 const int *corner_verts,
220 const int *corner_edges,
241 const bool *uv_seams,
243 const int *corner_verts,
244 const int *corner_edges,
246 const float (*luvs)[2],
268#define BKE_MESH_TESSTRI_VINDEX_ORDER(_tri, _v) \
270 _tri, unsigned int *, int *, int[3], const unsigned int *, const int *, const int[3]), \
271 CHECK_TYPE_ANY(_v, unsigned int, const unsigned int, int, const int)), \
272 (((_tri)[0] == _v) ? 0 : \
273 ((_tri)[1] == _v) ? 1 : \
274 ((_tri)[2] == _v) ? 2 : \
283 Array<int> &r_offsets,
284 Array<int> &r_indices);
287 Span<int> corner_verts,
288 OffsetIndices<int> offsets,
289 MutableSpan<int> face_indices);
291 Span<int> corner_verts,
293 Array<int> &r_offsets,
294 Array<int> &r_indices);
299 Array<int> &r_offsets,
300 Array<int> &r_indices);
304 Array<int> &r_offsets,
305 Array<int> &r_indices);
308 Span<int> corner_edges,
310 Array<int> &r_offsets,
311 Array<int> &r_indices);
bool(*)(const float(*vert_positions)[3], int totvert, const blender::int2 *edges, int totedge, const bool *uv_seams, blender::OffsetIndices< int > faces, const int *corner_verts, const int *corner_edges, int corners_num, MeshIslandStore *r_island_store) MeshRemapIslandsCalc
bool BKE_mesh_calc_islands_loop_face_edgeseam(const float(*vert_positions)[3], int totvert, const blender::int2 *edges, int totedge, const bool *uv_seams, blender::OffsetIndices< int > faces, const int *corner_verts, const int *corner_edges, int corners_num, MeshIslandStore *r_island_store)
void BKE_mesh_loop_islands_init(MeshIslandStore *island_store, short item_type, int items_num, short island_type, short innercut_type)
int * BKE_mesh_calc_smoothgroups(int edges_num, blender::OffsetIndices< int > faces, blender::Span< int > corner_edges, blender::Span< bool > sharp_edges, blender::Span< bool > sharp_faces, int *r_totgroup, bool use_bitflags)
void BKE_mesh_loop_islands_add(MeshIslandStore *island_store, int item_num, const int *items_indices, int num_island_items, int *island_item_indices, int num_innercut_items, int *innercut_item_indices)
void BKE_mesh_origindex_map_create(MeshElemMap **r_map, int **r_mem, int totsource, const int *final_origindex, int totfinal)
void BKE_mesh_vert_corner_tri_map_create(MeshElemMap **r_map, int **r_mem, int totvert, const blender::int3 *corner_tris, int tris_num, const int *corner_verts, int corners_num)
UvVertMap * BKE_mesh_uv_vert_map_create(blender::OffsetIndices< int > faces, const bool *hide_poly, const bool *select_poly, const int *corner_verts, const float(*mloopuv)[2], unsigned int totvert, const float limit[2], bool selected, bool use_winding)
void BKE_mesh_loop_islands_clear(MeshIslandStore *island_store)
void BKE_mesh_uv_vert_map_free(UvVertMap *vmap)
UvMapVert * BKE_mesh_uv_vert_map_get_vert(UvVertMap *vmap, unsigned int v)
bool BKE_mesh_calc_islands_loop_face_uvmap(float(*vert_positions)[3], int totvert, blender::int2 *edges, int totedge, const bool *uv_seams, blender::OffsetIndices< int > faces, const int *corner_verts, const int *corner_edges, int corners_num, const float(*luvs)[2], MeshIslandStore *r_island_store)
void BKE_mesh_loop_islands_free(MeshIslandStore *island_store)
void BKE_mesh_origindex_map_create_corner_tri(MeshElemMap **r_map, int **r_mem, blender::OffsetIndices< int > faces, const int *corner_tri_faces, int corner_tris_num)
ATTR_WARN_UNUSED_RESULT const BMVert * v
draw_view in_light_buf[] float
void build_vert_to_face_indices(OffsetIndices< int > faces, Span< int > corner_verts, OffsetIndices< int > offsets, MutableSpan< int > face_indices)
GroupedSpan< int > build_vert_to_corner_map(Span< int > corner_verts, int verts_num, Array< int > &r_offsets, Array< int > &r_indices)
GroupedSpan< int > build_edge_to_corner_map(Span< int > corner_edges, int edges_num, Array< int > &r_offsets, Array< int > &r_indices)
GroupedSpan< int > build_edge_to_face_map(OffsetIndices< int > faces, Span< int > corner_edges, int edges_num, Array< int > &r_offsets, Array< int > &r_indices)
Array< int > build_corner_to_face_map(OffsetIndices< int > faces)
Array< int > build_vert_to_corner_indices(Span< int > corner_verts, OffsetIndices< int > offsets)
GroupedSpan< int > build_vert_to_face_map(OffsetIndices< int > faces, Span< int > corner_verts, int verts_num, Array< int > &r_offsets, Array< int > &r_indices)
GroupedSpan< int > build_vert_to_edge_map(Span< int2 > edges, int verts_num, Array< int > &r_offsets, Array< int > &r_indices)
int * island_total_unique_uvs
unsigned short loop_of_face_index
unsigned short loop_of_face_index