(mark, box, filter, hits)
| 124822 | return type25 ? intersectMark(scene, box, filter, hits) : type25 === "group" ? intersectGroup(scene, box, filter, hits) : (0, _vegaUtil.error)("Intersect scene must be mark node or group item."); |
| 124823 | } |
| 124824 | function intersectMark(mark, box, filter, hits) { |
| 124825 | if (visitMark(mark, box, filter)) { |
| 124826 | const items = mark.items, type26 = mark.marktype, n = items.length; |
| 124827 | let i = 0; |
| 124828 | if (type26 === "group") for(; i < n; ++i)intersectGroup(items[i], box, filter, hits); |
| 124829 | else for(const test = Marks[type26].isect; i < n; ++i){ |
| 124830 | const item = items[i]; |
| 124831 | if (intersectItem(item, box, test)) hits.push(item); |
| 124832 | } |
| 124833 | } |
| 124834 | return hits; |
| 124835 | } |
| 124836 | function visitMark(mark, box, filter) { |
| 124837 | // process if bounds intersect and if |
| 124838 | // (1) mark is a group mark (so we must recurse), or |
no test coverage detected