45
45
if (e->v1 == v || e->v2 == v) return true;
48
bool bmesh_verts_in_edge(BMVert *v1, BMVert *v2, BMEdge *e)
48
bool bmesh_verts_in_edge(const BMVert *v1, const BMVert *v2, const BMEdge *e)
50
50
if (e->v1 == v1 && e->v2 == v2) return true;
51
51
else if (e->v1 == v2 && e->v2 == v1) return true;
130
130
* Functions relating to this cycle:
131
131
* - #bmesh_radial_append
132
132
* - #bmesh_radial_loop_remove
133
* - #bmesh_radial_face_find
134
133
* - #bmesh_radial_facevert_count
135
134
* - #bmesh_radial_faceloop_find_first
136
135
* - #bmesh_radial_faceloop_find_next
218
217
* \return Pointer to the next edge in the disk cycle for the vertex v.
220
BMEdge *bmesh_disk_edge_next(BMEdge *e, BMVert *v)
219
BMEdge *bmesh_disk_edge_next(const BMEdge *e, const BMVert *v)
223
222
return e->v1_disk_link.next;
238
BMEdge *bmesh_disk_edge_exists(BMVert *v1, BMVert *v2)
237
BMEdge *bmesh_disk_edge_exists(const BMVert *v1, const BMVert *v2)
240
239
BMEdge *e_iter, *e_first;
305
304
* equivalent to counting the number of
306
305
* faces incident upon this vertex
308
int bmesh_disk_facevert_count(BMVert *v)
307
int bmesh_disk_facevert_count(const BMVert *v)
310
309
/* is there an edge on this vert at all */
334
333
* vert's loops attached
337
BMEdge *bmesh_disk_faceedge_find_first(BMEdge *e, BMVert *v)
336
BMEdge *bmesh_disk_faceedge_find_first(const BMEdge *e, const BMVert *v)
339
BMEdge *searchedge = NULL;
338
const BMEdge *e_find = e;
342
if (searchedge->l && bmesh_radial_facevert_count(searchedge->l, v)) {
340
if (e_find->l && bmesh_radial_facevert_count(e_find->l, v)) {
341
return (BMEdge *)e_find;
345
} while ((searchedge = bmesh_disk_edge_next(searchedge, v)) != e);
343
} while ((e_find = bmesh_disk_edge_next(e_find, v)) != e);
350
BMEdge *bmesh_disk_faceedge_find_next(BMEdge *e, BMVert *v)
348
BMEdge *bmesh_disk_faceedge_find_next(const BMEdge *e, const BMVert *v)
352
BMEdge *searchedge = NULL;
353
searchedge = bmesh_disk_edge_next(e, v);
350
BMEdge *e_find = NULL;
351
e_find = bmesh_disk_edge_next(e, v);
355
if (searchedge->l && bmesh_radial_facevert_count(searchedge->l, v)) {
353
if (e_find->l && bmesh_radial_facevert_count(e_find->l, v)) {
358
} while ((searchedge = bmesh_disk_edge_next(searchedge, v)) != e);
356
} while ((e_find = bmesh_disk_edge_next(e_find, v)) != e);
362
360
/*****radial cycle functions, e.g. loops surrounding edges**** */
436
434
* Finds the first loop of v around radial
439
BMLoop *bmesh_radial_faceloop_find_first(BMLoop *l, BMVert *v)
437
BMLoop *bmesh_radial_faceloop_find_first(const BMLoop *l, const BMVert *v)
439
const BMLoop *l_iter;
444
442
if (l_iter->v == v) {
443
return (BMLoop *)l_iter;
447
445
} while ((l_iter = l_iter->radial_next) != l);
451
BMLoop *bmesh_radial_faceloop_find_next(BMLoop *l, BMVert *v)
449
BMLoop *bmesh_radial_faceloop_find_next(const BMLoop *l, const BMVert *v)
454
452
l_iter = l->radial_next;
512
bool bmesh_radial_face_find(BMEdge *e, BMFace *f)
517
len = bmesh_radial_length(e->l);
518
for (i = 0, l_iter = e->l; i < len; i++, l_iter = l_iter->radial_next) {
526
511
* \brief RADIAL COUNT FACE VERT
528
513
* Returns the number of times a vertex appears
529
514
* in a radial cycle
531
int bmesh_radial_facevert_count(BMLoop *l, BMVert *v)
516
int bmesh_radial_facevert_count(const BMLoop *l, const BMVert *v)
518
const BMLoop *l_iter;