java.awt
Class Polygon

java.lang.Object
  |
  +--java.awt.Polygon

public class Polygon
extends Object

A polygon consists of a list of x and y coordinates.


Field Summary
 int npoints
          The total number of points.
 int[] xpoints
          The array of x coordinates.
 int[] ypoints
          The array of y coordinates.
 
Constructor Summary
Polygon()
          Creates an empty polygon.
Polygon(int[] xpoints, int[] ypoints, int npoints)
          Constructs and initializes a Polygon from the specified parameters.
 
Method Summary
 void addPoint(int x, int y)
          Appends a point to a polygon.
 Rectangle getBoundingBox()
          Determines the area spanned by this Polygon.
 boolean inside(int x, int y)
          Determines whether the point (x,y) is inside the Polygon.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

npoints

public int npoints
The total number of points.


xpoints

public int[] xpoints
The array of x coordinates.


ypoints

public int[] ypoints
The array of y coordinates.

Constructor Detail

Polygon

public Polygon()
Creates an empty polygon.


Polygon

public Polygon(int[] xpoints,
               int[] ypoints,
               int npoints)
Constructs and initializes a Polygon from the specified parameters.

Parameters:
xpoints - the array of x coordinates
ypoints - the array of y coordinates
npoints - the total number of points in the Polygon
Method Detail

addPoint

public void addPoint(int x,
                     int y)
Appends a point to a polygon. If inside(x, y) or another operation that calculates the bounding box has already been performed, this method updates the bounds accordingly.

Parameters:
x - the x coordinate of the point
y - the y coordinate of the point

getBoundingBox

public Rectangle getBoundingBox()
Determines the area spanned by this Polygon.

Returns:
a Rectangle defining the bounds of the Polygon.

inside

public boolean inside(int x,
                      int y)
Determines whether the point (x,y) is inside the Polygon. Uses an even-odd insideness rule (also known as an alternating rule).

Parameters:
x - the X coordinate of the point to be tested
y - the Y coordinate of the point to be tested

Based on code by Hanpeter van Vliet .