- return Intersection(box, M, reference, col);
+
+ ExactLocation::Coarse begin(reference - 1);
+ ExactLocation::Coarse end(reference + 2);
+
+ bool any = false;
+ for (ExactLocation::Coarse pos(begin); pos.z < end.y; ++pos.z) {
+ for (pos.y = begin.y; pos.y < end.y; ++pos.y) {
+ for (pos.x = begin.x; pos.x < end.x; ++pos.x) {
+ Chunk *chunk = chunks.Get(pos);
+ if (chunk && chunk->Intersection(e, M, chunk->Transform(reference), col)) {
+ any = true;
+ }
+ }
+ }
+ }
+ return any;