@Test public void testNearestPointOutside() { Rectangle rect = Rectangle.fromCenter(Vector2.zero(), 4, 4); assertThat(rect.nearestPointOutside(Vector2.fromXY(1, 0))).isEqualTo(Vector2.fromXY(2, 0)); assertThat(rect.nearestPointOutside(Vector2.fromXY(-1, 0))).isEqualTo(Vector2.fromXY(-2, 0)); assertThat(rect.nearestPointOutside(Vector2.fromXY(0, -1))).isEqualTo(Vector2.fromXY(0, -2)); assertThat(rect.nearestPointOutside(Vector2.fromXY(0, 1))).isEqualTo(Vector2.fromXY(0, 2)); assertThat(rect.nearestPointOutside(Vector2.fromXY(2, 0))).isEqualTo(Vector2.fromXY(2, 0)); assertThat(rect.nearestPointOutside(Vector2.fromXY(3, 0))).isEqualTo(Vector2.fromXY(3, 0)); assertThat(rect.nearestPointOutside(Vector2.fromXY(-3, 0))).isEqualTo(Vector2.fromXY(-3, 0)); assertThat(rect.nearestPointOutside(Vector2.fromXY(0, 3))).isEqualTo(Vector2.fromXY(0, 3)); assertThat(rect.nearestPointOutside(Vector2.fromXY(0, -3))).isEqualTo(Vector2.fromXY(0, -3)); assertThat(rect.nearestPointOutside(Vector2.fromXY(1.5, 1.5))).isEqualTo(Vector2.fromXY(2, 1.5)); }
public static Rectangle fromCenter(final IVector2 center, final double xExtent, final double yExtent) { return new Rectangle(center, xExtent, yExtent); }
Rectangle extends ARectangle { public static Rectangle fromCenter(final IVector2 center, final double xExtent, final double yExtent) { return new Rectangle(center, xExtent, yExtent); } }
Rectangle extends ARectangle { public static Rectangle fromCenter(final IVector2 center, final double xExtent, final double yExtent) { return new Rectangle(center, xExtent, yExtent); } @SuppressWarnings("unused") protected  Rectangle(); private  Rectangle(final IVector2 center, final double xExtent, final double yExtent); protected  Rectangle(final IRectangle rec); }
Rectangle extends ARectangle { public static Rectangle fromCenter(final IVector2 center, final double xExtent, final double yExtent) { return new Rectangle(center, xExtent, yExtent); } @SuppressWarnings("unused") protected  Rectangle(); private  Rectangle(final IVector2 center, final double xExtent, final double yExtent); protected  Rectangle(final IRectangle rec); static Rectangle aroundLine(final IVector2 p0, final IVector2 p1, final double radius); static Rectangle fromLineSegment(final ILineSegment lineSegment); static Rectangle fromPoints(final IVector2 p1, final IVector2 p2); static Rectangle fromCenter(final IVector2 center, final double xExtent, final double yExtent); @Override IRectangle withMargin(final double margin); @Override IRectangle withMarginXy(double xMargin, double yMargin); @Override IRectangle mirror(); @Override double yExtent(); @Override double xExtent(); @Override IVector2 center(); @Override final boolean equals(final Object o); @Override final int hashCode(); @Override String toString(); }
Rectangle extends ARectangle { public static Rectangle fromCenter(final IVector2 center, final double xExtent, final double yExtent) { return new Rectangle(center, xExtent, yExtent); } @SuppressWarnings("unused") protected  Rectangle(); private  Rectangle(final IVector2 center, final double xExtent, final double yExtent); protected  Rectangle(final IRectangle rec); static Rectangle aroundLine(final IVector2 p0, final IVector2 p1, final double radius); static Rectangle fromLineSegment(final ILineSegment lineSegment); static Rectangle fromPoints(final IVector2 p1, final IVector2 p2); static Rectangle fromCenter(final IVector2 center, final double xExtent, final double yExtent); @Override IRectangle withMargin(final double margin); @Override IRectangle withMarginXy(double xMargin, double yMargin); @Override IRectangle mirror(); @Override double yExtent(); @Override double xExtent(); @Override IVector2 center(); @Override final boolean equals(final Object o); @Override final int hashCode(); @Override String toString();  }