bool Box3D::intersectsApprox(const Box3D& b) const { Box3D temp; AABB3D aabb_temp, aabb_temp2; //make temp localized temp.dims = b.dims; toLocal(b.origin, temp.origin); toLocalReorient(b.xbasis, temp.xbasis); toLocalReorient(b.ybasis, temp.ybasis); toLocalReorient(b.zbasis, temp.zbasis); temp.getAABB(aabb_temp); aabb_temp2.bmin.setZero(); aabb_temp2.bmax = dims; if(!aabb_temp2.intersects(aabb_temp)) return false; temp.dims = dims; b.toLocal(origin, temp.origin); b.toLocalReorient(xbasis, temp.xbasis); b.toLocalReorient(ybasis, temp.ybasis); b.toLocalReorient(zbasis, temp.zbasis); temp.getAABB(aabb_temp); aabb_temp2.bmax = b.dims; if(!aabb_temp2.intersects(aabb_temp)) return false; return true; }