java.awt
public class Polygon extends Object implements Shape, Serializable
There are some public fields; if you mess with them in an inconsistent manner, it is your own fault when you get NullPointerException, ArrayIndexOutOfBoundsException, or invalid results. Also, this class is not threadsafe.
Since: 1.0
UNKNOWN: updated to 1.4
Field Summary | |
---|---|
protected Rectangle | bounds
The bounding box of this polygon. |
int | npoints
This total number of endpoints.
|
int[] | xpoints
The array of X coordinates of endpoints. |
int[] | ypoints
The array of Y coordinates of endpoints. |
Constructor Summary | |
---|---|
Polygon()
Initializes an empty polygon. | |
Polygon(int[] xpoints, int[] ypoints, int npoints)
Create a new polygon with the specified endpoints. |
Method Summary | |
---|---|
void | addPoint(int x, int y)
Adds the specified endpoint to the polygon. |
boolean | contains(Point p)
Tests whether or not the specified point is inside this polygon.
|
boolean | contains(int x, int y)
Tests whether or not the specified point is inside this polygon.
|
boolean | contains(double x, double y)
Tests whether or not the specified point is inside this polygon.
|
boolean | contains(Point2D p)
Tests whether or not the specified point is inside this polygon.
|
boolean | contains(double x, double y, double w, double h)
Test if a high-precision rectangle lies completely in the shape. |
boolean | contains(Rectangle2D r)
Test if a high-precision rectangle lies completely in the shape. |
Rectangle | getBoundingBox()
Returns the bounding box of this polygon. |
Rectangle | getBounds()
Returns the bounding box of this polygon. |
Rectangle2D | getBounds2D()
Returns a high-precision bounding box of this polygon. |
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 | inside(int x, int y)
Tests whether or not the specified point is inside this polygon.
|
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. |
void | invalidate()
Invalidate or flush all cached data. |
void | reset()
Reset the polygon to be empty. |
void | translate(int dx, int dy)
Translates the polygon by adding the specified values to all X and Y
coordinates. |
Serial: the bounding box, or null
See Also: getBounds
Serial: the number of endpoints, possibly less than the array sizes
Serial: the x coordinates
See Also: Polygon
Serial: the y coordinates
See Also: Polygon
Parameters: xpoints the array of X coordinates for this polygon ypoints the array of Y coordinates for this polygon npoints the total number of endpoints in this polygon
Throws: NegativeArraySizeException if npoints is negative IndexOutOfBoundsException if npoints exceeds either array NullPointerException if xpoints or ypoints is null
Parameters: x the X coordinate of the point to add y the Y coordiante of the point to add
Parameters: p the point to test
Returns: true if the point is inside this polygon
Throws: NullPointerException if p is null
See Also: Polygon
Parameters: x the X coordinate of the point to test y the Y coordinate of the point to test
Returns: true if the point is inside this polygon
Since: 1.1
See Also: Polygon
Parameters: x the X coordinate of the point to test y the Y coordinate of the point to test
Returns: true if the point is inside this polygon
Since: 1.2
Parameters: p the point to test
Returns: true if the point is inside this polygon
Throws: NullPointerException if p is null
Since: 1.2
See Also: Polygon
Parameters: x the x coordinate of the rectangle y the y coordinate of the rectangle w the width of the rectangle, treated as point if negative h the height of the rectangle, treated as point if negative
Returns: true if the rectangle is contained in this shape
Since: 1.2
Parameters: r the rectangle
Returns: true if the rectangle is contained in this shape
Throws: NullPointerException if r is null
Since: 1.2
See Also: Polygon
Deprecated: use {@link #getBounds()} instead
Returns the bounding box of this polygon. This is the smallest rectangle with sides parallel to the X axis that will contain this polygon.Returns: the bounding box for this polygon
See Also: getBounds2D
Returns: the bounding box for this polygon
Since: 1.1
See Also: getBounds2D
Returns: the bounding box for this polygon
Since: 1.2
See Also: getBounds
Parameters: transform an optional transform to apply to the iterator
Returns: a new iterator over the boundary
Since: 1.2
Parameters: transform an optional transform to apply to the iterator flatness the maximum distance for deviation from the real boundary
Returns: a new iterator over the boundary
Since: 1.2
Deprecated: use {@link #contains(int, int)} instead
Tests whether or not the specified point is inside this polygon.Parameters: x the X coordinate of the point to test y the Y coordinate of the point to test
Returns: true if the point is inside this polygon
See Also: Polygon
Parameters: x the x coordinate of the rectangle y the y coordinate of the rectangle w the width of the rectangle, treated as point if negative h the height of the rectangle, treated as point if negative
Returns: true if the rectangle intersects this shape
Since: 1.2
Parameters: r the rectangle
Returns: true if the rectangle intersects this shape
Throws: NullPointerException if r is null
Since: 1.2
See Also: Polygon
contains
.
Since: 1.4
See Also: getBounds
Since: 1.4
See Also: invalidate
Parameters: dx the amount to add to all X coordinates dy the amount to add to all Y coordinates
Since: 1.1