projects
/
laserbrain_demo
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2f5ee20
)
take into account the center of the aabb when calculating side planes
author
John Tsiombikas
<nuclear@mutantstargoat.com>
Wed, 14 Mar 2018 08:31:54 +0000
(10:31 +0200)
committer
John Tsiombikas
<nuclear@mutantstargoat.com>
Wed, 14 Mar 2018 08:31:54 +0000
(10:31 +0200)
src/geom.cc
patch
|
blob
|
history
diff --git
a/src/geom.cc
b/src/geom.cc
index
1813eea
..
a96066f
100644
(file)
--- 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
{
Plane AABox::get_plane(int pidx) const
{
+ Vec3 c = (max - min) * 0.5f;
switch(pidx) {
case AABOX_PLANE_PX:
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:
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:
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:
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:
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:
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;
}
default:
break;
}