JHotDraw 7.2

org.jhotdraw.geom
Class Polygon2D.Float

java.lang.Object
  extended by org.jhotdraw.geom.Polygon2D
      extended by org.jhotdraw.geom.Polygon2D.Float
All Implemented Interfaces:
java.awt.Shape, java.io.Serializable, java.lang.Cloneable
Enclosing class:
Polygon2D

public static class Polygon2D.Float
extends Polygon2D
implements java.io.Serializable

The Float class defines a polygon with coordinates stored in float precision floating point.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.jhotdraw.geom.Polygon2D
Polygon2D.Double, Polygon2D.Float
 
Field Summary
protected  java.awt.geom.Rectangle2D.Float bounds
          The bounds of this Polygon.
 float[] xpoints
          The array of X coordinates.
 float[] ypoints
          The array of Y coordinates.
 
Fields inherited from class org.jhotdraw.geom.Polygon2D
npoints
 
Constructor Summary
Polygon2D.Float()
           
Polygon2D.Float(float[] xpoints, float[] ypoints, int npoints)
          Constructs and initializes a Polygon from the specified parameters.
 
Method Summary
 void addPoint(double x, double y)
          Appends the specified coordinates to this Polygon.
 void addPoint(float x, float y)
           
 boolean contains(double x, double y)
          
 boolean contains(double x, double y, double w, double h)
          
 boolean contains(float x, float y)
           
 boolean contains(float x, float y, float w, float h)
           
 java.awt.Rectangle getBounds()
          Gets the bounding box of this Polygon.
 java.awt.geom.Rectangle2D getBounds2D()
          
 java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at)
          Returns an iterator object that iterates along the boundary of this Polygon and provides access to the geometry of the outline of this Polygon.
 boolean intersects(double x, double y, double w, double h)
          
 boolean intersects(float x, float y, float w, float h)
           
 void invalidate()
          Invalidates or flushes any internally-cached data that depends on the vertex coordinates of this Polygon.
 void translate(double deltaX, double deltaY)
          Translates the vertices of the Polygon by deltaX along the x axis and by deltaY along the y axis.
 void translate(float deltaX, float deltaY)
           
 
Methods inherited from class org.jhotdraw.geom.Polygon2D
add, contains, contains, contains, contains, getPathIterator, inside, intersects, reset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

xpoints

public float[] xpoints
The array of X coordinates. The number of elements in this array might be more than the number of X coordinates in this Polygon. The extra elements allow new points to be added to this Polygon without re-creating this array. The value of npoints is equal to the number of valid points in this Polygon.


ypoints

public float[] ypoints
The array of Y coordinates. The number of elements in this array might be more than the number of Y coordinates in this Polygon. The extra elements allow new points to be added to this Polygon without re-creating this array. The value of npoints is equal to the number of valid points in this Polygon.


bounds

protected java.awt.geom.Rectangle2D.Float bounds
The bounds of this Polygon. This value can be null.

Constructor Detail

Polygon2D.Float

public Polygon2D.Float()

Polygon2D.Float

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

Parameters:
xpoints - an array of X coordinates
ypoints - an array of Y coordinates
npoints - the total number of points in the Polygon
Throws:
java.lang.NegativeArraySizeException - if the value of npoints is negative.
java.lang.IndexOutOfBoundsException - if npoints is greater than the length of xpoints or the length of ypoints.
java.lang.NullPointerException - if xpoints or ypoints is null.
Method Detail

translate

public void translate(double deltaX,
                      double deltaY)
Translates the vertices of the Polygon by deltaX along the x axis and by deltaY along the y axis.

Specified by:
translate in class Polygon2D
Parameters:
deltaX - the amount to translate along the X axis
deltaY - the amount to translate along the Y axis

translate

public void translate(float deltaX,
                      float deltaY)

invalidate

public void invalidate()
Description copied from class: Polygon2D
Invalidates or flushes any internally-cached data that depends on the vertex coordinates of this Polygon. This method should be called after any direct manipulation of the coordinates in the xpoints or ypoints arrays to avoid inconsistent results from methods such as getBounds or contains that might cache data from earlier computations relating to the vertex coordinates.

Specified by:
invalidate in class Polygon2D
See Also:
Polygon.getBounds()

contains

public boolean contains(double x,
                        double y)
Description copied from class: Polygon2D

Specified by:
contains in interface java.awt.Shape
Specified by:
contains in class Polygon2D

contains

public boolean contains(float x,
                        float y)

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
Description copied from class: Polygon2D

Specified by:
intersects in interface java.awt.Shape
Specified by:
intersects in class Polygon2D

intersects

public boolean intersects(float x,
                          float y,
                          float w,
                          float h)

addPoint

public void addPoint(double x,
                     double y)
Description copied from class: Polygon2D
Appends the specified coordinates to this Polygon.

If an operation that calculates the bounding box of this Polygon has already been performed, such as getBounds or contains, then this method updates the bounding box.

Specified by:
addPoint in class Polygon2D
Parameters:
x - the specified X coordinate
y - the specified Y coordinate
See Also:
Polygon.getBounds(), Polygon.contains(java.awt.Point)

addPoint

public void addPoint(float x,
                     float y)

getBounds

public java.awt.Rectangle getBounds()
Description copied from class: Polygon2D
Gets the bounding box of this Polygon. The bounding box is the smallest Rectangle whose sides are parallel to the x and y axes of the coordinate space, and can completely contain the Polygon.

Specified by:
getBounds in interface java.awt.Shape
Overrides:
getBounds in class Polygon2D
Returns:
a Rectangle that defines the bounds of this Polygon.

getBounds2D

public java.awt.geom.Rectangle2D getBounds2D()
Description copied from class: Polygon2D

Specified by:
getBounds2D in interface java.awt.Shape
Specified by:
getBounds2D in class Polygon2D

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
Description copied from class: Polygon2D

Specified by:
contains in interface java.awt.Shape
Specified by:
contains in class Polygon2D

contains

public boolean contains(float x,
                        float y,
                        float w,
                        float h)

getPathIterator

public java.awt.geom.PathIterator getPathIterator(java.awt.geom.AffineTransform at)
Description copied from class: Polygon2D
Returns an iterator object that iterates along the boundary of this Polygon and provides access to the geometry of the outline of this Polygon. An optional AffineTransform can be specified so that the coordinates returned in the iteration are transformed accordingly.

Specified by:
getPathIterator in interface java.awt.Shape
Specified by:
getPathIterator in class Polygon2D
Parameters:
at - an optional AffineTransform to be applied to the coordinates as they are returned in the iteration, or null if untransformed coordinates are desired
Returns:
a PathIterator object that provides access to the geometry of this Polygon.

Copyright 1996-2009 (c) by the authors and contributors of the JHotDraw project.
Some rights reserved.