Lines Matching defs:eDst
305 /* __gl_meshSplice( eOrg, eDst ) is the basic operation for changing the
307 * eOrg->Onext <- OLD( eDst->Onext )
308 * eDst->Onext <- OLD( eOrg->Onext )
312 * - if eOrg->Org != eDst->Org, the two vertices are merged together
313 * - if eOrg->Org == eDst->Org, the origin is split into two vertices
314 * In both cases, eDst->Org is changed and eOrg->Org is untouched.
317 * - if eOrg->Lface == eDst->Lface, one loop is split into two
318 * - if eOrg->Lface != eDst->Lface, two distinct loops are joined into one
319 * In both cases, eDst->Lface is changed and eOrg->Lface is unaffected.
322 * If eDst == eOrg, the operation has no effect.
323 * If eDst == eOrg->Lnext, the new face will have a single edge.
324 * If eDst == eOrg->Lprev, the old face will have a single edge.
325 * If eDst == eOrg->Onext, the new vertex will have a single edge.
326 * If eDst == eOrg->Oprev, the old vertex will have a single edge.
328 int __gl_meshSplice( GLUhalfEdge *eOrg, GLUhalfEdge *eDst )
333 if( eOrg == eDst ) return 1;
335 if( eDst->Org != eOrg->Org ) {
336 /* We are merging two disjoint vertices -- destroy eDst->Org */
338 KillVertex( eDst->Org, eOrg->Org );
340 if( eDst->Lface != eOrg->Lface ) {
341 /* We are connecting two disjoint loops -- destroy eDst->Lface */
343 KillFace( eDst->Lface, eOrg->Lface );
347 Splice( eDst, eOrg );
353 /* We split one vertex into two -- the new vertex is eDst->Org.
356 MakeVertex( newVertex, eDst, eOrg->Org );
363 /* We split one loop into two -- the new loop is eDst->Lface.
366 MakeFace( newFace, eDst, eOrg->Lface );
498 /* __gl_meshConnect( eOrg, eDst ) creates a new edge from eOrg->Dst
499 * to eDst->Org, and returns the corresponding half-edge eNew.
500 * If eOrg->Lface == eDst->Lface, this splits one loop into two,
502 * loops are merged into one, and the loop eDst->Lface is destroyed.
504 * If (eOrg == eDst), the new face will have only two edges.
505 * If (eOrg->Lnext == eDst), the old face is reduced to a single edge.
506 * If (eOrg->Lnext->Lnext == eDst), the old face is reduced to two edges.
508 GLUhalfEdge *__gl_meshConnect( GLUhalfEdge *eOrg, GLUhalfEdge *eDst )
517 if( eDst->Lface != eOrg->Lface ) {
518 /* We are connecting two disjoint loops -- destroy eDst->Lface */
520 KillFace( eDst->Lface, eOrg->Lface );
525 Splice( eNewSym, eDst );
529 eNewSym->Org = eDst->Org;