( d, axis, visit, flip, redStart, redEnd, red, redIndex, blueOffset, blue, blueId)
| 6673 | |
| 6674 | //Special case: Intersect single point with list of intervals |
| 6675 | function onePointPartial( |
| 6676 | d, axis, visit, flip, |
| 6677 | redStart, redEnd, red, redIndex, |
| 6678 | blueOffset, blue, blueId) { |
| 6679 | |
| 6680 | var elemSize = 2 * d |
| 6681 | var bluePtr = blueOffset * elemSize |
| 6682 | var blueX = blue[bluePtr + axis] |
| 6683 | |
| 6684 | red_loop: |
| 6685 | for(var i=redStart, redPtr=redStart*elemSize; i<redEnd; ++i, redPtr+=elemSize) { |
| 6686 | var r0 = red[redPtr+axis] |
| 6687 | var r1 = red[redPtr+axis+d] |
| 6688 | if(blueX < r0 || r1 < blueX) { |
| 6689 | continue |
| 6690 | } |
| 6691 | if(flip && blueX === r0) { |
| 6692 | continue |
| 6693 | } |
| 6694 | var redId = redIndex[i] |
| 6695 | for(var j=axis+1; j<d; ++j) { |
| 6696 | var r0 = red[redPtr+j] |
| 6697 | var r1 = red[redPtr+j+d] |
| 6698 | var b0 = blue[bluePtr+j] |
| 6699 | var b1 = blue[bluePtr+j+d] |
| 6700 | if(r1 < b0 || b1 < r0) { |
| 6701 | continue red_loop |
| 6702 | } |
| 6703 | } |
| 6704 | var retval |
| 6705 | if(flip) { |
| 6706 | retval = visit(blueId, redId) |
| 6707 | } else { |
| 6708 | retval = visit(redId, blueId) |
| 6709 | } |
| 6710 | if(retval !== void 0) { |
| 6711 | return retval |
| 6712 | } |
| 6713 | } |
| 6714 | } |
| 6715 | |
| 6716 | //Special case: Intersect one point with list of intervals |
| 6717 | function onePointFull( |
no outgoing calls
no test coverage detected
searching dependent graphs…