bool collision(BoundingBox& a, BoundingBox& b) { vec2 Axis = a.getAxis(); vec2 mid = (a.getCenter() + b.getCenter()) / 2.0; vec2 A = mid - (1000*Axis); vec2 B = mid + (1000*Axis); Axis = normal(Axis); vec2 C = mid - (1000*Axis); vec2 D = mid + (1000*Axis); Axis = b.getAxis(); vec2 E = mid - (1000*Axis); vec2 F = mid + (1000*Axis); Axis = normal(Axis); vec2 G = mid - (1000*Axis); vec2 H = mid + (1000*Axis); return (collide(a.calc(A,B),b.calc(A,B)) && collide(a.calc(C,D),b.calc(C,D)) && collide(a.calc(E,F),b.calc(E,F)) && collide(a.calc(G,H),b.calc(G,H))); }