Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
java.awt.geom.Area
The contains and intersects() methods are also more accurate than the specification of #Shape requires.
Please note that constructing an Area can be slow (Self-intersection resolving is proportional to the square of the number of segments).
add(Area)
, subtract(Area)
, intersect(Area)
, exclusiveOr(Area)
Constructor Summary | |
| |
Method Summary | |
void | |
Object |
|
boolean |
|
boolean |
|
boolean | |
boolean |
|
Area |
|
boolean | |
void |
|
Rectangle |
|
Rectangle2D |
|
PathIterator |
|
PathIterator |
|
void | |
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
void |
|
void | |
void |
|
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public Area(Shape s)
Constructs an Area from any given Shape.If the Shape is self-intersecting, the created Area will consist of non-self-intersecting subpaths, and any inner paths which are found redundant in accordance with the Shape's winding rule will not be included.
- Parameters:
s
- the shape (null
not permitted).
- Throws:
NullPointerException
- ifs
isnull
.
public void add(Area area)
Performs an add (union) operation on this area with another Area.
- Parameters:
area
- - the area to be unioned with this one
public Object clone()
Create a new area of the same run-time type with the same contents as this one.
- Returns:
- the clone
public boolean contains(double x, double y)
Determines if the point (x,y) is contained within this Area.
- Parameters:
x
- the x-coordinate of the point.y
- the y-coordinate of the point.
- Returns:
- true if the point is contained, false otherwise.
public boolean contains(double x, double y, double w, double h)
Determines if the rectangle specified by (x,y) as the upper-left and with width w and height h is completely contained within this Area, returns false otherwise.This method should always produce the correct results, unlike for other classes in geom.
- Parameters:
x
- the x-coordinate of the rectangle.y
- the y-coordinate of the rectangle.w
- the width of the the rectangle.h
- the height of the rectangle.
- Returns:
true
if the rectangle is considered contained
public boolean contains(Point2D p)
Determines if the Point2D p is contained within this Area.
- Parameters:
p
- the point.
- Returns:
true
if the point is contained,false
otherwise.
- Throws:
NullPointerException
- ifp
isnull
.
public boolean contains(Rectangle2D r)
Determines if the Rectangle2D specified by r is completely contained within this Area, returns false otherwise.This method should always produce the correct results, unlike for other classes in geom.
- Parameters:
r
- the rectangle.
- Returns:
true
if the rectangle is considered contained
- Throws:
NullPointerException
- ifr
isnull
.
public Area createTransformedArea(AffineTransform at)
Returns a new Area equal to this one, transformed by the AffineTransform at.
- Parameters:
at
- the transform.
- Returns:
- the transformed area
- Throws:
NullPointerException
- ifat
isnull
.
public boolean equals(Area area)
Compares two Areas.
- Parameters:
area
- the area to compare against this area (null
permitted).
- Returns:
true
if the areas are equal, andfalse
otherwise.
public void exclusiveOr(Area area)
Performs an exclusive-or operation on this Area.
- Parameters:
area
- - the area to be XORed with this area.
- Throws:
NullPointerException
- ifarea
isnull
.
public Rectangle getBounds()
Returns the bounds of this object in Rectangle format. Please note that this may lead to loss of precision.
- Returns:
- The bounds.
- See Also:
getBounds2D()
public Rectangle2D getBounds2D()
Returns the bounding box of the Area.Unlike the CubicCurve2D and QuadraticCurve2D classes, this method will return the tightest possible bounding box, evaluating the extreme points of each curved segment.
- Specified by:
- getBounds2D in interface Shape
- Returns:
- the bounding box
public PathIterator getPathIterator(AffineTransform at)
Returns a PathIterator object defining the contour of this Area, transformed by at.
- Specified by:
- getPathIterator in interface Shape
- Parameters:
at
- the transform.
- Returns:
- A path iterator.
public PathIterator getPathIterator(AffineTransform at, double flatness)
Returns a flattened PathIterator object defining the contour of this Area, transformed by at and with a defined flatness.
- Specified by:
- getPathIterator in interface Shape
- Parameters:
at
- the transform.flatness
- the flatness.
- Returns:
- A path iterator.
public void intersect(Area area)
Performs an intersection operation on this Area.
- Parameters:
area
- - the area to be intersected with this area.
- Throws:
NullPointerException
- ifarea
isnull
.
public boolean intersects(double x, double y, double w, double h)
Determines if the rectangle specified by (x,y) as the upper-left and with width w and height h intersects any part of this Area.
- Specified by:
- intersects in interface Shape
- Parameters:
x
- the x-coordinate for the rectangle.y
- the y-coordinate for the rectangle.w
- the width of the rectangle.h
- the height of the rectangle.
- Returns:
true
if the rectangle intersects the area,false
otherwise.
public boolean intersects(Rectangle2D r)
Determines if the Rectangle2D specified by r intersects any part of this Area.
- Specified by:
- intersects in interface Shape
- Parameters:
r
- the rectangle to test intersection with (null
not permitted).
- Returns:
true
if the rectangle intersects the area,false
otherwise.
- Throws:
NullPointerException
- ifr
isnull
.
public boolean isEmpty()
Returns whether this area encloses any area.
- Returns:
- true if the object encloses any area.
public boolean isPolygonal()
Determines whether the Area consists entirely of line segments
- Returns:
- true if the Area lines-only, false otherwise
public boolean isRectangular()
Determines if the Area is rectangular.This is strictly qualified. An area is considered rectangular if:
It consists of a single polygonal path.
It is oriented parallel/perpendicular to the xy axis
It must be exactly rectangular, i.e. small errors induced by transformations may cause a false result, although the area is visibly rectangular.
- Returns:
- true if the above criteria are met, false otherwise
public boolean isSingular()
Returns whether the Area consists of more than one simple (non self-intersecting) subpath.
- Returns:
- true if the Area consists of none or one simple subpath, false otherwise.
public void subtract(Area area)
Performs a subtraction operation on this Area.
- Parameters:
area
- the area to be subtracted from this area.
- Throws:
NullPointerException
- ifarea
isnull
.
public void transform(AffineTransform at)
Transforms this area by the AffineTransform at.
- Parameters:
at
- the transform.