Lines Matching refs:isect
413 static void CallCombine( GLUtesselator *tess, GLUvertex *isect, in CallCombine() argument
419 coords[0] = isect->coords[0]; in CallCombine()
420 coords[1] = isect->coords[1]; in CallCombine()
421 coords[2] = isect->coords[2]; in CallCombine()
423 isect->data = NULL; in CallCombine()
424 CALL_COMBINE_OR_COMBINE_DATA( coords, data, weights, &isect->data ); in CallCombine()
425 if( isect->data == NULL ) { in CallCombine()
427 isect->data = data[0]; in CallCombine()
455 static void VertexWeights( GLUvertex *isect, GLUvertex *org, GLUvertex *dst, in VertexWeights() argument
465 GLdouble t1 = VertL1dist( org, isect ); in VertexWeights()
466 GLdouble t2 = VertL1dist( dst, isect ); in VertexWeights()
470 isect->coords[0] += weights[0]*org->coords[0] + weights[1]*dst->coords[0]; in VertexWeights()
471 isect->coords[1] += weights[0]*org->coords[1] + weights[1]*dst->coords[1]; in VertexWeights()
472 isect->coords[2] += weights[0]*org->coords[2] + weights[1]*dst->coords[2]; in VertexWeights()
476 static void GetIntersectData( GLUtesselator *tess, GLUvertex *isect, in GetIntersectData() argument
493 isect->coords[0] = isect->coords[1] = isect->coords[2] = 0; in GetIntersectData()
494 VertexWeights( isect, orgUp, dstUp, &weights[0] ); in GetIntersectData()
495 VertexWeights( isect, orgLo, dstLo, &weights[2] ); in GetIntersectData()
497 CallCombine( tess, isect, data, weights, TRUE ); in GetIntersectData()
626 GLUvertex isect, *orgMin; in CheckForIntersect() local
650 __gl_edgeIntersect( dstUp, orgUp, dstLo, orgLo, &isect ); in CheckForIntersect()
652 assert( MIN( orgUp->t, dstUp->t ) <= isect.t ); in CheckForIntersect()
653 assert( isect.t <= MAX( orgLo->t, dstLo->t )); in CheckForIntersect()
654 assert( MIN( dstLo->s, dstUp->s ) <= isect.s ); in CheckForIntersect()
655 assert( isect.s <= MAX( orgLo->s, orgUp->s )); in CheckForIntersect()
657 if( VertLeq( &isect, tess->event )) { in CheckForIntersect()
664 isect.s = tess->event->s; in CheckForIntersect()
665 isect.t = tess->event->t; in CheckForIntersect()
674 if( VertLeq( orgMin, &isect )) { in CheckForIntersect()
675 isect.s = orgMin->s; in CheckForIntersect()
676 isect.t = orgMin->t; in CheckForIntersect()
679 if( VertEq( &isect, orgUp ) || VertEq( &isect, orgLo )) { in CheckForIntersect()
686 && EdgeSign( dstUp, tess->event, &isect ) >= 0) in CheckForIntersect()
688 && EdgeSign( dstLo, tess->event, &isect ) <= 0 )) in CheckForIntersect()
721 if( EdgeSign( dstUp, tess->event, &isect ) >= 0 ) { in CheckForIntersect()
727 if( EdgeSign( dstLo, tess->event, &isect ) <= 0 ) { in CheckForIntersect()
748 eUp->Org->s = isect.s; in CheckForIntersect()
749 eUp->Org->t = isect.t; in CheckForIntersect()