(mark, box, filter, hits)
| 102659 | } |
| 102660 | |
| 102661 | function intersectMark(mark, box, filter, hits) { |
| 102662 | if (visitMark(mark, box, filter)) { |
| 102663 | const items = mark.items, |
| 102664 | type = mark.marktype, |
| 102665 | n = items.length; |
| 102666 | let i = 0; |
| 102667 | |
| 102668 | if (type === 'group') { |
| 102669 | for (; i < n; ++i) { |
| 102670 | intersectGroup(items[i], box, filter, hits); |
| 102671 | } |
| 102672 | } else { |
| 102673 | for (const test = _index.default[type].isect; i < n; ++i) { |
| 102674 | let item = items[i]; |
| 102675 | if (intersectItem(item, box, test)) hits.push(item); |
| 102676 | } |
| 102677 | } |
| 102678 | } |
| 102679 | |
| 102680 | return hits; |
| 102681 | } |
| 102682 | |
| 102683 | function visitMark(mark, box, filter) { |
| 102684 | // process if bounds intersect and if |
no test coverage detected