package mightypork.utils.math.rect; import mightypork.utils.math.constraints.RectConstraint; import mightypork.utils.math.coord.VecView; /** * Common methods for all kinds of Rects * * @author MightyPork */ public interface Rect extends RectConstraint { RectView ONE = new FixedRect(0, 0, 1, 1); RectView ZERO = new FixedRect(0, 0, 0, 0); /** * Get a writable copy * * @return copy */ RectMutable copy(); /** * Get a readonly copy * * @return copy */ RectView view(); /** * @return origin */ VecView getOrigin(); VecView getSize(); double getWidth(); double getHeight(); VecView getTopLeft(); VecView getTopCenter(); VecView getTopRight(); VecView getCenterLeft(); VecView getCenter(); VecView getCenterRight(); VecView getBottomLeft(); VecView getBottomCenter(); VecView getBottomRight(); double xMin(); double xMax(); double yMin(); double yMax(); }