Blender
V3.3
|
Go to the source code of this file.
Enumerations | |
enum | { VERT_RESTRICT_TAG = (1 << 0) , EDGE_RESTRICT_DEGENERATE = (1 << 1) } |
Functions | |
void | BM_mesh_beautify_fill (BMesh *bm, BMEdge **edge_array, int edge_array_len, short flag, short method, short oflag_edge, short oflag_face) |
float | BM_verts_calc_rotate_beauty (const BMVert *v1, const BMVert *v2, const BMVert *v3, const BMVert *v4, short flag, short method) |
anonymous enum |
Enumerator | |
---|---|
VERT_RESTRICT_TAG | Vertices tags must match (special case). |
EDGE_RESTRICT_DEGENERATE | Don't rotate out of degenerate state (needed for iterative rotation). |
Definition at line 9 of file bmesh_beautify.h.
void BM_mesh_beautify_fill | ( | BMesh * | bm, |
BMEdge ** | edge_array, | ||
int | edge_array_len, | ||
short | flag, | ||
short | method, | ||
short | oflag_edge, | ||
short | oflag_face | ||
) |
Definition at line 364 of file bmesh_beautify.c.
References BLI_assert, BLI_gset_free(), BLI_gset_haskey(), BLI_gset_insert(), BLI_heap_free(), BLI_heap_insert(), BLI_heap_is_empty(), BLI_heap_new_ex(), BLI_heap_pop_min(), BLI_mempool_alloc(), BLI_mempool_create(), BLI_mempool_destroy(), BLI_MEMPOOL_NOP, bm, BM_EDGE, bm_edge_calc_rotate_beauty(), BM_edge_face_count_is_equal, BM_edge_rotate(), bm_edge_update_beauty_cost(), BM_EDGEROT_CHECK_EXISTS, BM_elem_index_get, BM_elem_index_set, BMO_edge_flag_enable, BMO_face_flag_enable, e, BMesh::elem_index_dirty, erot_gset_new(), erot_state_current(), LIKELY, MEM_callocN, MEM_freeN, MEM_mallocN, NULL, TIMEIT_END, TIMEIT_START, and UNLIKELY.
Referenced by bmo_beautify_fill_exec().
float BM_verts_calc_rotate_beauty | ( | const BMVert * | v1, |
const BMVert * | v2, | ||
const BMVert * | v3, | ||
const BMVert * | v4, | ||
short | flag, | ||
short | method | ||
) |
Assuming we have 2 triangles sharing an edge (2 - 4), check if the edge running from (1 - 3) gives better results.
Definition at line 231 of file bmesh_beautify.c.
References bm_edge_calc_rotate_beauty__angle(), bm_edge_calc_rotate_beauty__area(), BM_elem_flag_test, BM_ELEM_TAG, BMVert::co, EDGE_RESTRICT_DEGENERATE, UNLIKELY, v1, v2, and VERT_RESTRICT_TAG.
Referenced by bm_edge_calc_rotate_beauty(), BM_face_triangulate(), and bmesh_calc_tessellation_for_face_beauty().