|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Shape
This interface represents an abstract shape. The shape is described by
a PathIterator
, and has callbacks for determining bounding box,
where points and rectangles lie in relation to the shape, and tracing
the trajectory.
A point is inside if it is completely inside, or on the boundary and
adjacent points in the increasing x or y direction are completely inside.
Unclosed shapes are considered as implicitly closed when performing
contains
or intersects
.
PathIterator
,
AffineTransform
,
FlatteningPathIterator
,
GeneralPath
Method Summary | |
---|---|
boolean |
contains(double x,
double y)
Test if the coordinates lie in the shape. |
boolean |
contains(double x,
double y,
double w,
double h)
Test if a high-precision rectangle lies completely in the shape. |
boolean |
contains(Point2D p)
Test if the point lie in the shape. |
boolean |
contains(Rectangle2D r)
Test if a high-precision rectangle lies completely in the shape. |
Rectangle |
getBounds()
Returns a Rectange that bounds the shape. |
Rectangle2D |
getBounds2D()
Returns a high precision bounding box of the shape. |
PathIterator |
getPathIterator(AffineTransform transform)
Return an iterator along the shape boundary. |
PathIterator |
getPathIterator(AffineTransform transform,
double flatness)
Return an iterator along the flattened version of the shape boundary. |
boolean |
intersects(double x,
double y,
double w,
double h)
Test if a high-precision rectangle intersects the shape. |
boolean |
intersects(Rectangle2D r)
Test if a high-precision rectangle intersects the shape. |
Method Detail |
---|
Rectangle getBounds()
Rectange
that bounds the shape. There is no
guarantee that this is the minimum bounding box, particularly if
the shape overflows the finite integer range of a bound. Generally,
getBounds2D
returns a tighter bound.
getBounds2D()
Rectangle2D getBounds2D()
getBounds()
boolean contains(double x, double y)
x
- the x coordinatey
- the y coordinate
boolean contains(Point2D p)
p
- the high-precision point
NullPointerException
- if p is nullboolean intersects(double x, double y, double w, double h)
Area
class can be used for more precise answers.
x
- the x coordinate of the rectangley
- the y coordinate of the rectanglew
- the width of the rectangle, undefined results if negativeh
- the height of the rectangle, undefined results if negative
Area
boolean intersects(Rectangle2D r)
Area
class can be used for more precise answers.
r
- the rectangle
NullPointerException
- if r is nullintersects(double, double, double, double)
boolean contains(double x, double y, double w, double h)
Area
class can be used for more precise answers.
x
- the x coordinate of the rectangley
- the y coordinate of the rectanglew
- the width of the rectangle, undefined results if negativeh
- the height of the rectangle, undefined results if negative
Area
boolean contains(Rectangle2D r)
Area
class can be used for more precise answers.
r
- the rectangle
NullPointerException
- if r is nullcontains(double, double, double, double)
PathIterator getPathIterator(AffineTransform transform)
transform
- an optional transform to apply to the
iterator (null
permitted).
PathIterator getPathIterator(AffineTransform transform, double flatness)
If the optional transform is provided, the iterator is transformed accordingly. Each call returns a new object, independent from others in use. It is recommended, but not required, that the Shape isolate iterations from future changes to the boundary, and document this fact.
transform
- an optional transform to apply to the
iterator (null
permitted).flatness
- the maximum distance for deviation from the real boundary
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |