39 e->v1_disk_link.next =
e->v1_disk_link.prev =
NULL;
41 else if (
e->v2 == v_src) {
43 e->v2_disk_link.next =
e->v2_disk_link.prev =
NULL;
60 l_iter = l_first =
e->l;
62 if (l_iter->
v == v_src) {
65 else if (l_iter->
next->
v == v_src) {
66 l_iter->
next->
v = v_dst;
71 }
while ((l_iter = l_iter->
radial_next) != l_first);
167 dl1 = bmesh_disk_edge_link_from_vert(
e,
v);
168 dl2 = bmesh_disk_edge_link_from_vert(
v->
e,
v);
169 dl3 = dl2->
prev ? bmesh_disk_edge_link_from_vert(dl2->
prev,
v) :
NULL;
185 dl1 = bmesh_disk_edge_link_from_vert(
e,
v);
187 dl2 = bmesh_disk_edge_link_from_vert(dl1->
prev,
v);
192 dl2 = bmesh_disk_edge_link_from_vert(dl1->
next,
v);
208 e_first = e_iter =
v1->e;
225 e_iter = e_first =
v->
e;
238 e_iter = e_first =
v->
e;
241 if (
count == count_max) {
286 e_first = e_iter =
v->
e;
304 e_first = e_iter =
v->
e;
308 if (
count == count_max) {
329 if (e_iter->
l !=
NULL) {
345 if (e_iter->
l !=
NULL) {
346 return (e_iter->
l->
v ==
v) ? e_iter->
l : e_iter->
l->
next;
360 if (e_iter->
l !=
NULL) {
362 l_iter = l_first = e_iter->
l;
365 return (l_iter->
v ==
v) ? l_iter : l_iter->
next;
367 }
while ((l_iter = l_iter->
radial_next) != l_first);
402 if (l_iter->
e !=
l->
e) {
430 e->l->radial_next->radial_prev =
l;
431 e->l->radial_next =
l;
510 if (l_iter->
v ==
v) {
522 if (l_iter->
v ==
v) {
567 if (l_iter->
v ==
v) {
581 if (l_iter->
v ==
v) {
583 if (
count == count_max) {
602 if (l_iter->
v ==
v) {
619 if (l_first ==
NULL) {
624 for (i = 1, l_iter = l_first->
next; i < len; i++, l_iter = l_iter->
next) {
625 if ((l_iter->
f != f) || (l_iter == l_first)) {
629 if (l_iter != l_first) {
634 for (i = 1, l_iter = l_first->
prev; i < len; i++, l_iter = l_iter->prev) {
635 if (l_iter == l_first) {
639 if (l_iter != l_first) {
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble v1
#define BM_LOOP_RADIAL_MAX
#define BM_FACE_FIRST_LOOP(p)
#define BM_elem_flag_test(ele, hflag)
BLI_INLINE bool BM_verts_in_edge(const BMVert *v1, const BMVert *v2, const BMEdge *e) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
BLI_INLINE bool BM_vert_in_edge(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
ATTR_WARN_UNUSED_RESULT const BMVert * v2
ATTR_WARN_UNUSED_RESULT const BMLoop * l
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
ATTR_WARN_UNUSED_RESULT const BMVert * v
void bmesh_disk_edge_remove(BMEdge *e, BMVert *v)
bool bmesh_loop_validate(BMFace *f)
void bmesh_disk_edge_append(BMEdge *e, BMVert *v)
BMLoop * bmesh_disk_faceloop_find_first_visible(const BMEdge *e, const BMVert *v)
int bmesh_radial_facevert_count_at_most(const BMLoop *l, const BMVert *v, const int count_max)
void bmesh_edge_vert_swap(BMEdge *e, BMVert *v_dst, BMVert *v_src)
BMLoop * bmesh_disk_faceloop_find_first(const BMEdge *e, const BMVert *v)
void bmesh_disk_vert_replace(BMEdge *e, BMVert *v_dst, BMVert *v_src)
BMEdge * bmesh_disk_faceedge_find_next(const BMEdge *e, const BMVert *v)
void bmesh_radial_loop_unlink(BMLoop *l)
BMLoop * bmesh_radial_faceloop_find_next(const BMLoop *l, const BMVert *v)
int bmesh_radial_length(const BMLoop *l)
int bmesh_disk_count_at_most(const BMVert *v, const int count_max)
bool bmesh_radial_facevert_check(const BMLoop *l, const BMVert *v)
RADIAL CHECK FACE VERT.
BMLoop * bmesh_radial_faceloop_find_first(const BMLoop *l, const BMVert *v)
BME RADIAL FIND FIRST FACE VERT.
void bmesh_radial_loop_append(BMEdge *e, BMLoop *l)
void bmesh_disk_vert_swap(BMEdge *e, BMVert *v_dst, BMVert *v_src)
BMEdge * bmesh_disk_faceedge_find_first(const BMEdge *e, const BMVert *v)
FIND FIRST FACE EDGE.
void bmesh_radial_loop_remove(BMEdge *e, BMLoop *l)
BMESH RADIAL REMOVE LOOP.
int bmesh_radial_facevert_count(const BMLoop *l, const BMVert *v)
RADIAL COUNT FACE VERT.
BMEdge * bmesh_disk_edge_exists(const BMVert *v1, const BMVert *v2)
bool bmesh_disk_validate(int len, BMEdge *e, BMVert *v)
bool bmesh_radial_validate(int radlen, BMLoop *l)
int bmesh_disk_facevert_count(const BMVert *v)
DISK COUNT FACE VERT.
int bmesh_disk_facevert_count_at_most(const BMVert *v, const int count_max)
int bmesh_disk_count(const BMVert *v)
BLI_INLINE BMEdge * bmesh_disk_edge_next(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
BLI_INLINE BMEdge * bmesh_disk_edge_prev(const BMEdge *e, const BMVert *v) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
struct BMLoop * radial_prev
struct BMLoop * radial_next