This needs to work with all reasonable shapes (not Planes or Octrees)