( d, axis, visit, redStart, redEnd, red, redIndex, blueOffset, blue, blueId)
| 6715 | |
| 6716 | //Special case: Intersect one point with list of intervals |
| 6717 | function onePointFull( |
| 6718 | d, axis, visit, |
| 6719 | redStart, redEnd, red, redIndex, |
| 6720 | blueOffset, blue, blueId) { |
| 6721 | |
| 6722 | var elemSize = 2 * d |
| 6723 | var bluePtr = blueOffset * elemSize |
| 6724 | var blueX = blue[bluePtr + axis] |
| 6725 | |
| 6726 | red_loop: |
| 6727 | for(var i=redStart, redPtr=redStart*elemSize; i<redEnd; ++i, redPtr+=elemSize) { |
| 6728 | var redId = redIndex[i] |
| 6729 | if(redId === blueId) { |
| 6730 | continue |
| 6731 | } |
| 6732 | var r0 = red[redPtr+axis] |
| 6733 | var r1 = red[redPtr+axis+d] |
| 6734 | if(blueX < r0 || r1 < blueX) { |
| 6735 | continue |
| 6736 | } |
| 6737 | for(var j=axis+1; j<d; ++j) { |
| 6738 | var r0 = red[redPtr+j] |
| 6739 | var r1 = red[redPtr+j+d] |
| 6740 | var b0 = blue[bluePtr+j] |
| 6741 | var b1 = blue[bluePtr+j+d] |
| 6742 | if(r1 < b0 || b1 < r0) { |
| 6743 | continue red_loop |
| 6744 | } |
| 6745 | } |
| 6746 | var retval = visit(redId, blueId) |
| 6747 | if(retval !== void 0) { |
| 6748 | return retval |
| 6749 | } |
| 6750 | } |
| 6751 | } |
| 6752 | |
| 6753 | //The main box intersection routine |
| 6754 | function boxIntersectIter( |
no outgoing calls
no test coverage detected
searching dependent graphs…