case NORTH:
            double northOffset = contacts.stream().mapToDouble(VisualContact::getY).max().orElse(-contactMinOffset);
            return Math.min(TransformHelper.snapP5(bb.getMinY() - contactLength), northOffset);