|
Blender V4.3
|
#include <cstring>#include "BLI_alloca.h"#include "BLI_ghash.h"#include "BLI_linklist.h"#include "BLI_linklist_stack.h"#include "BLI_listbase.h"#include "BLI_mempool.h"#include "MEM_guardedalloc.h"#include "bmesh.hh"#include "tools/bmesh_region_match.hh"#include "BLI_strict_flags.h"Go to the source code of this file.
Classes | |
| struct | UIDWalk |
| struct | UIDFaceStep |
| struct | UIDFaceStepItem |
Macros | |
| #define | USE_WALKER_REUSE |
| #define | USE_PIVOT_FASTMATCH |
| #define | USE_PIVOT_SEARCH |
| #define | PRIME_VERT_SMALL 7 |
| #define | PRIME_VERT_MID 43 |
| #define | PRIME_VERT_LARGE 1031 |
| #define | PRIME_FACE_SMALL 13 |
| #define | PRIME_FACE_MID 53 |
| #define | PRIME_VERT_SMALL 11 |
| #define | PRIME_FACE_SMALL 17 |
| #define | PRIME_FACE_LARGE 1013 |
| #define | PRIME_VERT_SMALL_A 7 |
| #define | PRIME_VERT_SMALL_B 13 |
| #define | PRIME_VERT_MID_A 103 |
| #define | PRIME_VERT_MID_B 131 |
| #define | PRIME_VERT_MID_A 23 |
| #define | PRIME_VERT_MID_B 31 |
| #define | PRIME_EDGE 7 |
| #define | PRIME_FACE 31 |
| #define | PRIME_LOOP 61 |
Functions | |
| static BMFace ** | bm_mesh_region_match_pair (UIDWalk *w_src, UIDWalk *w_dst, BMEdge *e_src, BMEdge *e_dst, const uint faces_src_region_len, const uint verts_src_region_len, uint *r_faces_result_len) |
| static void | bm_face_array_visit (BMFace **faces, const uint faces_len, uint *r_verts_len, bool visit_faces) |
| int | BM_mesh_region_match (BMesh *bm, BMFace **faces_region, uint faces_region_len, ListBase *r_face_regions) |
Internal UIDFaceStep API | |
| static int | facestep_sort (const void *a, const void *b) |
| static bool | bm_uidwalk_facestep_begin (UIDWalk *uidwalk, UIDFaceStep *fstep) |
| static void | bm_uidwalk_facestep_end (UIDWalk *uidwalk, UIDFaceStep *fstep) |
| static void | bm_uidwalk_facestep_free (UIDWalk *uidwalk, UIDFaceStep *fstep) |
Internal UIDWalk API | |
| #define | PRIME_VERT_INIT 100003 |
| typedef uintptr_t | UID_Int |
| typedef intptr_t | SUID_Int |
| BLI_INLINE bool | bm_uidwalk_face_test (UIDWalk *uidwalk, BMFace *f) |
| BLI_INLINE bool | bm_uidwalk_vert_lookup (UIDWalk *uidwalk, BMVert *v, UID_Int *r_uid) |
| BLI_INLINE bool | bm_uidwalk_face_lookup (UIDWalk *uidwalk, BMFace *f, UID_Int *r_uid) |
| static uint | ghashutil_bmelem_indexhash (const void *key) |
| static bool | ghashutil_bmelem_indexcmp (const void *a, const void *b) |
| static GHash * | ghash_bmelem_new_ex (const char *info, const uint nentries_reserve) |
| static GSet * | gset_bmelem_new_ex (const char *info, const uint nentries_reserve) |
| static GHash * | ghash_bmelem_new (const char *info) |
| static GSet * | gset_bmelem_new (const char *info) |
| static void | bm_uidwalk_init (UIDWalk *uidwalk, const uint faces_src_region_len, const uint verts_src_region_len) |
| static void | bm_uidwalk_clear (UIDWalk *uidwalk) |
| static void | bm_uidwalk_free (UIDWalk *uidwalk) |
| static UID_Int | bm_uidwalk_calc_vert_uid (UIDWalk *uidwalk, BMVert *v) |
| static UID_Int | bm_uidwalk_calc_face_uid (UIDWalk *uidwalk, BMFace *f) |
| static void | bm_uidwalk_rehash_reserve (UIDWalk *uidwalk, uint rehash_store_len_new) |
| static void | bm_uidwalk_rehash (UIDWalk *uidwalk) |
| static void | bm_uidwalk_rehash_facelinks (UIDWalk *uidwalk, LinkNode *faces, const uint faces_len, const bool is_init) |
| static bool | bm_vert_is_uid_connect (UIDWalk *uidwalk, BMVert *v) |
| static void | bm_uidwalk_pass_add (UIDWalk *uidwalk, LinkNode *faces_pass, const uint faces_pass_len) |
| static int | bm_face_len_cmp (const void *v1, const void *v2) |
| static uint | bm_uidwalk_init_from_edge (UIDWalk *uidwalk, BMEdge *e) |
| BLI_INLINE intptr_t | abs_intptr (intptr_t a) |
| static bool | bm_edge_is_region_boundary (BMEdge *e) |
| static void | bm_face_region_pivot_edge_use_best (GHash *gh, BMEdge *e_test, BMEdge **r_e_pivot_best, SUID_Int e_pivot_best_id[2]) |
| static SUID_Int | bm_face_region_vert_boundary_id (BMVert *v) |
| static SUID_Int | bm_face_region_vert_pass_id (GHash *gh, BMVert *v) |
| static BMEdge * | bm_face_region_pivot_edge_find (BMFace **faces_region, uint faces_region_len, uint verts_region_len, uint *r_depth) |
Fast Match | |
| typedef uintptr_t | UIDFashMatch |
| static UIDFashMatch | bm_vert_fasthash_single (BMVert *v) |
| static UIDFashMatch * | bm_vert_fasthash_create (BMesh *bm, const uint depth) |
| static void | bm_vert_fasthash_edge_order (const UIDFashMatch *fm, const BMEdge *e, UIDFashMatch e_fm[2]) |
| static bool | bm_vert_fasthash_edge_is_match (UIDFashMatch *fm, const BMEdge *e_a, const BMEdge *e_b) |
| static void | bm_vert_fasthash_destroy (UIDFashMatch *fm) |
Given a contiguous region of faces, find multiple matching regions (based on topology) and return them.
Implementation:
Definition in file bmesh_region_match.cc.
| #define PRIME_EDGE 7 |
Referenced by bm_vert_fasthash_single().
| #define PRIME_FACE 31 |
Referenced by bm_vert_fasthash_single().
| #define PRIME_FACE_LARGE 1013 |
Referenced by bm_uidwalk_calc_face_uid().
| #define PRIME_FACE_MID 53 |
Referenced by bm_uidwalk_calc_vert_uid().
| #define PRIME_FACE_SMALL 13 |
Referenced by bm_uidwalk_calc_face_uid(), and bm_uidwalk_calc_vert_uid().
| #define PRIME_FACE_SMALL 17 |
| #define PRIME_LOOP 61 |
Referenced by bm_vert_fasthash_single().
| #define PRIME_VERT_INIT 100003 |
Definition at line 61 of file bmesh_region_match.cc.
Referenced by bm_uidwalk_init_from_edge().
| #define PRIME_VERT_LARGE 1031 |
Referenced by bm_uidwalk_calc_vert_uid().
| #define PRIME_VERT_MID 43 |
Referenced by bm_uidwalk_calc_vert_uid().
| #define PRIME_VERT_MID_A 103 |
Referenced by bm_face_region_vert_boundary_id(), and bm_face_region_vert_pass_id().
| #define PRIME_VERT_MID_A 23 |
| #define PRIME_VERT_MID_B 131 |
Referenced by bm_face_region_vert_boundary_id(), and bm_face_region_vert_pass_id().
| #define PRIME_VERT_MID_B 31 |
| #define PRIME_VERT_SMALL 7 |
Referenced by bm_uidwalk_calc_face_uid(), and bm_uidwalk_calc_vert_uid().
| #define PRIME_VERT_SMALL 11 |
| #define PRIME_VERT_SMALL_A 7 |
Referenced by bm_face_region_vert_boundary_id().
| #define PRIME_VERT_SMALL_B 13 |
Referenced by bm_face_region_vert_boundary_id().
| #define USE_PIVOT_FASTMATCH |
Definition at line 42 of file bmesh_region_match.cc.
| #define USE_PIVOT_SEARCH |
Definition at line 45 of file bmesh_region_match.cc.
| #define USE_WALKER_REUSE |
Definition at line 37 of file bmesh_region_match.cc.
Referenced by BM_mesh_region_match().
Definition at line 905 of file bmesh_region_match.cc.
Definition at line 63 of file bmesh_region_match.cc.
| typedef uintptr_t UIDFashMatch |
Definition at line 1230 of file bmesh_region_match.cc.
| BLI_INLINE intptr_t abs_intptr | ( | intptr_t | a | ) |
Definition at line 907 of file bmesh_region_match.cc.
Referenced by bm_face_region_vert_boundary_id(), and bm_face_region_vert_pass_id().
|
static |
Definition at line 912 of file bmesh_region_match.cc.
References BM_elem_flag_test, BM_ELEM_TAG, e, BMLoop::f, and BMLoop::radial_next.
Referenced by bm_face_region_pivot_edge_find(), and bm_face_region_vert_boundary_id().
|
static |
Tag as visited, avoid re-use.
Definition at line 866 of file bmesh_region_match.cc.
References BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_TAG, BM_FACE_FIRST_LOOP, BMLoop::e, BMLoop::next, and BMLoop::v.
Referenced by BM_mesh_region_match().
|
static |
Definition at line 539 of file bmesh_region_match.cc.
References BMFace::len, and v2.
Referenced by bm_uidwalk_init_from_edge().
|
static |
Take a face region and find the inner-most vertex. also calculate the number of connections to the boundary, and the total number unique of verts used by this face region.
This is only called once on the source region (no need to be highly optimized).
Definition at line 1042 of file bmesh_region_match.cc.
References BLI_assert, BLI_ghash_ensure_p(), BLI_ghash_free(), BLI_ghash_haskey(), BLI_ghash_lookup(), BLI_ghash_lookup_p(), BLI_ghash_ptr_new(), BLI_LINKSTACK_DECLARE, BLI_LINKSTACK_FREE, BLI_LINKSTACK_INIT, BLI_LINKSTACK_POP, BLI_LINKSTACK_PUSH, BLI_LINKSTACK_SIZE, BLI_LINKSTACK_SWAP, bm_edge_is_region_boundary(), BM_edge_other_vert(), BM_EDGES_OF_VERT, BM_elem_flag_disable, BM_elem_flag_enable, BM_elem_flag_test, BM_ELEM_TAG, BM_FACE_FIRST_LOOP, bm_face_region_pivot_edge_use_best(), bm_face_region_vert_boundary_id(), bm_face_region_vert_pass_id(), BM_ITER_ELEM, BMLoop::e, e, LinkNode::link, BMLoop::next, LinkNode::next, printf, and v.
Referenced by BM_mesh_region_match().
|
static |
Definition at line 927 of file bmesh_region_match.cc.
References BLI_ghash_lookup(), BMEdge::v1, and BMEdge::v2.
Referenced by bm_face_region_pivot_edge_find().
Definition at line 953 of file bmesh_region_match.cc.
References abs_intptr(), bm_edge_is_region_boundary(), BM_ITER_ELEM, BM_LOOPS_OF_VERT, BMLoop::e, BMLoop::f, l, BMFace::len, BMLoop::prev, PRIME_VERT_MID_A, PRIME_VERT_MID_B, PRIME_VERT_SMALL_A, PRIME_VERT_SMALL_B, and v.
Referenced by bm_face_region_pivot_edge_find().
Accumulate id's from a previous pass (swap sign each pass)
Definition at line 985 of file bmesh_region_match.cc.
References abs_intptr(), BLI_ghash_lookup(), BM_edge_other_vert(), BM_EDGES_OF_VERT, BM_elem_flag_test, BM_ELEM_TAG, BM_ITER_ELEM, e, BMLoop::f, INTPTR_MIN, BMFace::len, PRIME_VERT_MID_A, PRIME_VERT_MID_B, BMLoop::radial_next, UNLIKELY, and v.
Referenced by bm_face_region_pivot_edge_find().
| int BM_mesh_region_match | ( | BMesh * | bm, |
| BMFace ** | faces_region, | ||
| uint | faces_region_len, | ||
| ListBase * | r_face_regions ) |
Take a face-region and return a list of matching face-regions.
| faces_region | A single, contiguous face-region. |
Definition at line 1329 of file bmesh_region_match.cc.
References BLI_addtail(), BLI_genericNodeN(), BLI_listbase_clear(), bm, BM_EDGE, BM_edge_is_wire(), BM_EDGES_OF_MESH, BM_elem_flag_test, BM_ELEM_TAG, BM_FACE, bm_face_array_visit(), bm_face_region_pivot_edge_find(), BM_ITER_MESH, BM_mesh_active_edge_get(), BM_mesh_elem_hflag_disable_all(), BM_mesh_elem_index_ensure(), bm_mesh_region_match_pair(), BM_select_history_clear(), BM_select_history_store, bm_uidwalk_clear(), bm_uidwalk_free(), bm_uidwalk_init(), BM_VERT, bm_vert_fasthash_create(), bm_vert_fasthash_destroy(), bm_vert_fasthash_edge_is_match(), int, printf, TIMEIT_END, TIMEIT_START, and USE_WALKER_REUSE.
Referenced by edbm_select_similar_region_exec().
|
static |
Given a face region and 2 candidate verts to begin mapping. return the matching region or nullptr.
Definition at line 705 of file bmesh_region_match.cc.
References BLI_assert, BLI_ghash_len(), BLI_ghashIterator_getKey(), BLI_linklist_free_pool(), BLI_listbase_count(), bm_uidwalk_clear(), bm_uidwalk_facestep_begin(), bm_uidwalk_facestep_end(), bm_uidwalk_facestep_free(), bm_uidwalk_free(), bm_uidwalk_init(), bm_uidwalk_init_from_edge(), bm_uidwalk_pass_add(), bm_uidwalk_rehash(), bm_uidwalk_rehash_reserve(), UIDFaceStep::faces, UIDWalk::faces_step, UIDWalk::faces_uid, ListBase::first, GHASH_ITER_INDEX, UIDFaceStep::items, UIDWalk::link_pool, UIDFaceStepItem::list, UIDFaceStepItem::list_len, MEM_mallocN, UIDFaceStep::next, UIDFaceStepItem::next, UIDFaceStepItem::uid, and UNLIKELY.
Referenced by BM_mesh_region_match().
Definition at line 313 of file bmesh_region_match.cc.
References BM_FACE_FIRST_LOOP, bm_uidwalk_face_lookup(), bm_uidwalk_vert_lookup(), BMLoop::f, BMFace::len, BMLoop::next, UIDWalk::pass, PRIME_FACE_LARGE, PRIME_FACE_SMALL, PRIME_VERT_SMALL, BMLoop::radial_next, and BMLoop::v.
Referenced by bm_uidwalk_facestep_begin(), bm_uidwalk_rehash(), and bm_uidwalk_rehash_facelinks().
Definition at line 258 of file bmesh_region_match.cc.
References BM_edge_other_vert(), BM_EDGES_OF_VERT, BM_FACES_OF_VERT, BM_ITER_ELEM, bm_uidwalk_face_lookup(), bm_uidwalk_vert_lookup(), e, UIDWalk::pass, PRIME_FACE_MID, PRIME_FACE_SMALL, PRIME_VERT_LARGE, PRIME_VERT_MID, PRIME_VERT_SMALL, and v.
Referenced by bm_uidwalk_pass_add(), and bm_uidwalk_rehash().
|
static |
Definition at line 214 of file bmesh_region_match.cc.
References BLI_ghash_clear(), BLI_gset_clear(), BLI_listbase_clear(), BLI_mempool_clear(), UIDWalk::cache, UIDWalk::faces_from_uid, UIDWalk::faces_step, UIDWalk::faces_uid, UIDWalk::link_pool, UIDWalk::pass, UIDWalk::step_pool, UIDWalk::step_pool_items, UIDWalk::use_face_isolate, and UIDWalk::verts_uid.
Referenced by BM_mesh_region_match(), and bm_mesh_region_match_pair().
| BLI_INLINE bool bm_uidwalk_face_lookup | ( | UIDWalk * | uidwalk, |
| BMFace * | f, | ||
| UID_Int * | r_uid ) |
Definition at line 141 of file bmesh_region_match.cc.
References BLI_ghash_lookup_p(), UIDWalk::faces_uid, and ret.
Referenced by bm_uidwalk_calc_face_uid(), and bm_uidwalk_calc_vert_uid().
| BLI_INLINE bool bm_uidwalk_face_test | ( | UIDWalk * | uidwalk, |
| BMFace * | f ) |
Definition at line 122 of file bmesh_region_match.cc.
References BM_elem_flag_test_bool, BM_ELEM_TAG, and UIDWalk::use_face_isolate.
Referenced by bm_uidwalk_init_from_edge(), and bm_uidwalk_pass_add().
|
static |
Put faces in lists based on their UID's, re-run for each pass since rehashing may differentiate face-groups.
Definition at line 617 of file bmesh_region_match.cc.
References BLI_addhead(), BLI_assert, BLI_ghash_clear(), BLI_ghash_ensure_p(), BLI_ghash_haskey(), BLI_ghash_len(), BLI_linklist_prepend_pool(), BLI_listbase_is_empty(), BLI_listbase_sort(), BLI_mempool_alloc(), BLI_mempool_free(), bm_uidwalk_calc_face_uid(), UIDWalk::cache, UIDFaceStep::faces, UIDWalk::faces_from_uid, UIDWalk::faces_uid, facestep_sort(), UIDFaceStep::items, LinkNode::link, UIDWalk::link_pool, UIDFaceStepItem::list, UIDFaceStepItem::list_len, LinkNode::next, UIDWalk::step_pool_items, and UIDFaceStepItem::uid.
Referenced by bm_mesh_region_match_pair().
|
static |
Cleans up temp data from bm_uidwalk_facestep_begin
Definition at line 673 of file bmesh_region_match.cc.
References BLI_mempool_free(), BLI_pophead(), UIDFaceStep::items, and UIDWalk::step_pool_items.
Referenced by bm_mesh_region_match_pair().
|
static |
Definition at line 681 of file bmesh_region_match.cc.
References BLI_assert, BLI_listbase_is_empty(), BLI_mempool_free(), BLI_remlink(), UIDFaceStep::faces, UIDWalk::faces_step, UIDFaceStep::items, UIDWalk::link_pool, LinkNode::next, and UIDWalk::step_pool.
Referenced by bm_mesh_region_match_pair().
|
static |
Handled by pools
Definition at line 236 of file bmesh_region_match.cc.
References BLI_ghash_free(), BLI_gset_free(), BLI_mempool_destroy(), UIDWalk::cache, UIDWalk::faces_from_uid, UIDWalk::faces_step, UIDWalk::faces_uid, UIDWalk::link_pool, MEM_SAFE_FREE, UIDWalk::rehash_store, UIDWalk::step_pool, UIDWalk::step_pool_items, and UIDWalk::verts_uid.
Referenced by BM_mesh_region_match(), and bm_mesh_region_match_pair().
|
static |
Definition at line 186 of file bmesh_region_match.cc.
References BLI_ghash_int_new(), BLI_listbase_clear(), BLI_mempool_create(), BLI_MEMPOOL_NOP, UIDWalk::cache, UIDWalk::faces_from_uid, UIDWalk::faces_step, UIDWalk::faces_uid, ghash_bmelem_new(), ghash_bmelem_new_ex(), gset_bmelem_new(), UIDWalk::link_pool, UIDWalk::pass, UIDWalk::rehash_store, UIDWalk::rehash_store_len, UIDWalk::step_pool, UIDWalk::step_pool_items, UIDWalk::use_face_isolate, and UIDWalk::verts_uid.
Referenced by BM_mesh_region_match(), and bm_mesh_region_match_pair().
Definition at line 553 of file bmesh_region_match.cc.
References BLI_array_alloca, BLI_assert, BLI_ghash_insert(), BLI_linklist_free_pool(), BLI_linklist_prepend_pool(), BM_edge_face_count(), bm_face_len_cmp(), bm_uidwalk_face_test(), bm_uidwalk_pass_add(), e, BMLoop::f, BMFace::len, len, UIDWalk::link_pool, PRIME_VERT_INIT, BMLoop::radial_next, and UIDWalk::verts_uid.
Referenced by bm_mesh_region_match_pair().
|
static |
Definition at line 462 of file bmesh_region_match.cc.
References BLI_addhead(), BLI_assert, BLI_ghash_clear(), BLI_ghash_ensure_p(), BLI_ghash_haskey(), BLI_ghash_insert(), BLI_ghash_len(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue(), BLI_gset_clear(), BLI_gset_haskey(), BLI_gset_insert(), BLI_gset_len(), BLI_linklist_count(), BLI_linklist_prepend_pool(), BLI_listbase_clear(), BLI_mempool_alloc(), BM_FACE_FIRST_LOOP, bm_uidwalk_calc_vert_uid(), bm_uidwalk_face_test(), bm_uidwalk_rehash_facelinks(), bm_vert_is_uid_connect(), UIDWalk::cache, BMLoop::f, UIDFaceStep::faces, UIDWalk::faces_step, UIDWalk::faces_uid, GHASH_ITER, UIDFaceStep::items, LinkNode::link, UIDWalk::link_pool, BMLoop::next, LinkNode::next, UIDWalk::pass, BMLoop::radial_next, UIDWalk::step_pool, BMLoop::v, v, and UIDWalk::verts_uid.
Referenced by bm_mesh_region_match_pair(), and bm_uidwalk_init_from_edge().
|
static |
Re-hash all elements, delay updating so as not to create feedback loop.
Definition at line 377 of file bmesh_region_match.cc.
References BLI_ghash_len(), BLI_ghashIterator_getKey(), BLI_ghashIterator_getValue_p(), bm_uidwalk_calc_face_uid(), bm_uidwalk_calc_vert_uid(), bm_uidwalk_rehash_reserve(), UIDWalk::cache, UIDWalk::faces_uid, GHASH_ITER, UIDWalk::rehash_store, v, and UIDWalk::verts_uid.
Referenced by bm_mesh_region_match_pair().
|
static |
Definition at line 414 of file bmesh_region_match.cc.
References BLI_ghash_insert(), BLI_ghash_lookup_p(), bm_uidwalk_calc_face_uid(), bm_uidwalk_rehash_reserve(), UIDWalk::cache, UIDWalk::faces_uid, LinkNode::link, LinkNode::next, and UIDWalk::rehash_store.
Referenced by bm_uidwalk_pass_add().
Definition at line 363 of file bmesh_region_match.cc.
References UIDWalk::cache, MEM_reallocN, UIDWalk::rehash_store, UIDWalk::rehash_store_len, and UNLIKELY.
Referenced by bm_mesh_region_match_pair(), bm_uidwalk_rehash(), and bm_uidwalk_rehash_facelinks().
| BLI_INLINE bool bm_uidwalk_vert_lookup | ( | UIDWalk * | uidwalk, |
| BMVert * | v, | ||
| UID_Int * | r_uid ) |
Definition at line 130 of file bmesh_region_match.cc.
References BLI_ghash_lookup_p(), ret, v, and UIDWalk::verts_uid.
Referenced by bm_uidwalk_calc_face_uid(), and bm_uidwalk_calc_vert_uid().
|
static |
Definition at line 1260 of file bmesh_region_match.cc.
References bm, BM_edge_is_wire(), BM_EDGES_OF_MESH, BM_elem_index_get, BM_ITER_MESH, BM_ITER_MESH_INDEX, bm_vert_fasthash_single(), BM_VERTS_OF_MESH, e, MEM_freeN(), MEM_mallocN, BMesh::totvert, and v.
Referenced by BM_mesh_region_match().
|
static |
Definition at line 1320 of file bmesh_region_match.cc.
References MEM_freeN().
Referenced by BM_mesh_region_match().
|
static |
Definition at line 1309 of file bmesh_region_match.cc.
References bm_vert_fasthash_edge_order().
Referenced by BM_mesh_region_match().
|
static |
Definition at line 1297 of file bmesh_region_match.cc.
References BM_elem_index_get, and e.
Referenced by bm_vert_fasthash_edge_is_match().
|
static |
Definition at line 1232 of file bmesh_region_match.cc.
References BM_edge_is_wire(), BM_EDGES_OF_VERT, BM_ITER_ELEM, e, BMLoop::f, BMFace::len, PRIME_EDGE, PRIME_FACE, PRIME_LOOP, BMLoop::radial_next, and v.
Referenced by bm_vert_fasthash_create().
Definition at line 448 of file bmesh_region_match.cc.
References BLI_ghash_haskey(), BM_edge_other_vert(), BM_EDGES_OF_VERT, BM_ITER_ELEM, e, v, and UIDWalk::verts_uid.
Referenced by bm_uidwalk_pass_add().
|
static |
Definition at line 606 of file bmesh_region_match.cc.
References b, and UIDFaceStepItem::uid.
Referenced by bm_uidwalk_facestep_begin().
|
static |
Definition at line 176 of file bmesh_region_match.cc.
References ghash_bmelem_new_ex().
Referenced by bm_uidwalk_init().
Definition at line 164 of file bmesh_region_match.cc.
References BLI_ghash_new_ex(), ghashutil_bmelem_indexcmp(), and ghashutil_bmelem_indexhash().
Referenced by bm_uidwalk_init(), and ghash_bmelem_new().
|
static |
Definition at line 158 of file bmesh_region_match.cc.
References b, BLI_assert, and BM_elem_index_get.
Referenced by ghash_bmelem_new_ex(), and gset_bmelem_new_ex().
|
static |
Definition at line 152 of file bmesh_region_match.cc.
References BM_elem_index_get.
Referenced by ghash_bmelem_new_ex(), and gset_bmelem_new_ex().
|
static |
Definition at line 181 of file bmesh_region_match.cc.
References gset_bmelem_new_ex().
Referenced by bm_uidwalk_init().
Definition at line 170 of file bmesh_region_match.cc.
References BLI_gset_new_ex(), ghashutil_bmelem_indexcmp(), and ghashutil_bmelem_indexhash().
Referenced by gset_bmelem_new().