23 e->v1_disk_link.next =
e->v1_disk_link.prev =
NULL;
25 else if (
e->v2 == v_src) {
27 e->v2_disk_link.next =
e->v2_disk_link.prev =
NULL;
39 l_iter = l_first =
e->l;
41 if (l_iter->
v == v_src) {
44 else if (l_iter->
next->
v == v_src) {
45 l_iter->
next->
v = v_dst;
50 }
while ((l_iter = l_iter->
radial_next) != l_first);
147 dl1 = bmesh_disk_edge_link_from_vert(
e,
v);
148 dl2 = bmesh_disk_edge_link_from_vert(
v->
e,
v);
149 dl3 = dl2->
prev ? bmesh_disk_edge_link_from_vert(dl2->
prev,
v) :
NULL;
165 dl1 = bmesh_disk_edge_link_from_vert(
e,
v);
167 dl2 = bmesh_disk_edge_link_from_vert(dl1->
prev,
v);
172 dl2 = bmesh_disk_edge_link_from_vert(dl1->
next,
v);
188 e_first = e_iter =
v1->e;
205 e_iter = e_first =
v->
e;
218 e_iter = e_first =
v->
e;
221 if (
count == count_max) {
258 e_first = e_iter =
v->
e;
276 e_first = e_iter =
v->
e;
280 if (
count == count_max) {
293 if (e_iter->
l !=
NULL) {
304 if (e_iter->
l !=
NULL) {
305 return (e_iter->
l->
v ==
v) ? e_iter->
l : e_iter->
l->
next;
316 if (e_iter->
l !=
NULL) {
318 l_iter = l_first = e_iter->
l;
321 return (l_iter->
v ==
v) ? l_iter : l_iter->
next;
323 }
while ((l_iter = l_iter->
radial_next) != l_first);
357 if (l_iter->
e !=
l->
e) {
385 e->l->radial_next->radial_prev =
l;
386 e->l->radial_next =
l;
447 if (l_iter->
v ==
v) {
459 if (l_iter->
v ==
v) {
498 if (l_iter->
v ==
v) {
512 if (l_iter->
v ==
v) {
514 if (
count == count_max) {
528 if (l_iter->
v ==
v) {
544 if (l_first ==
NULL) {
549 for (i = 1, l_iter = l_first->
next; i < len; i++, l_iter = l_iter->
next) {
550 if ((l_iter->
f != f) || (l_iter == l_first)) {
554 if (l_iter != l_first) {
559 for (i = 1, l_iter = l_first->
prev; i < len; i++, l_iter = l_iter->
prev) {
560 if (l_iter == l_first) {
564 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()
SymEdge< T > * prev(const SymEdge< T > *se)
struct BMLoop * radial_prev
struct BMLoop * radial_next