public class XyRectangle extends java.lang.Object implements XyArea<XyRectangle>
XyRectangles have the usual width and height, are generally (but not necessarily) placed by center, and can be rotated with respect to the axes.
Copyright 2007 Partner Software, Inc.
| Constructor and Description |
|---|
XyRectangle(XyPoint center,
double width,
double height)
Creates a rectangle, oriented with the x, y axes, with the given center
and width and height.
|
XyRectangle(XyPoint center,
XyRotation rotation,
double width,
double height)
Creates a rectangle with the given center, rotation, width, and height.
|
XyRectangle(XyPoint center,
XyRotation rotation,
XySize size)
Creates a rectangle with the given center, rotation, width, and height.
|
XyRectangle(XyPoint center,
XySize size)
Creates a rectangle, oriented with the x, y axes, with the given center
and size.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(XyPoint point)
Tests if a point is inside this area.
|
boolean |
equals(java.lang.Object nother) |
double |
getArea()
Returns the 2-dimensional area covered by this...
|
XyBounds |
getBounds()
Returns an XyBounds object representing the rectangular extents of this
shape.
|
XyPoint |
getCenter()
Center of rectangle.
|
double |
getHeight()
Retangle height (vertical dimension unless there is a rotation).
|
XyPoint |
getNeCorner()
The top-right, or "northeast", corner.
|
XyPoint |
getNwCorner()
The top-left, or "northwest", corner.
|
double |
getPerimeter()
Returns the total length of the lines and/or curves bounding the area.
|
XyRotation |
getRotation()
Angle of rotation relative to the X, Y axes.
|
XyPoint |
getSeCorner()
The bottom-right, or "southeast", corner.
|
XySize |
getSize() |
XyPoint |
getSwCorner()
The bottom-left, or "southwest", corner.
|
double |
getWidth()
Retangle width (horizontal dimension unless there is a rotation).
|
java.util.Iterator<XyPoint> |
iterator() |
static XyRectangle |
placedByCenter(XyPoint point,
double width,
double height)
Creates a new rectangle with the given dimensions whose center is
the given point.
|
static XyRectangle |
placedByCenter(XyPoint point,
XyRotation rotation,
double width,
double height)
Creates a new rectangle with the given rotation and dimensions whose center is
the given point.
|
static XyRectangle |
placedByNeCorner(XyPoint point,
double width,
double height)
Creates a new rectangle with the given dimensions whose "northeast" corner is
the given point.
|
static XyRectangle |
placedByNeCorner(XyPoint point,
XyRotation rotation,
double width,
double height)
Creates a new rectangle with the given rotation and dimensions whose "northeast" corner is
the given point.
|
static XyRectangle |
placedByNwCorner(XyPoint point,
double width,
double height)
Creates a new rectangle with the given dimensions whose "northwest" corner is
the given point.
|
static XyRectangle |
placedByNwCorner(XyPoint point,
XyRotation rotation,
double width,
double height)
Creates a new rectangle with the given rotation and dimensions whose "northwest" corner is
the given point.
|
static XyRectangle |
placedBySeCorner(XyPoint point,
double width,
double height)
Creates a new rectangle with the given dimensions whose "southeast" corner is
the given point.
|
static XyRectangle |
placedBySeCorner(XyPoint point,
XyRotation rotation,
double width,
double height)
Creates a new rectangle with the given rotation and dimensions whose "southeast" corner is
the given point.
|
static XyRectangle |
placedBySwCorner(XyPoint point,
double width,
double height)
Creates a new rectangle with the given dimensions whose "southwest" corner is
the given point.
|
static XyRectangle |
placedBySwCorner(XyPoint point,
XyRotation rotation,
double width,
double height)
Creates a new rectangle with the given rotation and dimensions whose "southwest" corner is
the given point.
|
XyRectangle |
scaledBy(double factor)
Return a scaled version of the shape by multiplying all coordinates by
the given factor in both dimensions.
|
XyPolygon |
toPolygon()
Same as
XyArea.toPolygon(XyAngle) with a default angle granularity of
1/60 circle (1 degree, pi/30 radians). |
XyPolygon |
toPolygon(XyAngle granulartiy)
Converts this area to a polygon which approximates it in some fashion.
|
java.lang.String |
toString() |
XyShape |
transformedBy(XyTransform transform)
Transform the shape using the given transform.
|
XyRectangle |
translatedBy(double offsetX,
double offsetY)
Translate the shape by adding all coordinates to the given x and y
offsets.
|
XyRectangle |
withCenter(XyPoint point)
Returns a modified version of this rectangle, with the same dimensions and rotation but the given center point.
|
XyRectangle |
withNeCorner(XyPoint point)
Returns a modified version of this rectangle, with the same dimensions and rotation but the given "northeast" corner.
|
XyRectangle |
withNwCorner(XyPoint point)
Returns a modified version of this rectangle, with the same dimensions and rotation but the given "northwest" corner.
|
XyRectangle |
withSeCorner(XyPoint point)
Returns a modified version of this rectangle, with the same dimensions and rotation but the given "southeast" corner.
|
XyRectangle |
withSwCorner(XyPoint point)
Returns a modified version of this rectangle, with the same dimensions and rotation but the given "southwest" corner.
|
public XyRectangle(XyPoint center, double width, double height)
public XyRectangle(XyPoint center, XySize size)
public XyRectangle(XyPoint center, XyRotation rotation, XySize size)
public XyRectangle(XyPoint center, XyRotation rotation, double width, double height)
public static XyRectangle placedBySwCorner(XyPoint point, XyRotation rotation, double width, double height)
public static XyRectangle placedBySwCorner(XyPoint point, double width, double height)
public static XyRectangle placedBySeCorner(XyPoint point, XyRotation rotation, double width, double height)
public static XyRectangle placedBySeCorner(XyPoint point, double width, double height)
public static XyRectangle placedByNwCorner(XyPoint point, XyRotation rotation, double width, double height)
public static XyRectangle placedByNwCorner(XyPoint point, double width, double height)
public static XyRectangle placedByNeCorner(XyPoint point, XyRotation rotation, double width, double height)
public static XyRectangle placedByNeCorner(XyPoint point, double width, double height)
public static XyRectangle placedByCenter(XyPoint point, XyRotation rotation, double width, double height)
public static XyRectangle placedByCenter(XyPoint point, double width, double height)
public XyPoint getNwCorner()
public XyPoint getSwCorner()
public XyPoint getNeCorner()
public XyPoint getSeCorner()
public XyRectangle withCenter(XyPoint point)
public XyRectangle withNwCorner(XyPoint point)
public XyRectangle withNeCorner(XyPoint point)
public XyRectangle withSwCorner(XyPoint point)
public XyRectangle withSeCorner(XyPoint point)
public XyBounds getBounds()
XyShapegetBounds in interface XyShape<XyRectangle>public XyRectangle scaledBy(double factor)
XyShapescaledBy in interface XyShape<XyRectangle>factor - scaling factorpublic XyShape transformedBy(XyTransform transform)
XyShapetransformedBy in interface XyShape<XyRectangle>transform - affine transform to apply.public XyRectangle translatedBy(double offsetX, double offsetY)
XyShapetranslatedBy in interface XyShape<XyRectangle>offsetX - offset for the x dimensionoffsetY - offset for the y dimensionpublic java.util.Iterator<XyPoint> iterator()
iterator in interface java.lang.Iterable<XyPoint>public boolean contains(XyPoint point)
XyAreacontains in interface XyArea<XyRectangle>point - point to test for containmentpublic double getArea()
XyAreagetArea in interface XyArea<XyRectangle>public double getPerimeter()
XyAreagetPerimeter in interface XyArea<XyRectangle>public XySize getSize()
public XyPolygon toPolygon()
XyAreaXyArea.toPolygon(XyAngle) with a default angle granularity of
1/60 circle (1 degree, pi/30 radians).toPolygon in interface XyArea<XyRectangle>public XyPolygon toPolygon(XyAngle granulartiy)
XyAreaThe angle parameter allows a certain level of control of the output. Essentially it dictates the minimum angular granularity used to approximate curved paths. For example, a circle would be turned into a polygon by placing points around the circle, separated by the given angle.
toPolygon in interface XyArea<XyRectangle>public java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object nother)
equals in class java.lang.Objectpublic double getWidth()
public double getHeight()
public XyRotation getRotation()
public XyPoint getCenter()