Blender  V3.3
Functions
bmesh_intersect_edges.h File Reference

Go to the source code of this file.

Functions

bool BM_mesh_intersect_edges (BMesh *bm, char hflag, float dist, bool split_faces, GHash *r_targetmap)
 

Function Documentation

◆ BM_mesh_intersect_edges()

bool BM_mesh_intersect_edges ( BMesh bm,
char  hflag,
float  dist,
bool  split_faces,
GHash r_targetmap 
)

The weld_verts operator works best when all keys in the same group of collapsed vertices point to the same vertex. That is, if the pairs of vertices are: [1, 2], [2, 3] and [3, 4], They are better adjusted to: [1, 4], [2, 4] and [3, 4].

 va---vb---
     /
 va_dest
 ---v---v_other
     \
      v_other_dest

Definition at line 469 of file bmesh_intersect_edges.c.

References as_int(), BLI_assert, BLI_bvhtree_balance(), BLI_bvhtree_free(), BLI_bvhtree_insert(), BLI_bvhtree_new(), BLI_ghash_insert(), BLI_ghash_lookup(), BLI_ghash_lookup_p(), BLI_qsort_r(), BLI_stack_count(), BLI_stack_free(), BLI_STACK_PAIR_LEN, BLI_stack_pop_n_reverse(), bm, BM_CREATE_NOP, BM_DISK_EDGE_NEXT, BM_EDGE, BM_edge_create(), BM_edge_exists(), BM_edge_is_wire(), BM_edge_other_vert(), BM_edge_split(), BM_EDGES_OF_MESH, bm_edgexedge_isect_cb(), bm_edgexedge_self_isect_cb(), bm_edgexvert_isect_cb(), BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, BM_elem_index_set, BM_ELEM_TAG, bm_elemxelem_bvhtree_overlap(), BM_face_normal_update(), BM_face_split_edgenet(), BM_ITER_MESH, BM_ITER_MESH_INDEX, BM_mesh_elem_table_ensure(), BM_VERT, bm_vert_pair_best_face_get(), BM_vert_pair_share_face_check(), BM_VERTS_OF_MESH, bm_vertxvert_isect_cb(), bm_vertxvert_self_isect_cb(), BMVert::co, copy_v3_v3(), count, data, EDBMSplitData::dist_sq, e, EDBMSplitElem::edge, EDGE_ACT_TO_TEST, EDGE_REMAIN_TO_TEST, EDBMSplitElem::elem, BMesh::elem_index_dirty, BMVert::head, BMElem::head, BMHeader::htype, BMHeader::index, KDOP_AXIS_LEN, KDOP_TREE_TYPE, EDBMSplitElem::lambda, len_squared_v3v3(), MEM_freeN, MEM_mallocN, MEM_reallocN, NULL, EDBMSplitData::pair_stack, sort_cmp_by_lambda_cb(), square_f(), SWAP, v, BMEdge::v1, BMEdge::v2, and EDBMSplitElem::vert.

Referenced by EDBM_automerge_and_split().