(&self, idx: usize, pred: &MbrQueryPredicate, hits: &mut Vec<usize>)
| 98 | } |
| 99 | |
| 100 | fn descend(&self, idx: usize, pred: &MbrQueryPredicate, hits: &mut Vec<usize>) { |
| 101 | let node = &self.nodes[idx]; |
| 102 | if !pred.intersects(&node.bbox) { |
| 103 | return; |
| 104 | } |
| 105 | match &node.kind { |
| 106 | RNodeKind::Leaf { tiles } => { |
| 107 | for (idx, bbox) in tiles { |
| 108 | if pred.intersects(bbox) { |
| 109 | hits.push(*idx); |
| 110 | } |
| 111 | } |
| 112 | } |
| 113 | RNodeKind::Internal { children } => { |
| 114 | for &c in children { |
| 115 | self.descend(c, pred, hits); |
| 116 | } |
| 117 | } |
| 118 | } |
| 119 | } |
| 120 | } |
| 121 | |
| 122 | fn chunk_bbox(chunk: &[TileEntry]) -> BBox { |
no test coverage detected