java.lang.Objectjava.awt.geom.Area
All Implemented Interfaces:
Shape, Cloneable
Area object stores and manipulates a
resolution-independent description of an enclosed area of
2-dimensional space.
Area objects can be transformed and can perform
various Constructive Area Geometry (CAG) operations when combined
with other Area objects.
The CAG operations include area
addition , subtraction ,
intersection , and exclusive or .
See the linked method documentation for examples of the various
operations.
The Area class implements the Shape
interface and provides full support for all of its hit-testing
and path iteration facilities, but an Area is more
specific than a generalized path in a number of ways:
Area objects constructed from unclosed paths
are implicitly closed during construction as if those paths
had been filled by the Graphics2D.fill method.
Area resembles the path from which it was
constructed only in that it describes the same enclosed
2-dimensional area, but may use entirely different types
and ordering of the path segments to do so.
Area include:
Area from an unclosed (open)
Shape results in a closed outline in the
Area object.
Area from a Shape
which encloses no area (even when "closed") produces an
empty Area. A common example of this issue
is that producing an Area from a line will
be empty since the line encloses no area. An empty
Area will iterate no geometry in its
PathIterator objects.
Shape may be split into
two (or more) sub-paths each enclosing one of the
non-intersecting portions of the original path.
Area may take more path segments to
describe the same geometry even when the original
outline is simple and obvious. The analysis that the
Area class must perform on the path may
not reflect the same concepts of "simple and obvious"
as a human being perceives.
1.2 - | Constructor: |
|---|
|
Area class creates an area geometry from the
specified Shape object. The geometry is explicitly
closed, if the Shape is not already closed. The
fill rule (even-odd or winding) specified by the geometry of the
Shape is used to determine the resulting enclosed area.
|
| Method from java.awt.geom.Area Summary: |
|---|
| add, clone, contains, contains, contains, contains, createTransformedArea, equals, exclusiveOr, getBounds, getBounds2D, getPathIterator, getPathIterator, intersect, intersects, intersects, isEmpty, isPolygonal, isRectangular, isSingular, reset, subtract, transform |
| Methods from java.lang.Object: |
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from java.awt.geom.Area Detail: |
|---|
Area to the
shape of this Area.
The resulting shape of this Area will include
the union of both shapes, or all areas that were contained
in either this or the specified Area.
// Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.add(a2); a1(before) + a2 = a1(after) ################ ################ ################ ############## ############## ################ ############ ############ ################ ########## ########## ################ ######## ######## ################ ###### ###### ###### ###### #### #### #### #### ## ## ## ## |
Area object. |
|
|
|
|
Area object that contains the same
geometry as this Area transformed by the specified
AffineTransform. This Area object
is unchanged. |
Area objects
are equal.
This method will return false if the argument is null. |
Area to be the combined area
of its current shape and the shape of the specified Area,
minus their intersection.
The resulting shape of this Area will include
only areas that were contained in either this Area
or in the specified Area, but not in both.
// Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.exclusiveOr(a2); a1(before) xor a2 = a1(after) ################ ################ ############## ############## ## ## ############ ############ #### #### ########## ########## ###### ###### ######## ######## ################ ###### ###### ###### ###### #### #### #### #### ## ## ## ## |
Area.
The Area class will attempt to return the tightest bounding box possible for the Shape. The bounding box will not be padded to include the control points of curves in the outline of the Shape, but should tightly fit the actual geometry of the outline itself. Since the returned object represents the bounding box with integers, the bounding box can only be as tight as the nearest integer coordinates that encompass the geometry of the Shape. |
Area.
The Area class will attempt to return the tightest bounding box possible for the Shape. The bounding box will not be padded to include the control points of curves in the outline of the Shape, but should tightly fit the actual geometry of the outline itself. |
Area object. This Area object is unchanged. |
PathIterator for the flattened outline of
this Area object. Only uncurved path segments
represented by the SEG_MOVETO, SEG_LINETO, and SEG_CLOSE point
types are returned by the iterator. This Area
object is unchanged. |
Area to the intersection of
its current shape and the shape of the specified Area.
The resulting shape of this Area will include
only areas that were contained in both this Area
and also in the specified Area.
// Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.intersect(a2); a1(before) intersect a2 = a1(after) ################ ################ ################ ############## ############## ############ ############ ############ ######## ########## ########## #### ######## ######## ###### ###### #### #### ## ## |
|
|
Area object encloses any area. |
Area consists entirely of
straight edged polygonal geometry. |
Area is rectangular in shape. |
Area is comprised of a single
closed subpath. This method returns true if the
path contains 0 or 1 subpaths, or false if the path
contains more than 1 subpath. The subpaths are counted by the
number of SEG_MOVETO segments
that appear in the path. |
Area and
restores it to an empty area. |
Area from the
shape of this Area.
The resulting shape of this Area will include
areas that were contained only in this Area
and not in the specified Area.
// Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.subtract(a2); a1(before) - a2 = a1(after) ################ ################ ############## ############## ## ############ ############ #### ########## ########## ###### ######## ######## ######## ###### ###### ###### #### #### #### ## ## ## |
Area using the specified
AffineTransform . The geometry is transformed in place, which
permanently changes the enclosed area defined by this object. |