docs: @Override
  	@Pure
  	public boolean intersects(Shape2D<?, ?, ?, ?, ?, ? extends Rectangle2afp<?, ?, ?, ?, ?, ?>> rectangle) {
  		if (boundsIntersects(rectangle)) {
  			final double x = getX();
  			final double y = getY();
  			final Rectangle2afp<?, ?, ?, ?, ?, ?> box = rectangle.toBoundingBox();
  			final double minx = box.getMinX();
  			final double miny = box.getMinY();
  			final double maxx = box.getMaxX();
  			final double maxy = box.getMaxY();
  
  			return MathUtil.min(
  					Segment2afp.calculatesDistanceSegmentPoint(minx, miny, maxx, miny, x, y),
  					Segment2afp.calculatesDistanceSegmentPoint(minx, miny, minx, maxy, x, y),
  					Segment2afp.calculatesDistanceSegmentPoint(maxx, miny, maxx, maxy, x, y),
  					Segment2afp.calculatesDistanceSegmentPoint(minx, maxy, maxx, maxy, x, y)) <= this.radius;
  		}
  		return false;
  	}