X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=laserbrain_demo;a=blobdiff_plain;f=src%2Fgeom.cc;h=a96066fba377a03fc754a7f74fc7eac8398ad35a;hp=1813eea03af3f08dd7e173489e69dcda12bbe783;hb=74034a459f47934ef60ba295033b9cb7e597d32a;hpb=2f5ee2007d258d947f2efab3bf3460479fe34813 diff --git a/src/geom.cc b/src/geom.cc index 1813eea..a96066f 100644 --- a/src/geom.cc +++ b/src/geom.cc @@ -147,19 +147,20 @@ Vec3 AABox::get_corner(int idx) const Plane AABox::get_plane(int pidx) const { + Vec3 c = (max - min) * 0.5f; switch(pidx) { case AABOX_PLANE_PX: - return Plane(Vec3(max.x, 0, 0), Vec3(1, 0, 0)); + return Plane(Vec3(max.x, c.y, c.z), Vec3(1, 0, 0)); case AABOX_PLANE_NX: - return Plane(Vec3(min.x, 0, 0), Vec3(-1, 0, 0)); + return Plane(Vec3(min.x, c.y, c.z), Vec3(-1, 0, 0)); case AABOX_PLANE_PY: - return Plane(Vec3(0, max.x, 0), Vec3(0, 1, 0)); + return Plane(Vec3(c.x, max.x, c.z), Vec3(0, 1, 0)); case AABOX_PLANE_NY: - return Plane(Vec3(0, min.x, 0), Vec3(0, -1, 0)); + return Plane(Vec3(c.x, min.x, c.z), Vec3(0, -1, 0)); case AABOX_PLANE_PZ: - return Plane(Vec3(0, 0, max.z), Vec3(0, 0, 1)); + return Plane(Vec3(c.x, c.y, max.z), Vec3(0, 0, 1)); case AABOX_PLANE_NZ: - return Plane(Vec3(0, 0, min.z), Vec3(0, 0, -1)); + return Plane(Vec3(c.x, c.y, min.z), Vec3(0, 0, -1)); default: break; }