public void allRayIntersections(Vec raypt, Vec rayNormalizedDir, Consumer<Tp> cons) { if (!intersectsWithRay(raypt, rayNormalizedDir)) return; container.forEach(cons); forAllSubtree( (i, j, k) -> { if (subtree[i][j][k] != null) subtree[i][j][k].allRayIntersections(raypt, rayNormalizedDir, cons); }); }