Package com.inductiveautomation.rm.base
Class RMRect
java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Rectangle2D
java.awt.geom.Rectangle2D.Double
com.inductiveautomation.rm.base.RMRect
- All Implemented Interfaces:
Shape
,Serializable
,Cloneable
This class extends Rectanlge2D to add some convenient rect methods.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class java.awt.geom.Rectangle2D
Rectangle2D.Double, Rectangle2D.Float
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byte
static final byte
static final byte
static final byte
static final RMRect
static final RMRect
Fields inherited from class java.awt.geom.Rectangle2D.Double
height, width, x, y
Fields inherited from class java.awt.geom.Rectangle2D
OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP
-
Constructor Summary
ConstructorsConstructorDescriptionRMRect()
Creates an empty rect.RMRect
(double x, double y, double w, double h) Creates a rect with the given x, y, width and height (doubles).Creates a rect enclosing the given array of points.RMRect
(Rectangle2D aRect) Creates a rect from an awt rect. -
Method Summary
Modifier and TypeMethodDescriptionclone()
Standard clone implementation.boolean
containsRect
(RMRect aRect) Returns whether the receiver contains the given rect.divideRect
(double anAmount, byte anEdge) Slices rect by given amount (from given edge) - returns remainder.divideRect
(double anAmount, byte anEdge, RMRect aRmndr) Slices rect by given amount (from given edge) - returns remainder.static RMRect
fromXMLString
(String aString) Creates a rect from an String in XML format as defined in toXMLString().getCorraledRect
(RMRect aRect, float anInset) Returns the given rect moved, if needed, to be contained by this rect.int
getHitEdges
(Point2D aPoint, double aRadius) Returns the mask of edges hit by the given point.double
getMidX()
Returns the x mid-point of the rect.double
getMidY()
Returns the y mid-point of the rect.Returns the origin of the rect as an RMPoint.getPerimeterPointForRadial
(double anAngle, boolean doEllipse) Returns the point on the rectangle's perimeter that is intersected by a radial at the given angle from the center of the rect.RMPoint[]
Returns an array of four points containing each corner of the rect.inset
(double anInset) Insets the receiver rect by the given amount.inset
(double xInset, double yInset) Insets the receiver rect by the given amount.insetRect
(double anInset) Creates a rect derived from the receiver inset by the given amount.insetRect
(double xInset, double yInset) Creates a rect derived from the receiver inset by the given amount.Returns the rect formed by the area overlapping with the given rect.boolean
intersectsRect
(RMRect aRect) Returns whether the receiver intersects with the given rect.boolean
intersectsRectEvenIfEmpty
(RMRect aRect) Returns whether the receiver intersects with the given rect.offset
(double dx, double dy) Offsets the receiver by the given x & y.offsetRect
(double dx, double dy) Creates a rect derived by offsetting the receiver by the given x & y.scale
(double anAmount) Scales the receiver rect by the given amount.scaledRect
(double anAmount) Creates a rect derived from the receiver scaled by the given amount.void
setHitEdges
(Point2D aPoint, int anEdgeMask) Resets the edges of a rect, given a mask of edges and a new point.setOrigin
(double x, double y) Sets the origin of the rect.Creates a rect representing the largest square inside rect.toString()
Returns a String reprsentation of this rect.Returns an XML string representation of this rect.void
Unions the receiver rect with the given rect.void
Unions the receiver rect with the given rect.Creates a rect encompassing the receiver and the given rect.boolean
Returns whether the receiver intersects with the given rect (horizontally only).Methods inherited from class java.awt.geom.Rectangle2D.Double
createIntersection, createUnion, getBounds2D, getHeight, getWidth, getX, getY, isEmpty, outcode, setRect, setRect
Methods inherited from class java.awt.geom.Rectangle2D
add, add, add, contains, contains, equals, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, union
Methods inherited from class java.awt.geom.RectangularShape
contains, contains, getBounds, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
-
Field Details
-
zeroRect
-
unitRect
-
MinXEdge
public static final byte MinXEdge- See Also:
-
MinYEdge
public static final byte MinYEdge- See Also:
-
MaxXEdge
public static final byte MaxXEdge- See Also:
-
MaxYEdge
public static final byte MaxYEdge- See Also:
-
-
Constructor Details
-
RMRect
public RMRect()Creates an empty rect. -
RMRect
public RMRect(double x, double y, double w, double h) Creates a rect with the given x, y, width and height (doubles). -
RMRect
Creates a rect enclosing the given array of points. -
RMRect
Creates a rect from an awt rect.
-
-
Method Details
-
getOrigin
Returns the origin of the rect as an RMPoint. -
setOrigin
Sets the origin of the rect. -
getMidX
public double getMidX()Returns the x mid-point of the rect. -
getMidY
public double getMidY()Returns the y mid-point of the rect. -
union
Unions the receiver rect with the given rect. -
unionRect
Creates a rect encompassing the receiver and the given rect. -
unionEvenIfEmpty
Unions the receiver rect with the given rect. -
intersectsRect
Returns whether the receiver intersects with the given rect. -
intersectsRectEvenIfEmpty
Returns whether the receiver intersects with the given rect. -
intersectedRect
Returns the rect formed by the area overlapping with the given rect. -
widthsIntersect
Returns whether the receiver intersects with the given rect (horizontally only). -
offset
Offsets the receiver by the given x & y. -
offsetRect
Creates a rect derived by offsetting the receiver by the given x & y. -
squareRectInRect
Creates a rect representing the largest square inside rect. -
containsRect
Returns whether the receiver contains the given rect. -
getPoints
Returns an array of four points containing each corner of the rect. -
inset
Insets the receiver rect by the given amount. -
inset
Insets the receiver rect by the given amount. -
insetRect
Creates a rect derived from the receiver inset by the given amount. -
insetRect
Creates a rect derived from the receiver inset by the given amount. -
getHitEdges
Returns the mask of edges hit by the given point. -
setHitEdges
Resets the edges of a rect, given a mask of edges and a new point. -
divideRect
Slices rect by given amount (from given edge) - returns remainder. -
divideRect
Slices rect by given amount (from given edge) - returns remainder. -
scale
Scales the receiver rect by the given amount. -
scaledRect
Creates a rect derived from the receiver scaled by the given amount. -
getPerimeterPointForRadial
Returns the point on the rectangle's perimeter that is intersected by a radial at the given angle from the center of the rect. Zero degrees is at the 3 o'clock position.- Parameters:
anAngle
- Angle in degrees.doEllipse
- Whether to scale radials into ellipse or leave them normal.- Returns:
- Returns point on perimeter of rect intersected by radial at given angle.
-
getCorraledRect
Returns the given rect moved, if needed, to be contained by this rect. -
toString
Returns a String reprsentation of this rect.- Overrides:
toString
in classRectangle2D.Double
-
toXMLString
Returns an XML string representation of this rect. -
fromXMLString
Creates a rect from an String in XML format as defined in toXMLString(). -
clone
Standard clone implementation.- Overrides:
clone
in classRectangularShape
-